Bugs item #3475624, was opened at 2012-01-18 12:41
Message generated for change (Settings changed) made by genete
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=757416&aid=3475624&group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Crasher/nasty bug
Group: Latest release
>Status: Closed
Resolution: Fixed
Priority: 5
Private: No
Submitted By: Denis Washington (denis-w)
Assigned to: Genete (genete)
Summary: Startup crash on Ubuntu 12.04

Initial Comment:
When trying to run Synfig Studio after installation from the .deb package, it 
crashes right away with the following error message:

GLib (gthread-posix.c): Unexpected error from C library during 'Das Argument 
ist ungültig': pthread_cond_timedwait.  Aborting.

Running the binary from gdb reveals that this results from a call to 
g_cond_wait_until(). This may be because Ubuntu 12.04 ships with glib 2.31.x, 
which integrated libgthread-2.0 into libglib-2.0 and made g_thread_init() a 
noop:

http://osdir.com/ml/commits.gnome/2011-10/msg08477.html

A simple rebuild might help (but until now I was not able to build Synfig 
successfully).

----------------------------------------------------------------------

Comment By: Genete (genete)
Date: 2012-03-15 07:27

Message:
I've applied all the patches to master branch. Closing the bug.

----------------------------------------------------------------------

Comment By: Genete (genete)
Date: 2012-03-15 06:46

Message:
Hi!
I've installed Ubuntu 12.04 inn a virtual machine and have follwing these
steps to build Synfig on it.
1) I've applied the patch of this trcker provided by Denis. It is available
on the master branch on git repo.
2) I've folloed the steps to build on Ubnutu by this recipe:

$ sudo apt-get install git
$ git clone git://synfig.git.sourceforge.net/gitroot/synfig/synfig
$ nano build.sh
then copied this:
#!/bin/sh
cd synfig
CPUS=2
prefix=$(pwd)/install
export PKG_CONFIG_PATH="$prefix/lib/pkgconfig"
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH
export CXX="/usr/bin/ccache /usr/bin/g++"

cd ETL &&
autoreconf --install --force &&
./configure --prefix $prefix &&
make install &&
 \
cd ../synfig-core &&
libtoolize --ltdl --copy --force &&
autoreconf --install --force &&
./configure --prefix $prefix &&
make -j $CPUS install &&
 \
cd ../synfig-studio &&
autoreconf --install --force &&
./configure --prefix $prefix &&
make -j $CPUS install

$ sudo apt-get install build-essential autoconf automake libtool autopoint
$ sudo apt-get install libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev
libtool gettext cvs libpng12-dev libmng-dev libjpeg-dev libfreetype6-dev
libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev
libgraphicsmagick1-dev libgraphicsmagick++1-dev
graphicsmagick-libmagick-dev-compat libdv-bin ffmpeg imagemagick
$ sudo apt-get install libgtkmm-2.4-dev libgtk2.0-dev libglibmm-2.4-dev
libsigc++-2.0-dev libltdl3-dev libtool gettext cvs ttf-freefont ttf-dejavu
ttf-dustin
$ sudo apt-get install ccache

when I ran : $ sh build.sh it leads some errors that I had to fix, see
attached patch.

After that it builds successfully and can be run. Attached is a screenshot
(sorry for the small resolution)

I wonder why nobody noticed the need of the patch I attach. 

Also I would need to know which libraries did you installed in order to be
able to build Synfig. Do they coincide with the libraries I installed for
synfig-core? Notice specially the new in 12.04 libmagick++ libraries I
used.


----------------------------------------------------------------------

Comment By: Diego Barrios Romero (eldruin)
Date: 2012-03-14 03:21

Message:
Nice Denis! Maybe we can cook up a conditional compiling macro for this and
avoid the annoying deprecated messages in the future :)

----------------------------------------------------------------------

Comment By: Genete (genete)
Date: 2012-03-14 02:50

Message:
Good patch Denis!. Tomorrow I'll test it on a virtual machine and will
apply to master uf success. 

----------------------------------------------------------------------

Comment By: Denis Washington (denis-w)
Date: 2012-03-14 02:10

Message:
I used the GLib documentation of g_cond_wait_until() as orientation:
http://developer.gnome.org/glib/unstable/glib-Threads.html#g-cond-wait-until

wait_until() supersedes timed_wait() in the upcoming GLib 2.32, but I
didn't convert the code to use it as this would break compatibility with
previous GLib versions.

You're right, the brace should go outside! Good catch, I'll update the
patch.

----------------------------------------------------------------------

Comment By: nikitakit (nikitakit)
Date: 2012-03-14 02:05

Message:
I don't know much about timed_wait(), but judging by the code your patch
does the right thing. Thank you for tracking down and solving this bug.

Shouldn't the opening brace near line 327 should go outside the ifdef?

----------------------------------------------------------------------

Comment By: Denis Washington (denis-w)
Date: 2012-03-14 01:45

Message:
Patch attached, please review!

----------------------------------------------------------------------

Comment By: Denis Washington (denis-w)
Date: 2012-03-14 01:42

Message:
I have tracked down the problem: the async renderer in syfigstudio/src/gui/
uses GCond::timed_wait() the wrong way - it passes a relative time time to
wait instead of an absolute point in time. This is what caused the "invalid
argument" error (as the time passed was always in the past).

