Inkscape-Deps (Problem in Gentoo)

Hi
As some of you might know Inkscape is outdated in Gentoo. Version 0.37 is marked as stable, 0.38, 0.39 and 0.40 are marked unstable (~ARCH) [1]. The reasons are that Inkscape is "known" to crash an startup for some people (see e.g. [2]). I am using 0.39 since it it released with the ebuild Gentoo provides as "unstable" and had _no_ problems at all. For Inkscape 0.40 there is the problems of new deps, esp. libboehm and gtmmm. See [3] for it. Furthermore there have been a lot reports about GLIB-crashes I never could reproduce. See [4] for a glib-crash in 0.40.
I hope that some of you could add comments to these 4 bugreports to help the gentoo-ebuild-writer. Gentoo is probably the only distro without a uptodate Inkscape and that is a shame. If you don't want to do it yourself write me a mail and I will add the comments.
Thanks in advance,
Carsten
[1] http://packages.gentoo.org/search/?sstring=inkscape [2] http://bugs.gentoo.org/show_bug.cgi?id=73743 [3] http://bugs.gentoo.org/show_bug.cgi?id=71017 [4] http://bugs.gentoo.org/show_bug.cgi?id=73619

On Wed, 08 Dec 2004 09:41:35 +0100, Carsten Niehaus wrote:
[1] http://packages.gentoo.org/search/?sstring=inkscape [2] http://bugs.gentoo.org/show_bug.cgi?id=73743
I've been working on this one for the past week, as I was told it was a crash that only happened with the autopackages.
In fact it seems to be C++ ABI related - I cleaned my system of GTKmm/GLIBmm entirely, used the autopackaged versions, and it went away.
Unfortunately this bug is really hard to reproduce because C++ optimization causes parts of the STL to be inlined making it hard to figure out which line is actually crashing (it's a string delete). When I built an unoptimized package on navi (the autopackage build machine), the crash went away.
So I'd check that this guy isn't in the middle of a compiler transition. Re-emerging GTKmm/GLIBmm/sigc++ may help.
This guy has apparently emerged glib (gthreads) with the wrong USE flags. gthreads should be enabled but the error message implies that it's not.
thanks -mike

On Wed, 8 Dec 2004, Carsten Niehaus wrote:
The reasons are that Inkscape is "known" to crash an startup for some people (see e.g. [2]).
A backtrace from gdb (not an strace trace) would be required to diagnose this one. It's either the result of a double free or something attempting to use an uninitialized pointer.
NPTL should not make a difference.
I am using 0.39 since it it released with the ebuild Gentoo provides as "unstable" and had _no_ problems at all. For Inkscape 0.40 there is the problems of new deps, esp. libboehm and gtmmm. See [3] for it.
Our use of the boehm collector should no longer require C++ support to be enabled... (at least as of 0.40 -- we have our own C++ support layer now)
As for gtkmm, version 2.4 or later is absolutely required.
Furthermore there have been a lot reports about GLIB-crashes I never could reproduce. See [4] for a glib-crash in 0.40.
Hmm. I did not think we were using threads at all; most of Inkscape is not currently threadsafe, so thread use has been forbidden to developers.
[ could someone please grep to verify that we aren't using any glib thread functions? ]
Perhaps for some people a library used for printing (gnome-print or something?) has been built in such a way that it requires a threaded application?
I hope that some of you could add comments to these 4 bugreports to help the gentoo-ebuild-writer. Gentoo is probably the only distro without a uptodate Inkscape and that is a shame. If you don't want to do it yourself write me a mail and I will add the comments.
Hope these comments are helpful.
-mental

On Wed, 8 Dec 2004, MenTaLguY wrote:
On Wed, 8 Dec 2004, Carsten Niehaus wrote:
The reasons are that Inkscape is "known" to crash an startup for some people (see e.g. [2]).
A backtrace from gdb (not an strace trace) would be required to diagnose this one. It's either the result of a double free or something attempting to use an uninitialized pointer.
NPTL should not make a difference.
Looking at the strace, it appears to be choking after loading libgimpgrad.so:
access("/usr/bin/gs", F_OK) = 0 access("/usr/lib/inkscape/plugins/libgimpgrad.so", F_OK) = 0 writev(2, [{"*** glibc detected *** ", 23}, {"free(): invalid pointer", 23}, {": 0x0838c460 ***\n", 17}], 3*** glibc detected *** free(): invalid pointer: 0x0838c460 *** ) = 63 rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
Last week we were looking at a very similar issue (on Mandrake IIRC) and traced the issue down to a particular extension (gimpgrad). Ted said this was the only extension that used a loadable library.
http://sourceforge.net/mailarchive/forum.php?thread_id=6091850&forum_id=...
Could people who are able to recreate this bug try deleting the gimpgrad.inx file from their installation and see if that resolves the problem? This file should be located in /usr/share/inkscape/extensions or similar.
Bryce

Bryce Harrington wrote:
On Wed, 8 Dec 2004, MenTaLguY wrote:
On Wed, 8 Dec 2004, Carsten Niehaus wrote:
The reasons are that Inkscape is "known" to crash an startup for some people (see e.g. [2]).
A backtrace from gdb (not an strace trace) would be required to diagnose this one. It's either the result of a double free or something attempting to use an uninitialized pointer.
NPTL should not make a difference.
Looking at the strace, it appears to be choking after loading libgimpgrad.so:
access("/usr/bin/gs", F_OK) = 0 access("/usr/lib/inkscape/plugins/libgimpgrad.so", F_OK) = 0 writev(2, [{"*** glibc detected *** ", 23}, {"free(): invalid pointer", 23}, {": 0x0838c460 ***\n", 17}], 3*** glibc detected *** free(): invalid pointer: 0x0838c460 *** ) = 63 rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
Last week we were looking at a very similar issue (on Mandrake IIRC) and traced the issue down to a particular extension (gimpgrad). Ted said this was the only extension that used a loadable library.
http://sourceforge.net/mailarchive/forum.php?thread_id=6091850&forum_id=...
Could people who are able to recreate this bug try deleting the gimpgrad.inx file from their installation and see if that resolves the problem? This file should be located in /usr/share/inkscape/extensions or similar.
Bryce
Hey, this looks familiar!
"free(): invalid pointer", 23}, {": 0x0838c460 ***\n", 17}], 3*** glibc detected *** free(): invalid pointer: 0x0838c460 *** ) = 63
looks almost precisely like the Boehm-GC and DLL problem. Can this be another address space problem between executable and shared object?
And would maybe the -fPIC flag help here?
Bob

