Your message dated Sun, 26 Oct 2014 20:44:27 +0900
with message-id 
<cadqnrq7_3pefqsr4cyhmtbsnpycxq2rt7rrn9kgoo5+w0og...@mail.gmail.com>
and subject line Re: Bug#764118: Acknowledgement (wordwarvi: cannot start game 
(GTK+/GLib mutex problem))
has caused the Debian Bug report #764118,
regarding wordwarvi: cannot start game (GTK+/GLib mutex problem)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
764118: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764118
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: wordwarvi
Version: 1.00+dfsg1-3
Severity: grave
Tags: patch
Justification: renders package unusable

Dear Maintainer,

Wordwarvi cannot start game.

>$ LANG=C gdb -q wordwarvi
>Reading symbols from wordwarvi...(no debugging symbols found)...done.
>(gdb) r
>Starting program: /usr/games/wordwarvi
>[Thread debugging using libthread_db enabled]
>Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
>No joystick...
(snip)
>[New Thread 0x7fffe7567700 (LWP 3460)]
>Decoding audio data...done.
>Can't open /dev/input/event5: Permission denied
>No rumble...
>Attempt to unlock mutex that was not locked
>
>Program received signal SIGABRT, Aborted.
>0x00007ffff5b8b077 in __GI_raise (sig=sig@entry=6)
>    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
>56    ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
>(gdb) bt
>#0  0x00007ffff5b8b077 in __GI_raise (sig=sig@entry=6)
>    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
>#1  0x00007ffff5b8c458 in __GI_abort () at abort.c:89
>#2  0x00007ffff5f8b95d in g_mutex_unlock_slowpath (mutex=<optimized out>,
>    prev=<optimized out>)
>    at /build/glib2.0-Dv_k6u/glib2.0-2.42.0/./glib/gthread-posix.c:1327
>#3  0x00007ffff683ebbf in IA__gtk_main ()
>    at /build/gtk+2.0-zztKf7/gtk+2.0-2.24.24/gtk/gtkmain.c:1256
>#4  0x0000000000403934 in ?? ()
>#5  0x00007ffff5b77b45 in __libc_start_main (main=0x402b20, argc=1,
>    argv=0x7fffffffe3d8, init=<optimized out>, fini=<optimized out>,
>    rtld_fini=<optimized out>, stack_end=0x7fffffffe3c8) at libc-start.c:287
(snip)

This is caused by GLib's mutex implementation change.
See GNOME tracker about this [1].

Wordwarvi uses the "wrong code" (in [2]'s phrase),
so crashes in g_mutex_unlock_slowpath().


How to fix:
(a) Change gtk+2.0 to accept also "wrong code" (see [2] and Debian bug #763690)
or
(b) Change wordwarvi to use the "correct" way (in [2]'s phrase).

I wrote a patch for (b). Please apply attached patch.


[1] https://bugzilla.gnome.org/show_bug.cgi?id=735428
[2] https://github.com/GNOME/gtk/commit/79c3ff3c4ed74bbcc820dac2d5180fa4d48d55ec


-- System Information:
Debian Release: jessie/sid
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'testing'), (500,
'stable'), (500, 'oldstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.14-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages wordwarvi depends on:
ii  libasound2       1.0.28-1
ii  libc6            2.19-11
ii  libglib2.0-0     2.42.0-1
ii  libgtk2.0-0      2.24.24-1
ii  libogg0          1.3.2-1
ii  libportaudio2    19+svn20140130-1
ii  libvorbis0a      1.3.2-1.4
ii  libvorbisfile3   1.3.2-1.4
ii  wordwarvi-sound  1.00+dfsg1-3

wordwarvi recommends no packages.

wordwarvi suggests no packages.

-- no debconf information


Regards,
Nobuhiro
--- wordwarvi-1.00+dfsg1.orig/wordwarvi.c
+++ wordwarvi-1.00+dfsg1/wordwarvi.c
@@ -14068,6 +14068,7 @@ int main(int argc, char *argv[])
        g_thread_init(NULL);
 
     gdk_threads_init();
+    gdk_threads_enter();
 
     gettimeofday(&start_time, NULL);
 
@@ -14075,6 +14076,7 @@ int main(int argc, char *argv[])
      * and waits for an event to occur (like a key press or
      * mouse event). */
     gtk_main ();
+    gdk_threads_leave();
 
     wwviaudio_stop_portaudio();
     free_debris_forms();

--- End Message ---
--- Begin Message ---
Hi,

>(a) Change gtk+2.0 to accept also "wrong code" (see [2] and Debian bug #763690)
>or
>(b) Change wordwarvi to use the "correct" way (in [2]'s phrase).

#763690 was fixed, so wordwarvi works again now.
I'll close this bug.


Regards,
Nobuhiro

--- End Message ---

Reply via email to