grip-3.1.4 segfaults on amd64 after ripping for at most five-ish minutes. The segfault occurs in all configurations I've tried--when ripping without encoding, and when ripping and encoding to either mp3 (lame) and flac. I get the following backtrace using gdb on a copy I compiled from the source (the backtrace from the emerged version is identical, without the line numbers): #0 0x0000002a99bedb9b in free () from /lib/libc.so.6 #1 0x0000002a9981d6af in g_free () from /usr/lib/libglib-2.0.so.0 #2 0x0000000000409dab in LogStatus (ginfo=0x2a95595010, fmt=0x0) at grip.c:397 #3 0x0000000000419ad0 in MP3Encode (ginfo=0x2a95595010) at rip.c:1691 #4 0x0000000000417cf0 in UpdateRipProgress (ginfo=0x2a95595010) at rip.c:1014 #5 0x000000000040a9f2 in GripUpdate (app=0x2a95595010) at grip.c:648 #6 0x0000000000409440 in TimeOut (data=0x2a00000000) at main.c:225 #7 0x0000002a9981adab in g_timeout_dispatch () from /usr/lib/libglib-2.0.so.0 #8 0x0000002a9981873f in g_main_dispatch () from /usr/lib/libglib-2.0.so.0 #9 0x0000002a9981964c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #10 0x0000002a99819914 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #11 0x0000002a99819f1d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #12 0x0000002a97a5dba0 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x000000000040938b in Cmain (argc=5744304, argv=0xbffff388) at main.c:189 #14 0x0000002a99b97871 in __libc_start_main () from /lib/libc.so.6 #15 0x0000000000408fea in _start () I also tend to get segfaults in freedb lookup, before ripping: #0 0x0000002a99bedb9b in free () from /lib/libc.so.6 #1 0x0000002a9981d6af in g_free () from /usr/lib/libglib-2.0.so.0 #2 0x0000000000409dab in LogStatus (ginfo=0x2a95595010, fmt=0x0) at grip.c:397 #3 0x000000000040fe3a in DiscDBLookupDisc (ginfo=0x2a95595010, server=0x2a95607808) at cdplay.c:207 #4 0x000000000040fb80 in DoLookup (data=0x2a00000000) at cdplay.c:169 #5 0x0000002a99563e05 in pthread_start_thread () from /lib/libpthread.so.0 #6 0x0000002a99563e9d in pthread_start_thread_event () from /lib/libpthread.so.0 #7 0x0000002a99c45c00 in thread_start () from /lib/libc.so.6 #8 0x0000002a9ccaaa40 in ?? () So, the common factor seems to be LogStatus(), but I haven't looked into it yet.
I run grip and have no problems. I usually encode using oggenc though. Can someone verify this bug?
Created attachment 25598 [details, diff] grip-3.1.4 amd64 crasher patch Ok, I've looked into it some more... looks like a simple 64-bit unclean problem. I've attached a one-line patch that fixes the crash for me. Not sure why others aren't affected--possibly because this is an SMP machine? What is the policy on patches--should I try to push it upstream to grip?
Created attachment 25599 [details] updated ebuild that applies the patch Attached an ebuild that applies the above patch. Tested on my system.
I was able to get grip-3.1.4 to build successfully with some unmasking.
I ripped a copy of CD's last night and had no problems... I was ripping at 192K MP3... However, I'm not SMP... I'll test the patch and see if it adversely effects uni-proc systems. If not, I'll let it through...
Try 3.1.8 and let me know if that is working for you. It works great for me, with all USE flags enabled (+nls +oggvorbis). If I don't hear back, then I'll assume it works now.
3.1.8 still crashes for me, same symptoms. Looking at the 3.1.8 source, the bug fixed by the above patch hasn't been fixed. Applying the patch still eliminates the problem for me. It's a pretty simple bug and a trivial patch; I'll try to push it into grip, but until then it would be nice if the portage version worked. Other than this problem, grip works fine.
patch added. reopen this bug if the problem persists with the new patch. I'm submitting the patch upstream to the grip maintainers...