qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aamir.moham...@aon.ca
Subject Re: FieldTable decoding not working on ppc64?
Date Mon, 24 Nov 2008 19:40:47 GMT

I tried it with QPID revision 720246 (2008-11-24 13:18:04). Below is the 
output from running the listener program itself as well as the gdb 
backtrace. To reproduce this error, I first run the listener and THEN add 
one message to the queue using direct_provider. Please see my comments 
after the backtrace for further information:

[developer01@catoruxacm14 direct]$ .libs/lt-listener
*** glibc detected *** .libs/lt-listener: malloc(): memory corruption: 
0xf7e914de ***
======= Backtrace: =========
======= Memory map: ========
00100000-00120000 r-xp 00100000 00:00 0 [vdso]
0ed10000-0ee30000 r-xp 00000000 00:13 186318952 
0ee30000-0ee40000 r--p 00110000 00:13 186318952 
0ee40000-0ee50000 rw-p 00120000 00:13 186318952 
0eef0000-0ef10000 r-xp 00000000 00:13 167282020 
0ef10000-0ef20000 rw-p 00010000 00:13 167282020 
0fa20000-0fa30000 r-xp 00000000 00:13 186319916 
0fa30000-0fa40000 rw-p 00000000 00:13 186319916 
0fa50000-0fa60000 r-xp 00000000 00:13 167281972 /lib/librt-2.5.so
0fa60000-0fa70000 r--p 00000000 00:13 167281972 /lib/librt-2.5.so
0fa70000-0fa80000 rw-p 00010000 00:13 167281972 /lib/librt-2.5.so
0fb50000-0fb70000 r-xp 00000000 00:13 186319898 
0fb70000-0fb80000 rw-p 00010000 00:13 186319898 
0fb90000-0fbd0000 r-xp 00000000 00:13 186319904 
0fbd0000-0fbe0000 rw-p 00030000 00:13 186319904 
0fbf0000-0fe80000 r-xp 00000000 00:17 14521032 
0fe80000-0fea0000 rw-p 00280000 00:17 14521032 
0feb0000-0ffa0000 r-xp 00000000 00:17 14521045 
0ffa0000-0ffb0000 rw-p 000e0000 00:17 14521045 
0ffc0000-0ffe0000 r-xp 00000000 00:13 167281991 /lib/ld-2.5.so
0ffe0000-0fff0000 r--p 00010000 00:13 167281991 /lib/ld-2.5.so
0fff0000-10000000 rw-p 00020000 00:13 167281991 /lib/ld-2.5.so
10000000-10010000 r-xp 00000000 00:17 14618816 
10010000-10020000 rw-p 00000000 00:17 14618816 
10020000-10260000 rwxp 10020000 00:00 0 [heap]
f72d0000-f72e0000 ---p f72d0000 00:00 0 
f72e0000-f7cd0000 rw-p f72e0000 00:00 0 
f7cd0000-f7cf0000 r-xp 00000000 00:13 167282058 /lib/libpthread-2.5.so
f7cf0000-f7d00000 r--p 00010000 00:13 167282058 /lib/libpthread-2.5.so
f7d00000-f7d10000 rw-p 00020000 00:13 167282058 /lib/libpthread-2.5.so
f7d10000-f7e80000 r-xp 00000000 00:13 167282057 /lib/libc-2.5.so
f7e80000-f7e90000 r--p 00160000 00:13 167282057 /lib/libc-2.5.so
f7e90000-f7ea0000 rw-p 00170000 00:13 167282057 /lib/libc-2.5.so
f7ea0000-f7f60000 r-xp 00000000 00:13 167282050 /lib/libm-2.5.so
f7f60000-f7f70000 r--p 000b0000 00:13 167282050 /lib/libm-2.5.so
f7f70000-f7f80000 rw-p 000c0000 00:13 167282050 /lib/libm-2.5.so
f7f80000-f7f90000 r-xp 00000000 00:13 167281961 /lib/libuuid.so.1.2
f7f90000-f7fa0000 rw-p 00000000 00:13 167281961 /lib/libuuid.so.1.2
f7fa0000-f7fb0000 r-xp 00000000 00:13 167282039 /lib/libdl-2.5.so
f7fb0000-f7fc0000 r--p 00000000 00:13 167282039 /lib/libdl-2.5.so
f7fc0000-f7fd0000 rw-p 00010000 00:13 167282039 /lib/libdl-2.5.so
f7fe0000-f7ff0000 rw-p f7fe0000 00:00 0 
ff9d0000-ffb20000 rw-p ff9d0000 00:00 0 [stack]
Aborted (core dumped)

