[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1098729] Re: qemu-user-static for armhf: segfault in t
From: |
Andrea Mazzoleni |
Subject: |
[Qemu-devel] [Bug 1098729] Re: qemu-user-static for armhf: segfault in threaded code |
Date: |
Thu, 11 Feb 2016 16:55:16 -0000 |
I can confirm that building QEMU 2.5.0 from source, all the multi-thread
issues seem to be fixed.
Specifically, the mentioned dotprod_mutex.c example, even when modified
to use 100 threads, is always running in the qemu-arm User mode
emulator.
Tested in Ubuntu 14.04 x86_64, with all the updates installed.
Note that instead the QEMU 2.0.0 from the Ubuntu 14.04 repository is
having issues even when using workarounds like running it with "taskset
0x1" to force the execution to a single CPU.
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1098729
Title:
qemu-user-static for armhf: segfault in threaded code
Status in QEMU:
Confirmed
Bug description:
Currently running QEMU from git (fedf2de31023) and running the armhf version
of qemu-user-static which I have renamed qemu-armhf-static to follow the naming
convention used in Debian.
The host systems is a Debian testing x86_64-linux and I have an Debian
testing armhf chroot which I invoke using schroot.
Majority of program in the armhf chroot run fine, but I'm getting qemu
segfaults in multi-threaded programs.
As an example, I've grabbed the threads demo program here:
https://computing.llnl.gov/tutorials/pthreads/samples/dotprod_mutex.c
and changed NUMTHRDS from 4 to 10. I compile it as (same compile
command on both x86_64 host and armhf guest):
gcc -Wall -lpthread dotprod_mutex.c -o dotprod_mutex
When compiled for x86_64 host it runs perfectly and even under
Valgrind displays no errors whatsoever.
However, when I compile the program in my armhs chroot and run it it
usually (but not always) segaults or hangs or crashes. Example output:
(armhf) $ ./dotprod_mutex
Thread 1 did 100000 to 200000: mysum=100000.000000 global
sum=100000.000000
Thread 0 did 0 to 100000: mysum=100000.000000 global sum=200000.000000
TCG temporary leak before f6731ca0
qemu-arm-static:
/home/erikd/Git/qemu-posix-timer-hacking/Upstream/tcg/tcg-op.h:2371:
tcg_gen_goto_tb: Assertion `(tcg_ctx.goto_tb_issue_mask & (1 << idx)) ==
0' failed.
(armhf) $ ./dotprod_mutex
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault
(armhf) $ ./dotprod_mutex
qemu-arm-static:
/home/erikd/Git/qemu-posix-timer-hacking/Upstream/tcg/tcg.c:519:
tcg_temp_free_internal: Assertion `idx >= s->nb_globals && idx <
s->nb_temps' failed.
(armhf) $ ./dotprod_mutex
Thread 1 did 100000 to 200000: mysum=100000.000000 global
sum=100000.000000
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1098729/+subscriptions
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [Bug 1098729] Re: qemu-user-static for armhf: segfault in threaded code,
Andrea Mazzoleni <=