Hello, recently I built grip from ports on my machine running -current. Shortly after starting to rip a track grip crashes with a bus error.
gdb trace: (gdb) bt #0 0x0000000056086e80 in g_convert_with_iconv () from /usr/local/lib/libglib-2.0.so.1600.0 #1 0x00000000560870c8 in g_convert () from /usr/local/lib/libglib-2.0.so.1600.0 #2 0x00000000560877cc in g_locale_from_utf8 () from /usr/local/lib/libglib-2.0.so.1600.0 #3 0x0000000000123658 in __register_frame_info () #4 0x0000000000123658 in __register_frame_info () Previous frame identical to this frame (corrupt stack?) The only call of g_locale_from_utf8 is in src/launch.c "make" complains about launch.c: In function `ArgsToLocale': launch.c:249: warning: passing arg 4 of `g_locale_from_utf8' from incompatible pointer type g_locale_from_utf8 is called with a pointer to int instead of to gsize. The attached patch fixes this for me. Please test it on other archs and commit it. I notified the maintainer, but he hadn't time to test this yet. Regards, Markus
Index: Makefile =================================================================== RCS file: /cvs/ports/audio/grip/Makefile,v retrieving revision 1.28 diff -u -p -r1.28 Makefile --- Makefile 15 Dec 2007 18:56:35 -0000 1.28 +++ Makefile 4 May 2008 19:55:10 -0000 @@ -3,7 +3,7 @@ COMMENT= front-end to external cd audio rippers and mp3 encoders DISTNAME= grip-3.2.0 -PKGNAME= ${DISTNAME}p8 +PKGNAME= ${DISTNAME}p9 CATEGORIES= audio HOMEPAGE= http://www.nostatic.org/grip/ Index: patches/patch-src_launch_c =================================================================== RCS file: patches/patch-src_launch_c diff -N patches/patch-src_launch_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_launch_c 4 May 2008 19:55:10 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- src/launch.c.orig Thu Apr 15 20:20:44 2004 ++++ src/launch.c Wed Apr 23 17:26:10 2008 +@@ -243,7 +243,7 @@ void ArgsToLocale(GString **args) + char *new_str; + GString *new_arg; + int pos; +- int len; ++ gsize len; + + for(pos=1;args[pos];pos++) { + new_str=g_locale_from_utf8(args[pos]->str,-1,NULL,&len,NULL);