qemu-devel
[Top][All Lists]
Advanced

[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)

Attachment: conftest.c
Description: conftest.c

Attachment: strace.txt
Description: strace.txt


reply via email to

[Prev in Thread] Current Thread [Next in Thread]