Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Mar 2013 18:27:33 GMT
From:      Yamagi Burmeister <yamagi@yamagi.org>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/176888: [PATCH] audio/sonata crashes since last devel/glib20 update
Message-ID:  <201303121827.r2CIRXAx066545@red.freebsd.org>
Resent-Message-ID: <201303121830.r2CIU06l051048@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         176888
>Category:       ports
>Synopsis:       [PATCH] audio/sonata crashes since last devel/glib20 update
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Mar 12 18:30:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Yamagi Burmeister
>Release:        9.1-RELEASE
>Organization:
>Environment:
FreeBSD happy.home.yamagi.org 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243792M: Sun Dec  2 17:53:10 CET 2012     root@happy.home.yamagi.org:/usr/obj/usr/src/sys/HAPPY  amd64
>Description:
Since the last devel/glib20 update audio/sonata crashes at startup with: GLib (gthread-posix.c): Unexpected error from C library during 'pthread_mutex_unlock': Operation not permitted.  Aborting.

Investigation showed that this is mainly caused by enabling GTK threading but still calling pyGTK function without holding the mutex. A simple solution is to desable GTK threading at all, sonata still works correct without it. An updated version of patch-sonata.py.

>How-To-Repeat:
Upgrade devel/glib20 to 2.34.3 and start sonata.
>Fix:
--- sonata.py_orig	2013-03-12 19:24:47.000000000 +0100
+++ sonata.py	2013-03-12 19:25:05.000000000 +0100
@@ -59,6 +59,8 @@
 # https://bugs.launchpad.net/ubuntu/+source/zsi/+bug/208855
 sys.path.append('/usr/lib/python2.5/site-packages/oldxml')
 
+sys.path.remove('/usr/local/bin')
+
 # hint for gnome.init to set the process name to 'sonata'
 if platform.system() == 'Linux':
 	sys.argv[0] = 'sonata'
@@ -149,7 +151,7 @@
 socketsettimeout(5)
 
 if not args.should_skip_gui():		
-	gtk.gdk.threads_init()
+	#gtk.gdk.threads_init()
 
 	# we don't use gtk.LinkButton, but gtk.AboutDialog does;
 	# in gtk 2.16.0 without this, the about uri opens doubly:

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303121827.r2CIRXAx066545>