Comment 14 for bug 1204732

Revision history for this message
su_v (suv-lp) wrote : [Bug 1204732] Re: inkscape crashed with SIGABRT in __gnu_cxx::__verbose_terminate_handler()

On 2013-08-12 14:11 +0200, JazzyNico wrote:
> Confirmed on Windows XP, Inkscape trunk revision 12473 with example 1
> from comment #7 (examples 2 and 3 doesn't crash the application).

Thanks for noticing - I failed to catch that this particular crash with
a completely empty description also affects the builds with older
versions of the dependencies on OS X 10.7.5 (see comment #6).

> Attached is a patch that tests empty strings (in that case the
> description widget is removed).
> Please test!

r12473+patch tested on OS X 10.7.5 with
A - GTK+/Quartz 2.24.17, glib 2.34.3, libxml2 2.8.0
B - GTK+/Quartz 2.24.20, glib 2.36.4, libxml2 2.9.1

using these test cases:
1) empty description parameter (affects A, B)
2) space (" ") as description content (affects B)
3) newline as description content (affects B)

While the patch does prevent all known variants of the crash, it's still
unclear to me what kind of change in which external library causes the
crashes of type 2) and 3) - the proposed fix doesn't address this
specifically.

The rendered result of the INX file with patched builds differs
depending on this yet unknown difference: description parameters with a
space or newline as content are now omitted too with those patched
builds which otherwise crash (the actual issue & example reported here):

Please have a look at the attached sample INX and the screenshot - on
the left the dialog from a patched build which didn't crash before, on
the right from a patched build with newer libs which now no longer
crashes but (somewhat unexpectedly) omits description parameters with
not-quite-empty content (used as spacer elements).

<off-topic>
Since the crashes of type 2) and 3) are triggered (at least in the
examples I have encountered) by using an "not-quite-empty" description
parameter (with space or newline as content) as spacer element in custom
extension dialogs - are there other (crash-proof) INX options which
could be used instead for such purposes?
</off-topic>