Operations in Fill/Stroke dialog results in SEGV (on a 64bit Mac)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
New
|
High
|
Unassigned |
Bug Description
Operations in Fill/Stroke dialog results in segmentation faults (on 64bit Macs).
Here are steps to reproduce the situation. Segmentation faults are observed
while performing other operations such as those in "Stroke paint" tab, as well.
1. Draw a straight line.
2. Right-click on the line and click on "fill and stroke" item.
3. In "Fill and Stroke" pane, choose "Stroke style" tab.
4. Within the tab, click on "Start Makers:" pull-down menu and select one of
candidates.
Output of "inkscape --version" is "Inkscape 0.48.0 r9654 (Nov 6 2010)".
Operating System running on the system is Mac OS X 10.6 (Snow Leopard), and
output of "uname -a" (partially modified) is shown below.
Darwin * 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-
Parts of GDB output obtained with debug build of inkscape and glib-2.24.2
is shown below.
helvetica:~ tanida$ LANG=C DYLD_LIBRARY_
...
(gdb) r
...
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_
0x000000010026d2fe in Inkscape:
188 bool isEmpty() const { return _objs == NULL; }
(gdb) where
#0 0x000000010026d2fe in Inkscape:
#1 0x0000000100535a88 in sp_stroke_
#2 0x00000001005360aa in sp_stroke_
#3 0x0000000103894fab in g_closure_invoke (closure=
#4 0x00000001038ae41e in signal_
#5 0x00000001038ad195 in g_signal_
#6 0x00000001038ad7a8 in g_signal_emit (instance=
#7 0x00000001005304b0 in sp_widget_
#8 0x00000001038afda1 in g_cclosure_
#9 0x0000000103894fab in g_closure_invoke (closure=
#10 0x00000001038ae41e in signal_
#11 0x00000001038ad195 in g_signal_
#12 0x00000001038ad7a8 in g_signal_emit (instance=
#13 0x00000001000ebce1 in inkscape_
#14 0x0000000100160f5b in Inkscape:
#15 0x0000000100160fb6 in Inkscape:
#16 0x000000010393a8f9 in g_idle_dispatch (source=
#17 0x0000000103936492 in g_main_dispatch (context=
#18 0x0000000103937c9e in g_main_
#19 0x0000000103938273 in g_main_
#20 0x0000000103938ada in g_main_loop_run (loop=0x108bf33f0) at gmain.c:2799
#21 0x0000000102ec4c70 in gtk_main ()
#22 0x0000000100031087 in sp_main_gui (argc=1, argv=0x7fff5fbf
#23 0x0000000100272e68 in Inkscape:
#24 0x000000010003182d in main (argc=1, argv=0x7fff5fbf
I guess the problem is in handling of 64bit address in Inkscape or Glib.
While "selection" pointer variable has longer-than-32bit value of 0x10816f5a0
at #13, it is truncated to 32bit value of 0x816f5a0 at #7.
The problem may reproduce on other 64bit operating systems which frequently
uses higher-than-32bit virtual addresses, while this seems not to be the case
in Linux.
Did you build Inkscape yourself or are you using the official package from sf.net?
Seems like a duplicate of style_line_ update( ) when drawing with opened "Fill and Stroke" dialog”: /bugs.launchpad .net/inkscape/ +bug/629363>
Bug #629363 “inkscape 0.48 crashes in sp_stroke_
<https:/