On Thu, 9 Dec 2004, Bob Jamison wrote:
looks almost precisely like the Boehm-GC and DLL problem. Can this be another address space problem between executable and shared object?
Not on Linux; on Linux (and most Unix systems I'm aware of) shared objects and the executable all live in the same address space.
-mental

On Wed, 08 Dec 2004 10:41:32 -0500, MenTaLguY wrote:
Hmm. I did not think we were using threads at all; most of Inkscape is not currently threadsafe, so thread use has been forbidden to developers.
It's from the binreloc code. Originally it used pthreads, and for portability was then adjusted to use gthreads. The thread related code could all be scrapped - long time working on Wine has got me into the habit of writing thread-safe code by default when possible, if Inkscape doesn't ever plan to be thread-safe then there's no need for it in binreloc either.
On the crash: yes it takes place in the extension dependency management code (Inkscape::Dependency::check, i think) but I didn't take time to figure out exactly what was going on there.

Ignore me. looks like Mike figured them out. Comments about boehm and gtkmm still apply.
-mental

On Wed, 8 Dec 2004, Carsten Niehaus wrote:
As some of you might know Inkscape is outdated in Gentoo. Version 0.37 is marked as stable, 0.38, 0.39 and 0.40 are marked unstable (~ARCH) [1]. The reasons are that Inkscape is "known" to crash an startup for some people (see e.g. [2]). I am using 0.39 since it it released with the ebuild Gentoo provides as "unstable" and had _no_ problems at all. For Inkscape 0.40 there is the problems of new deps, esp. libboehm and gtmmm. See [3] for it. Furthermore there have been a lot reports about GLIB-crashes I never could reproduce. See [4] for a glib-crash in 0.40.
Yeah, I'm also using Inkscape on Gentoo with no problems. I went through the bug reports and commented on a couple of them. #2 smells a bit like a gimpgrad extension issue we worked on last week. The others I have no clue on.
I hope that some of you could add comments to these 4 bugreports to help the gentoo-ebuild-writer. Gentoo is probably the only distro without a uptodate Inkscape and that is a shame. If you don't want to do it yourself write me a mail and I will add the comments.
Yeah, it's quite a shame that it's not included in stable. On the other hand, I'm glad they're so fickle, now I understand why Gentoo has been so reliable for me. ;-)
Anyway, I've added a few comments and hope we can get all these problems sorted out, and that we'll see Inkscape 0.40 in Gentoo stable soon.
Bryce
participants (5)
-
Bob Jamison
-
Bryce Harrington
-
Carsten Niehaus
-
MenTaLguY
-
Mike Hearn