I'm trying to make a xulrunner based program running on an ppc embedded target, and then need to use cairo-1.6.4. It compiles fine but at run-time I get a SIGARBRT with: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' Here the gdb backtrace: jdzilla: pthread_mutex_lock.c:108: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed. Program received signal SIGABRT, Aborted. [Switching to Thread -134421760 (LWP 7822)] 0x0db103e0 in raise () from /lib/libc.so.6 (gdb) bt #0 0x0db103e0 in raise () from /lib/libc.so.6 #1 0x0db11b58 in abort () from /lib/libc.so.6 #2 0x0db08ae8 in __assert_fail () from /lib/libc.so.6 #3 0x0dc648f8 in pthread_mutex_lock () from /lib/libpthread.so.0 #4 0x0f81c300 in _cairo_ft_unscaled_font_lock_face (unscaled=0x10504420) at cairo-ft-font.c:533 #5 0x0f2aaad8 in _cairo_ft_scaled_font_is_vertical () from /usr/lib/xulrunner-1.9/libxul.so #6 0x0f2ac328 in _cairo_ft_scaled_font_is_vertical () from /usr/lib/xulrunner-1.9/libxul.so #7 0x0f290418 in _moz_cairo_scaled_font_create () from /usr/lib/xulrunner-1.9/libxul.so #8 0x0f254f78 in gfxPangoFont::SetupCairoFont () from /usr/lib/xulrunner-1.9/libxul.so #9 0x0f254f78 in gfxPangoFont::SetupCairoFont () from /usr/lib/xulrunner-1.9/libxul.so #10 0x0f254f78 in gfxPangoFont::SetupCairoFont () from /usr/lib/xulrunner-1.9/libxul.so #11 0x0f254f78 in gfxPangoFont::SetupCairoFont () from /usr/lib/xulrunner-1.9/libxul.so #12 0x0f254f78 in gfxPangoFont::SetupCairoFont () from /usr/lib/xulrunner-1.9/libxul.so #13 0x0f254f78 in gfxPangoFont::SetupCairoFont () from /usr/lib/xulrunner-1.9/libxul.so #
Something is seriously wrong here as the stack trace goes from a _moz_cairo.* (compiled without mutexes or debugging symbols) into another cairo library compiled with mutexes and debugging symbols. (System integration issue beyond the scope of cairo.)
You are right. Switching to xulrunner-1.9.0.2 solves the problem.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.