Summary: | media-sound/museseq-0.7.2-r5 segfaults on amd64 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Frank van de Pol (RETIRED) <fvdpol> |
Component: | New packages | Assignee: | Frank van de Pol (RETIRED) <fvdpol> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | fvdpol, sound, tcort |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | screenlog of emerge museseq |
Description
Frank van de Pol (RETIRED)
2006-01-13 05:14:55 UTC
In the debugging output there are a lot of lines like "#1 0x0000000000000002 in ?? ()" and "(no debugging symbols found)..." because the debugging symbols are removed unless FEATURES="debug". Also, this package has optional debugging support which isn't enabled because you don't have "debug" in your USE flags. Could you re-emerge the package with the following command: # FEATURES="debug" USE="debug" emerge museseq and then post the results of running the program in gdb. I just re-emerged museseq using 'FEATURES="debug" USE="debug" emerge museseq' and got this trace when run from gdb: gdb museseq GNU gdb 6.0 Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu"...(no debugging symbols found)...Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /usr/bin/museseq (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)...[Thread debugging using libthread_db enabled] [New Thread 46912548909184 (LWP 11474)] Trying RTC timer... got timer = 13 QObject::connect: No such signal PartCanvas::horizontalScroll(int) QObject::connect: (sender name: 'unnamed') QObject::connect: (receiver name: 'unnamed') Arranger::configChanged - no bitmap! starting with default template Arranger::configChanged - no bitmap! [New Thread 1082132832 (LWP 11477)] Program received signal SIG33, Real-time event 33. [Switching to Thread 1082132832 (LWP 11477)] 0x00002aaaada8d324 in clone () from /lib/libc.so.6 (gdb) thread apply all bt Thread 2 (Thread 1082132832 (LWP 11477)): #0 0x00002aaaada8d324 in clone () from /lib/libc.so.6 #1 0x00002aaaad60b070 in __free_tcb () from /lib/libpthread.so.0 #2 0x0000000040800960 in ?? () Thread 1 (Thread 46912548909184 (LWP 11474)): #0 0x00002aaaad60abb8 in __nptl_setxid () from /lib/libpthread.so.0 #1 0x00002aaaada86d15 in seteuid () from /lib/libc.so.6 #2 0x000000000043f22b in QValueListPrivate<QString>::QValueListPrivate() () #3 0x000000000046fae7 in QValueListPrivate<QString>::QValueListPrivate() () #4 0x000000000047d23a in QValueListPrivate<QString>::QValueListPrivate() () #5 0x00002aaaad9f2674 in __libc_start_main () from /lib/libc.so.6 #6 0x0000000000428bba in ?? () #0 0x00002aaaada8d324 in clone () from /lib/libc.so.6 (gdb) Which looks rather similar to the run without the debug info :-( However, during the compilation I spotted dozens of compiler warnings regarding implicit casts. This might be interesting since on amd64 sizeof(void *) != sizeof(int). if x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -g -fno-exceptions -Wall -W -D_GNU_SOURCE -D_REENTRANT -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -I../.. -I../../muse/widgets -I/usr/qt/3/include -I.. -I../../synti -g -fno-exceptions -Wall -W -D_GNU_SOURCE -D_REENTRANT -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -I../.. -I../../muse/widgets -I/usr/qt/3/include -I.. -I../../synti -I../../muse/widgets -DQT_SHARED -DQT_THREAD_SUPPORT -DQT_PLUGIN -MT libwidgets_a-dentry.o -MD -MP -MF ".deps/libwidgets_a-dentry.Tpo" -c -o libwidgets_a-dentry.o `test -f 'dentry.cpp' || echo './'`dentry.cpp; \ then mv -f ".deps/libwidgets_a-dentry.Tpo" ".deps/libwidgets_a-dentry.Po"; else rm -f ".deps/libwidgets_a-dentry.Tpo"; exit 1; fi In file included from ../evdata.h:12, from ../event.h:16, from ../undo.h:14, from ../song.h:20, from noteinfo.cpp:13: ../memory.h: In member function `void* Pool::alloc(size_t)': ../memory.h:54: warning: int format, different type arg (arg 2) ../memory.h: In member function `void Pool::free(void*, size_t)': ../memory.h:72: warning: int format, different type arg (arg 2) To make things more interesting, when compiled with the debug flags the application *does* start without segfaults when launched from the shell. There is definitely something fishy going on.... When quitting museseq I get a '*** glibc detected *** double free or corruption (!prev): 0x0000000000867150 ***' Created attachment 77000 [details]
screenlog of emerge museseq
received feedback from upstream developer: Envelope-to: frank@fpaudio.com Delivery-date: Fri, 13 Jan 2006 19:17:33 +0100 From: Werner Schweer <ws@seh.de> To: lmuse-developer@lists.sourceforge.net Subject: Re: [Lmuse-developer] museseq-0.7.2_pre5 segfaults on startup on amd64 Date: Fri, 13 Jan 2006 19:17:21 +0100 On Friday 13 January 2006 14:37, Frank van de Pol wrote: > When testing the new pre5 release before committing it to the Gentoo > repository I noticed that pre5 runs like a charm on x86, but segfaults at > startup on amd64 architecture. <...> in muse/driver/rtctimer.cpp, getTimerTicks(...) about line 144 please change unsigned int nn; into unsigned long nn; its also commited to cvs. Regards, Werner patch added to portage |