On Wed, 29 Oct 2014 at 22:59:32 +0100, Nils Dagsson Moskopp wrote:
> /usr/lib/pymodules/python2.7/gwrite/gwrite.py:916: GtkWarning: 
> gtk_menu_attach_to_widget(): menu already attached to GtkImageMenuItem
>   toolbutton_open.set_menu(menu_recent)
> Attempt to unlock mutex that was not locked
> abort

This is probably because GLib on Linux has switched from pthreads mutexes to
a faster internal implementation based on Linux futexes. In particular,
pthreads mutexes on Linux silently accept and ignore attempts to unlock a
mutex that isn't locked, but GLib's futex-based mutexes diagnose that
as a fatal error. (pthreads mutexes on most non-Linux OSs also treat that
as a fatal error, so this package would have been RC-buggy on kFreeBSD.)

gwrite's approach to mutex (un)locking seems ... innovative:

% grep -r threads_leave .
./gwrite/webkitedit.py:        gtk.gdk.threads_leave() # 修正线程问题
./gwrite/gwrite.py:        gtk.gdk.threads_leave()
./gwrite/gwrite.py:        gtk.gdk.threads_leave()
./gwrite/gwrite.py:        gtk.gdk.threads_leave()
./gwrite/gwrite.py:        gtk.gdk.threads_leave()
./gwrite/gwrite.py:        gtk.gdk.threads_leave()
./gwrite/gwrite.py:    gtk.gdk.threads_leave()
% grep -r threads_enter .
./gwrite/gwrite.py:    gtk.gdk.threads_enter()

(I would expect these to be in balanced pairs.)

It seems to be multi-threaded, too, so I have a hard time seeing how
that can possibly end well.

    S


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to