crash when saving a clipped pattern to pdf

Bug #847168 reported by Alvin Penner on 2011-09-11
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
High
Unassigned

Bug Description

Windows XP, Inkscape rev 10627

the attached file clippattern.svg was originally a clipped path (ellipse clipped by a star). This was converted to a pattern. When I try to save it as .pdf I get a crash with no useable information other than some warnings that are not relevant.

** (inkscape.exe:2716): WARNING **: Inkscape currently only supports color-interpolation-filters = sRGB

I was unable to get a backtrace. When I tried to load the svg file from gdb then I got the following Inkscape crash during the load process so I was not able to attempt the .pdf file save.

warning: Lowest section in C:\WINDOWS\system32\xpsp2res.dll is .rsrc at 00011000

[New thread 3296.0xd84]
[New thread 3296.0xd28]
[New thread 3296.0xbdc]
warning: HEAP[inkscape.exe]:
warning: HEAP: Free Heap block 3683be0 modified at 3683d88 after it was freed

Program received signal SIGTRAP, Trace/breakpoint trap.
0x7c90120f in ntdll!DbgUiConnectToDbg () from C:\WINDOWS\system32\ntdll.dll
(gdb) bt
#0 0x7c90120f in ntdll!DbgUiConnectToDbg ()
   from C:\WINDOWS\system32\ntdll.dll
Cannot access memory at address 0x22e75c

Alvin Penner (apenner) wrote :
su_v (suv-lp) on 2011-09-11
tags: added: crash exporting pdf
Changed in inkscape:
importance: Undecided → High
su_v (suv-lp) wrote :

Reproduced on Mac OS X 10.5.8 (i386), cairo 1.10.2:
- Inkscape 0.48+devel r10325 (old renderer) fails to save the PDF file (apparently failure in cairo)

Inkscape trunk (after the merge of rendering-cairo) hangs while grabbing all available memory, until interrupted (when running from gdb):
- Inkscape 0.48+devel rendering cairo r9598
- Inkscape 0.48+devel r10450, r10627

Backtrace when interrupting current trunk appears to be 'stuck' in cairo:
Program received signal SIGINT, Interrupt.
0x03e52cad in _cairo_pdf_surface_emit_image ()

Full backtraces attached.

Changed in inkscape:
status: New → Triaged
tags: added: renderer-cairo
su_v (suv-lp) wrote :

Same as Bug #767010 “Segfault after enormous memory consumption when exporting to pdf”?

su_v (suv-lp) wrote :

- Inkscape 0.48+devel r11701, Mac OS X 10.5.8 (i386), cairo 1.10.2
Crash not reproduced, but Inkscape grabs all available memory, and takes over a minute to export the "simple" page to PDF.
Size of exported PDF file: 2.1 MB (!)

- Inkscape 0.48+devel r11701, Mac OS X 10.5.8 (i386), cairo 1.11.4
Crash or hang not reproduced, memory usage spikes for only for a short moment.
Size of exported PF file: 616 KB

- Inkscape 0.48+devel r11701, OS X 10.7.4 (x86_64), cairo 1.12.2:
Crash or hang not reproduced, memory usage spikes for only for a short moment.
Size of exported PDF file: 1.1 MB

The only differences in these tests are in the version of cairo which is used by inkscape trunk -> looks like an upstream issue with older cairo versions (?).

Not sure about what causes the varying file sizes (visually, the PDF files look the same).

tags: added: cairo
removed: renderer-cairo
jazzynico (jazzynico) wrote :

Crash reproduced on Windows XP, Inkscape 0.48.3.1 (cairo 1.11.2) and trunk revision 11871 (cairo 1.12.8, local test).

jazzynico (jazzynico) wrote :

GDB backtrace (with 0.48.3.1):
----
Program received signal SIGSEGV, Segmentation fault.
0x68e0c877 in _cairo_surface_get_extents () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
(gdb) bt
#0 0x68e0c877 in _cairo_surface_get_extents () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#1 0x68e0c887 in _cairo_surface_get_extents () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#2 0x68dfd47a in _cairo_pattern_is_clear () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#3 0x68e0e877 in _cairo_surface_mask () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#4 0x68e160e3 in _cairo_surface_wrapper_mask () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#5 0x68e00120 in _cairo_recording_surface_replay_internal () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#6 0x68e00bf7 in _cairo_recording_surface_snapshot () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#7 0x68e13eb4 in _cairo_surface_snapshot () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#8 0x68dfdf1f in _cairo_pattern_init_snapshot () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#9 0x68e014a2 in _cairo_recording_surface_fill () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#10 0x68e0df4f in _cairo_surface_fill () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#11 0x68e0df4f in _cairo_surface_fill () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#12 0x68ddd831 in _cairo_gstate_fill () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#13 0x68dd1f27 in cairo_fill () from D:\Inkscape\inkscape-0.48.3-1\libcairo-2.dll
#14 0x00675a89 in Inkscape::Extension::Internal::CairoRenderContext::renderPathVector ()
#15 0x00000001 in ?? ()
#16 0x00000000 in ?? ()
----

su_v (suv-lp) on 2015-09-20
tags: added: pattern
Alvin Penner (apenner) wrote :

attaching a more recent backtrace using Windows XP, Inkscape 0.91+devel r14357 (Sep 12 2015)

.........................................

Program received signal SIGSEGV, Segmentation fault.
0x68e0c877 in _cairo_surface_get_extents ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
(gdb) bt
#0 0x68e0c877 in _cairo_surface_get_extents ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#1 0x68e0c887 in _cairo_surface_get_extents ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#2 0x68dfd47a in _cairo_pattern_is_clear ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#3 0x68e0e877 in _cairo_surface_mask ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#4 0x68e160e3 in _cairo_surface_wrapper_mask ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#5 0x68e00120 in _cairo_recording_surface_replay_internal ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#6 0x68e00bf7 in _cairo_recording_surface_snapshot ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#7 0x68e13eb4 in _cairo_surface_snapshot ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#8 0x68dfdf1f in _cairo_pattern_init_snapshot ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#9 0x68e014a2 in _cairo_recording_surface_fill ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#10 0x68e0df4f in _cairo_surface_fill ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#11 0x68e0df4f in _cairo_surface_fill ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#12 0x68ddd831 in _cairo_gstate_fill ()
   from C:\InkscapeBZR\inkscape\libcairo-2.dll
#13 0x68dd1f27 in cairo_fill () from C:\InkscapeBZR\inkscape\libcairo-2.dll
#14 0x0057a73e in Inkscape::Extension::Internal::CairoRenderContext::renderPathVector ()
#15 0x00000000 in ?? ()

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers