Comment 3 for bug 1278977

Revision history for this message
wbx (k-mail-n) wrote :

Hi,

my linux system boots up fine in the emulator, but when I try to extract perl source code it just hangs after a while:
..
perl-5.18.1/cpan/Pod-Simple/t/basic.t
perl-5.18.1/cpan/Pod-Simple/t/begin.t
perl-5.18.1/cpan/Pod-Simple/t/cbacks.t
perl-5.18.1/cpan/Pod-Simple/t/chunking.t

no further console output. When I restart qemu-system-sparc64 it hangs again, but on other files.
The process of qemu-system-sparc64 is still running. Strace shows something like this in endless manner:
150 tgkill(20150, 20705, SIGUSR1) = 0
20150 futex(0x7feca6f87400, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
20705 --- SIGUSR1 (User defined signal 1) @ 0 (0) ---
20705 rt_sigreturn(0x7feca78d9150) = 16777216
20705 futex(0x7feca6f87400, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
20150 <... futex resumed> ) = 0
20150 futex(0x7feca6f873c0, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
20705 <... futex resumed> ) = 1
20705 futex(0x7feca6f873c0, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
20150 <... futex resumed> ) = 0
20150 futex(0x7feca6f873c0, FUTEX_WAKE_PRIVATE, 1) = 0
20150 futex(0x7feca6f873c4, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7feca6f87400, 129702) = 0
20150 clock_gettime(CLOCK_MONOTONIC, {24909511, 655710718}) = 0
20150 clock_gettime(CLOCK_MONOTONIC, {24909511, 655710718}) = 0
20150 clock_gettime(CLOCK_MONOTONIC, {24909511, 655710718}) = 0
20150 clock_gettime(CLOCK_MONOTONIC, {24909511, 655710718}) = 0
20150 gettimeofday({1392836771, 784958}, NULL) = 0
20150 futex(0x7feca6f87400, FUTEX_WAKE_PRIVATE, 1) = 0
20150 ppoll([{fd=3, events=POLLIN|POLLERR|POLLHUP}, {fd=5, events=POLLIN}, {fd=0, events=POLLIN}, {fd=7, events=POLLIN}, {fd=4, events=POLLIN}], 5, {1, 0}, NULL, 8 <unfinished ...>
20705 <... futex resumed> ) = 1
20705 futex(0x7feca6f873c4, FUTEX_WAIT_PRIVATE, 129701, NULL) = -1 EAGAIN (Resource temporarily unavailable)
20705 clock_gettime(CLOCK_MONOTONIC, {24909511, 655710718}) = 0
20705 clock_gettime(CLOCK_MONOTONIC, {24909511, 655710718}) = 0
20705 clock_gettime(CLOCK_MONOTONIC, {24909511, 655710718}) = 0
20705 clock_gettime(CLOCK_MONOTONIC, {24909511, 655710718}) = 0
20705 clock_gettime(CLOCK_MONOTONIC, {24909511, 655710718}) = 0
20705 clock_gettime(CLOCK_MONOTONIC, {24909511, 655710718}) = 0
20705 write(4, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
20150 <... ppoll resumed> ) = 1 ([{fd=4, revents=POLLIN}], left {1, 0})
20150 tgkill(20150, 20705, SIGUSR1) = 0
20150 futex(0x7feca6f87400, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
20705 <... write resumed> ) = 8
20705 --- SIGUSR1 (User defined signal 1) @ 0 (0) ---

Looks like some kind of deadlock between two qemu-system-sparc64 threads.
Anything I doing wrong?

Best regards
 Waldemar