[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] FW: qemu-ppc core dumps randomly on postgresql thread safet
From: |
Rengert, Mark |
Subject: |
[Qemu-devel] FW: qemu-ppc core dumps randomly on postgresql thread safety test |
Date: |
Fri, 6 Jan 2012 07:37:09 -0500 |
Hi -
I was instructed to forward this bug report to address@hidden
-- Mark Rengert
-----Original Message-----
From: Rengert, Mark
Sent: Thursday, January 05, 2012 5:26 PM
To: 'address@hidden'
Subject: qemu-ppc core dumps randomly on postgresql thread safety test
Hi -
I am using scratchbox2 under Ubuntu 10.04 to build postgresql for ppc. About
half the time the configuration test for thread safety fails with a qemu-ppc
coredump. It fails less often when QEMU_STRACE is defined but it still fails
sometimes. It appears to happen in the pthread_join() call, I think.
Here is the info requested on the KVM bug report webpage
(http://www.linux-kvm.org/page/Bugs):
CPU model: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
Host kernel: Linux florida 2.6.32-36-generic-pae #79-Ubuntu SMP Tue Nov 8
23:25:26 UTC 2011 i686 GNU/Linux
Guest: via "sb2 -t powerpc-unknown-linux-gnu"
Qemu command: (generated by scratchbox) "/usr/bin/qemu-ppc -U LD_PRELOAD -L /
-0 ./conftest ./conftest"
Whether problem happens with -no-kvm, -no-kvm-irqchip, -no-kvm-pit: Not sure,
qemu-ppc does not accept these.
Scratchbox2 version: 2.0-lta101
Qemu version: qemu-ppc version 0.12.3 (qemu-kvm-0.12.3), Copyright (c)
2003-2008 Fabrice Bellard
Ubuntu package: qemu-kvm-extras 0.12.3+noroms-0ubuntu9.16 (latest version
available for Ubuntu 10.04)
The "conftest" in question is generated from conftest.c (attached) by the
following command within scratchbox:
sb2-ppc$ gcc -o conftest -O2 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv
-pthread -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS -DIN_CONFIGURE
-D_GNU_SOURCE conftest.c -lcrypt -ldl -lm -lpthread
I can run it manually outside configure by:
sb2-ppc$ ./conftest 5>&1
Your errno is thread-safe.
Your system has sterror_r(); it does not need strerror().
Your system has getpwuid_r(); it does not need getpwuid().
Your system has getaddrinfo(); it does not need gethostbyname()
or gethostbyname_r().
Your platform is thread-safe.
sb2-ppc$ ./conftest 5>&1
Your errno is thread-safe.
/build/buildd/qemu-kvm-0.12.3+noroms/tcg/tcg.c:133: tcg fatal error
Aborted (core dumped)
sb2-ppc$
I also ran it with QEMU_STRACE=1 defined, the results are attached (strace.txt)
sb2-ppc$ ./conftest 5> strace.txt 2>&5 ; ls core
ls: cannot access core: No such file or directory
sb2-ppc$ ./conftest 5> strace.txt 2>&5 ; ls core
ls: cannot access core: No such file or directory
sb2-ppc$ ./conftest 5> strace.txt 2>&5 ; ls core
Aborted (core dumped)
core
sb2-ppc$
Gdb data on the core file:
$ gdb /usr/bin/qemu-ppc --core=build/powerpc-unknown-linux-gnu/postgres/core
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/qemu-ppc...(no debugging symbols found)...done.
[New Thread 29280]
[New Thread 29282]
[New Thread 29281]
warning: Can't read pathname for load map: Input/output error.
Reading symbols from /usr/lib/libsb2/libsb2.so.1...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libsb2/libsb2.so.1
Reading symbols from /lib/tls/i686/cmov/librt.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib/tls/i686/cmov/librt.so.1
Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...(no debugging symbols
found)...done.
Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0
Reading symbols from /lib/libaio.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libaio.so.1
Reading symbols from /lib/tls/i686/cmov/libm.so.6...(no debugging symbols
found)...done.
Loaded symbols for /lib/tls/i686/cmov/libm.so.6
Reading symbols from /lib/tls/i686/cmov/libc.so.6...(no debugging symbols
found)...done.
Loaded symbols for /lib/tls/i686/cmov/libc.so.6
Reading symbols from /lib/tls/i686/cmov/libdl.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib/tls/i686/cmov/libdl.so.2
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
Core was generated by `/usr/bin/qemu-ppc -U LD_PRELOAD -L / -0 ./conftest
./conftest'.
Program terminated with signal 6, Aborted.
#0 0xb75d4181 in _IO_file_write () from /lib/tls/i686/cmov/libc.so.6
(gdb) bt
#0 0xb75d4181 in _IO_file_write () from /lib/tls/i686/cmov/libc.so.6
#1 0xb75d3e4f in ?? () from /lib/tls/i686/cmov/libc.so.6
#2 0xb75d4116 in _IO_file_xsputn () from /lib/tls/i686/cmov/libc.so.6
#3 0xb75aef58 in ?? () from /lib/tls/i686/cmov/libc.so.6
#4 0xb75a9e13 in vfprintf () from /lib/tls/i686/cmov/libc.so.6
#5 0x60005901 in ?? ()
#6 0x6001466f in ?? ()
#7 0x6000a012 in ?? ()
#8 0x60003b89 in ?? ()
#9 0x600051da in ?? ()
#10 0xb7583bd6 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#11 0x60003311 in ?? ()
(gdb) info threads
3 Thread 29281 0xb76f7f5b in pthread_mutex_lock ()
from /lib/tls/i686/cmov/libpthread.so.0
2 Thread 29282 0xb777e430 in __kernel_vsyscall ()
* 1 Thread 29280 0xb75d4181 in _IO_file_write () from
/lib/tls/i686/cmov/libc.so.6
(gdb) thread 1
[Switching to thread 1 (Thread 29280)]#0 0xb75d4181 in _IO_file_write ()
from /lib/tls/i686/cmov/libc.so.6
(gdb) bt
#0 0xb75d4181 in _IO_file_write () from /lib/tls/i686/cmov/libc.so.6
#1 0xb75d3e4f in ?? () from /lib/tls/i686/cmov/libc.so.6
#2 0xb75d4116 in _IO_file_xsputn () from /lib/tls/i686/cmov/libc.so.6
#3 0xb75aef58 in ?? () from /lib/tls/i686/cmov/libc.so.6
#4 0xb75a9e13 in vfprintf () from /lib/tls/i686/cmov/libc.so.6
#5 0x60005901 in ?? ()
#6 0x6001466f in ?? ()
#7 0x6000a012 in ?? ()
#8 0x60003b89 in ?? ()
#9 0x600051da in ?? ()
#10 0xb7583bd6 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#11 0x60003311 in ?? ()
(gdb) thread 2
[Switching to thread 2 (Thread 29282)]#0 0xb777e430 in __kernel_vsyscall ()
(gdb) bt
#0 0xb777e430 in __kernel_vsyscall ()
#1 0xb7597a5e in sigsuspend () from /lib/tls/i686/cmov/libc.so.6
#2 0x60015e90 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) thread 3
[Switching to thread 3 (Thread 29281)]#0 0xb76f7f5b in pthread_mutex_lock ()
from /lib/tls/i686/cmov/libpthread.so.0
(gdb) bt
#0 0xb76f7f5b in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#1 0x6001ffb1 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)
conftest.c
Description: conftest.c
strace.txt
Description: strace.txt
- [Qemu-devel] FW: qemu-ppc core dumps randomly on postgresql thread safety test,
Rengert, Mark <=