Why this problem hasn't shown up earlier is a good question, though.
Probably some change inside of glib. Anyway, I have fixed the problem and
Synfig works perfectly now. I'll attach a patch shortly.

----------------------------------------------------------------------

Comment By: ike ahloe ()
Date: 2012-03-10 11:36

Message:
gdb synfigstudio
GNU gdb (Ubuntu/Linaro 7.4-0ubuntu1) 7.4
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/synfigstudio...done.
(gdb) r
Starting program: /usr/bin/synfigstudio 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

   synfig studio -- starting up application...

synfig(13459) [01:34:28 PM] info: Loading modules from
/opt/synfig/etc/synfig_modules.cfg
[New Thread 0x7fffead24700 (LWP 13462)]
[New Thread 0x7fffea523700 (LWP 13463)]

GLib-GObject-CRITICAL **: Object class
gtkmm__CustomObject_N6studio15ValueBase_EntryE doesn't implement property
'editing-canceled' from interface 'GtkCellEditable'
[New Thread 0x7fffe29a9700 (LWP 13464)]
GLib (gthread-posix.c): Unexpected error from C library during
'pthread_cond_timedwait': Invalid argument.  Aborting.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe29a9700 (LWP 13464)]
0x00007ffff2ca0445 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/synfigstudio 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

   synfig studio -- starting up application...

synfig(13465) [01:35:02 PM] info: Loading modules from
/opt/synfig/etc/synfig_modules.cfg
[New Thread 0x7fffead24700 (LWP 13466)]
[New Thread 0x7fffea523700 (LWP 13467)]

GLib-GObject-CRITICAL **: Object class
gtkmm__CustomObject_N6studio15ValueBase_EntryE doesn't implement property
'editing-canceled' from interface 'GtkCellEditable'
[New Thread 0x7fffe29a9700 (LWP 13468)]
GLib (gthread-posix.c): Unexpected error from C library during
'pthread_cond_timedwait': Invalid argument.  Aborting.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe29a9700 (LWP 13468)]
0x00007ffff2ca0445 in raise () from /lib/x86_64-linux-gnu/libc.so.6


----------------------------------------------------------------------

Comment By: ike ahloe ()
Date: 2012-03-10 11:33

Message:
"   synfig studio -- starting up application...

synfig(13430) [01:32:02 PM] info: Loading modules from
/opt/synfig/etc/synfig_modules.cfg

GLib-GObject-CRITICAL **: Object class
gtkmm__CustomObject_N6studio15ValueBase_EntryE doesn't implement property
'editing-canceled' from interface 'GtkCellEditable'
GLib (gthread-posix.c): Unexpected error from C library during
'pthread_cond_timedwait': Invalid argument.  Aborting.
Aborted (core dumped)
"

----------------------------------------------------------------------

Comment By: Joao Lopes (caldas_lopes)
Date: 2012-03-09 12:17

Message:
joao@portatil:~$ gdb synfigstudio 
GNU gdb (Ubuntu/Linaro 7.4-0ubuntu1) 7.4
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/synfigstudio...done.
(gdb) r
Starting program: /usr/bin/synfigstudio 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

   synfig studio -- starting up application...

synfig(9819) [20:12:59] info: Loading modules from
/opt/synfig/etc/synfig_modules.cfg
[New Thread 0x7fffeb199700 (LWP 9822)]
[New Thread 0x7fffea998700 (LWP 9823)]

GLib-GObject-CRITICAL **: Object class
gtkmm__CustomObject_N6studio15ValueBase_EntryE doesn't implement property
'editing-canceled' from interface 'GtkCellEditable'
[New Thread 0x7fffe8c90700 (LWP 9824)]
GLib (gthread-posix.c): Unexpected error from C library during
'pthread_cond_timedwait': Argumento inválido.  Aborting.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe8c90700 (LWP 9824)]
0x00007ffff2ca0445 in __GI_raise (sig=<optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64      ../nptl/sysdeps/unix/sysv/linux/raise.c: Ficheiro ou directoria
inexistente.


----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2012-03-01 05:20

Message:
Same Issue but other mesage: 
top@Star:~/Scaricati/Pacchetti - Kubuntu_12.04_LTS$ synfigstudio 

   Synfig Studio: avvio applicazione...

synfig(30364) [14:15:23] info: Created directory "/home/silvio/.synfig"
synfig(30364) [14:15:23] informazione: Caricamento moduli da
/opt/synfig/etc/synfig_modules.cfg
synfig(30364) [14:15:28] informazione: Created directory
"/home/silvio/.synfig/tmp"

GLib-GObject-CRITICAL **: Object class
gtkmm__CustomObject_N6studio15ValueBase_EntryE doesn't implement property
'editing-canceled' from interface 'GtkCellEditable'
GLib (gthread-posix.c): Unexpected error from C library during 'Argomento
non valido': pthread_cond_timedwait.  Aborting.
Annullato (core dump creato)
silvio@Star:~/Scaricati/Pacchetti - Kubuntu_12.04_LTS$ 


----------------------------------------------------------------------

Comment By: Joao Lopes (caldas_lopes)
Date: 2012-02-27 11:02

Message:
Rebuilding is not enough. Same error appear.  

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=757416&aid=3475624&group_id=144022

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to