[developer01@catoruxacm14 direct]$ ppu-gdb .libs/lt-listener core.xxx 
(gdb) bt
#0  0xf7d46110 in raise () from /lib/libc.so.6
#1  0xf7d47e14 in abort () from /lib/libc.so.6
#2  0xf7d877f4 in __libc_message () from /lib/libc.so.6
#3  0xf7d92484 in _int_malloc () from /lib/libc.so.6
#4  0xf7d94024 in malloc () from /lib/libc.so.6
#5  0x0edec11c in operator new () from /usr/lib/libstdc++.so.6
#6  0x0fdaed88 in qpid::framing::AMQFrame::setBody (this=0xffb1ecc4, 
b=<value optimized out>) at qpid/framing/AMQFrame.cpp:36
#7  0x0ff561f4 in qpid::client::SessionImpl::sendCommand (this=0x10244010, 
command=@0xffb1ed90, content=0x0) at ./qpid/framing/AMQFrame.h:43
#8  0x0ff56610 in qpid::client::SessionImpl::send (this=<value optimized 
out>, command=<value optimized out>) at qpid/client/SessionImpl.cpp:280
#9  0x0fef5830 in 
(this=0xffb1ee10, transfers=<value optimized out>, sync=false) at 
#10 0x0ff5cf14 in qpid::client::SubscriptionImpl::received 
(this=0x10244508, m=<value optimized out>) at 
#11 0x0ff3581c in qpid::client::Dispatcher::run (this=0xffb1f6c8) at 
#12 0x0ff5e330 in qpid::client::SubscriptionManager::run (this=<value 
optimized out>) at qpid/client/SubscriptionManager.cpp:86
#13 0x10006c90 in main (argc=<value optimized out>, argv=<value optimized 
out>) at listener.cpp:112

As stated, to reproduce the above error, I first run the listener and THEN 
add one message to the queue. However, if I fill the queue with ONE 
message BEFORE running listener, then the listener does not crash but it 
gets garbage from getDouble("foo", x).  Finally, if I hadd TWO messages to 
the queue BEFORE running the listener, then I do not get the "glibc 
detected memory corruption" memory map output on the console, and I get a 
different backtrace from gdb:

[developer01@catoruxacm14 direct]$ .libs/lt-listener
Segmentation fault (core dumped)

[developer01@catoruxacm14 direct]$ ppu-gdb .libs/lt-listener core.xxx
#0  0x0fdbf068 in qpid::framing::FieldTable::getDouble (this=<value 
optimized out>, name=<value optimized out>, value=<value optimized out>) 
at /usr/include/boost/detail/sp_counted_base_gcc_ppc.hpp:153
153                 dispose();
(gdb) bt
#0  0x0fdbf068 in qpid::framing::FieldTable::getDouble (this=<value 
optimized out>, name=<value optimized out>, value=<value optimized out>) 
at /usr/include/boost/detail/sp_counted_base_gcc_ppc.hpp:153
#1  0x1000720c in Listener::received (this=<value optimized out>, 
message=<value optimized out>) at listener.cpp:88
#2  0x0ff5cb18 in qpid::client::SubscriptionImpl::received 
(this=0x102444d0, m=@0xffc3f510) at qpid/client/SubscriptionImpl.cpp:123
#3  0x0ff357fc in qpid::client::Dispatcher::run (this=0xffc3f6c8) at 
#4  0x0ff5e0a0 in qpid::client::SubscriptionManager::run (this=<value 
optimized out>) at qpid/client/SubscriptionManager.cpp:86
#5  0x10006c70 in main (argc=<value optimized out>, argv=<value optimized 
out>) at listener.cpp:114


Gordon Sim <gsim@redhat.com> 
Nov/24/2008 05:23 PM GMT
Please respond to


Re: FieldTable decoding not working on ppc64?

aamir.mohammad@aon.ca wrote:
> Hello,
> I have compiled qpid (trunk) on the ppc64 architecture. I have 
> successfully run the "direct" example in a number of different 
> configurations (qpid broker running on x86 and clients running on ppc, 
> vice versa). 

Could you post a backtrace for the core generated from the segv? (You 
may need to enable coredumps with ulimit -u unlimited, then re-run the 
test, then gdb your-app core.xxx and type bt).

Also, which revision are you working with?

This communication (and any attachments) is directed in confidence to the addressee(s) listed
above, and may not otherwise be distributed, copied or used.  The contents of this communication
may also be subject to privilege, and all rights to that privilege are expressly claimed and
not waived.  If you have received this communication in error, please notify us by reply e-mail
or by telephone and delete this communication (and any attachments) without making a copy.
 Thank you.

La présente communication (et tout fichier rattaché) s'adresse uniquement au(x) destinataire(s)
précité(s) et ne peut être autrement distribuée, copiée ou utilisée.  Le contenu de
cette communication peut être assujetti au privilège.  Tout droit à ce privilège est expressément
revendiqué et nullement abandonné.  Si vous avez reçu cette communication par erreur, veuillez
nous en avertir immédiatement en répondant à ce courriel ou en nous appelant.  Veuillez
également effacer cette communication (et tout fichier rattaché) sans en conserver une copie.
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message