
Hi,
I have a reproducable crash on CVS from a few days ago, when doing the following:
* Start Inkscape * Zoom in a bit on the blank canvas * Add a new circle (made whole) * Press ctrl+shift+f (fill/stroke dialog).
Here is the backtrace:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1087436352 (LWP 15995)] 0x080b1589 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 256 ~basic_ios() { } (gdb) bt #0 0x080b1589 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 #1 0x080b15c8 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 #2 0x0814be5a in sp_marker_prev_new(unsigned, char const*, SPDocument*, SPDocument*, char*, NRArena const*, unsigned, NRArenaItem*) (size=22, mname=0x87534a0 "Arrow1M", source=0x83134a8, sandbox=0x8313470, menu_id=0x822f56b "marker-start", arena=0x87db328, visionkey=7, root=0x875f600) at sp-object.h:173 #3 0x0814c51a in sp_marker_list_from_doc (m=0x8647700, current_doc=0x8313400, source=0x83134a8, markers_doc=0x0, sandbox=0x8313470, menu_id=0x822f56b "marker-start") at dialogs/stroke-style.cpp:1008 #4 0x0814c9b6 in ink_marker_menu (tbl=0x88c1e58, menu_id=0x822f56b "marker-start", sandbox=0x8313470) at dialogs/stroke-style.cpp:1126 #5 0x0814da4e in sp_stroke_style_line_widget_new() () at dialogs/stroke-style.cpp:1532 #6 0x081481cf in sp_object_properties_dialog() () at dialogs/object-properties.cpp:216 #7 0x081a00aa in sp_action_perform(SPAction*, void*) (action=0x879a3d0, data=0x0) at helper/action.cpp:132 #8 0x0809dcc6 in sp_shortcut_invoke(unsigned, SPView*) (shortcut=50331718, view=0x858b130) at shortcuts.cpp:33 #9 0x081a2816 in sp_window_key_press (widget=0x894c468, event=0x0) at helper/window.cpp:34 #10 0x405c427c in _gtk_marshal_BOOLEAN__BOXED (closure=0xbffff2d4, return_value=0xbffff190, n_param_values=2, param_values=0xbffff2c0, invocation_hint=0xbffff1b8, marshal_data=0x0) at gtkmarshalers.c:82 #11 0x40884dd6 in g_closure_invoke (closure=0x894c450, return_value=0xbffff190, n_param_values=2, param_values=0xbffff2c0, invocation_hint=0xbffff1b8) at gclosure.c:437 #12 0x4089698a in signal_emit_unlocked_R (node=0x831c268, detail=0, instance=0x894c468, emission_return=0xbffff260, instance_and_params=0xbffff2c0) at gsignal.c:2506 #13 0x40895a21 in g_signal_emit_valist (instance=0x894c468, signal_id=0, detail=0, var_args=0xbffff450 "h\2240\bx}\213j@...455...") at gsignal.c:2205 #14 0x40895eab in g_signal_emit (instance=0x894c468, signal_id=52, detail=0) at gsignal.c:2239 #15 0x406a8ebc in gtk_widget_event_internal (widget=0x894c468, event=0x8974620) at gtkwidget.c:3563 ---Type <return> to continue, or q <return> to quit--- #16 0x405c2a16 in gtk_propagate_event (widget=0x894c468, event=0x8974620) at gtkmain.c:2318 #17 0x405c1857 in gtk_main_do_event (event=0x8974620) at gtkmain.c:1582 #18 0x4079844a in gdk_event_dispatch (source=0x0, callback=0, user_data=0x0) at gdkevents-x11.c:2133 #19 0x408d1384 in g_main_dispatch (context=0x82c0000) at gmain.c:1895 #20 0x408d2349 in g_main_context_dispatch (context=0x82c0000) at gmain.c:2441 #21 0x408d266e in g_main_context_iterate (context=0x82c0000, block=1, dispatch=1, self=0x82c24c0) at gmain.c:2522 #22 0x408d2bd6 in g_main_loop_run (loop=0x8982d68) at gmain.c:2726 #23 0x405c11cb in gtk_main () at gtkmain.c:1172 #24 0x08089ead in sp_main_gui(int, char const**) (argc=1, argv=0xbffff6f4) at main.cpp:311 #25 0x08089d24 in main (argc=1, argv=0xbffff6f4) at main.cpp:233
thanks -mike

Hi,
I have a reproducable crash on CVS from a few days ago, when doing the following:
- Start Inkscape
- Zoom in a bit on the blank canvas
- Add a new circle (made whole)
- Press ctrl+shift+f (fill/stroke dialog).
What do you mean by "zoom in a bit"? I tried to reproduce the crash, but could not.
Arpad Biro
__________________________________ Do you Yahoo!? Yahoo! Mail - 50x more storage than other providers! http://promotions.yahoo.com/new_mail

I also can't reproduce it, and the backtrace looks strange:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1087436352 (LWP 15995)] 0x080b1589 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 256 ~basic_ios() { } (gdb) bt #0 0x080b1589 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 #1 0x080b15c8 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 #2 0x0814be5a in sp_marker_prev_new(unsigned, char const*, SPDocument*, SPDocument*, char*, NRArena const*, unsigned, NRArenaItem*) (size=22, mname=0x87534a0 "Arrow1M", source=0x83134a8, sandbox=0x8313470, menu_id=0x822f56b "marker-start", arena=0x87db328, visionkey=7, root=0x875f600) at sp-object.h:173
We don't have any basic_ios.h, and sp_marker_prev_new is not in sp-object.h. Anyway, the params to sp_marker_prev_new look OK to me.
Can you try recompiling with different optimization settings?

I would appreciate if anyone reading this would try to reproduce this crash and report the results. Mike, if you can provide more information on your environment that would be helpful.
- Start Inkscape
- Zoom in a bit on the blank canvas
- Add a new circle (made whole)
- Press ctrl+shift+f (fill/stroke dialog).

While refactoring and commenting the align dialog code, I found a weird thing in, which I think is a bug. It should cause the distribute right and distribute top doing nothing, and distribute centers to work wrong. The code is in the static void sp_align_distribute_h_or_v_clicked(GtkWidget *, gchar const *layout, NR::Dim2 dim) function, while computing anchors to sort bounding boxes on the X or Y axis. The code currently in CVS does that : bbs[pos].anchor = 0.5 * layout[0] * bbs[pos].bbox.min()[dim] + 0.5 * layout[0] * bbs[pos].bbox.max()[dim];
Layout being an array of 3 elements. The last one does not interest us here. The first one is a coefficient for the beginning of the axis (ie left for X, top for Y), the second for the end. Here, you can see the *SAME* coefficient applied to the "beginning" of the bbox and the "end of the bbox". The patch is easy and the correct code is :
bbs[pos].anchor = 0.5 * layout[0] * bbs[pos].bbox.min()[dim] + 0.5 * layout[1] * bbs[pos].bbox.max()[dim];
Looks like it's a regression between 1.20 and 1.19 of align.cpp: http://cvs.sourceforge.net/viewcvs.py/inkscape/inkscape/src/dialogs/align.cp...
Hope this helps.
BTW, I finished refactoring the align dialog to use gtkmm and more OO code. Now I'll add the align nodes features.
I also would like to talk about the possibility to use the dialogs like in gimp2 (drag and dropable notebook tabs, multiple instances of the same dialog, etc) I started a very simple implementation, but I'm not sure you want to do that. Now I'm used to it, I find it easier to remember keyboard shortcuts and have transient dialogs. No mess with tabs. PLease let me know your opinions.
Kindly, obi.

bbs[pos].anchor = 0.5 * layout[0] * bbs[pos].bbox.min()[dim] + 0.5 * layout[1] * bbs[pos].bbox.max()[dim];
Thank you! I committed this change so it will be in 0.39. Now all distribute modes work as expected. This fixes bug 990112.
BTW, I finished refactoring the align dialog to use gtkmm and more OO code. Now I'll add the align nodes features.
How is it going to look in terms of UI? I think the most intuitive would be to make it work on selected nodes when the node edit tool is active on the active desktop, and on selected objects otherwise. This way you need no additional buttons or switches in the dialog.
Also it would be nice to disable all or some of the buttons depending on what is selected. Thus, if no objects or only object is selected, all align/distribute buttons are grayed out; if several nodes are selected, "distribute top/bottom/right/left" are disabled because they make no sense for sizeless nodes (only distribute centers and equi-spaced remain).
I also would like to talk about the possibility to use the dialogs like in gimp2 (drag and dropable notebook tabs, multiple instances of the same dialog, etc) I started a very simple implementation, but I'm not sure you want to do that. Now I'm used to it, I find it easier to remember keyboard shortcuts and have transient dialogs. No mess with tabs. PLease let me know your opinions.
Draggable notebook tabs may be a good idea - it will let one combine all the tabs used frequently into one dialog and have only that dialog open, thus saving space. But it's likely to be rather difficult to implement, it will very much disrupt our old dialogs code.
Multiple instances of the same dialog does not sound like a good idea at all. I think it will be just confusing without any advantage.

On Thu, 2004-07-15 at 17:11, Aubanel MONNIER wrote:
Layout being an array of 3 elements. The last one does not interest us here. The first one is a coefficient for the beginning of the axis (ie left for X, top for Y), the second for the end. Here, you can see the *SAME* coefficient applied to the "beginning" of the bbox and the "end of the bbox". The patch is easy and the correct code is :
bbs[pos].anchor = 0.5 * layout[0] * bbs[pos].bbox.min()[dim] + 0.5 * layout[1] * bbs[pos].bbox.max()[dim];
Could you please submit this to the patch tracker in group 0.39 FREEZE?
-mental

[snip]
bbs[pos].anchor = 0.5 * layout[0] * bbs[pos].bbox.min()[dim] + 0.5 * layout[1] * bbs[pos].bbox.max()[dim];
Looks like it's a regression between 1.20 and 1.19 of align.cpp: http://cvs.sourceforge.net/viewcvs.py/inkscape/inkscape/src/dialogs/align.cp...
My fault. Sorry about that. Thanks for the find and the fix.
Carl

Cannot reproduce it. Fill/stroke dialog works fine.
win2000 build of 14th July
vellum
----- Original Message ----- From: "bulia byak" <buliabyak@...400...> To: "Mike Hearn" <mike@...333...> Cc: inkscape-devel@lists.sourceforge.net Sent: Friday, July 16, 2004 6:10 AM Subject: Re: [Inkscape-devel] Crash on editing a circle
I would appreciate if anyone reading this would try to reproduce this crash and report the results. Mike, if you can provide more information on your environment that would be helpful.
- Start Inkscape
- Zoom in a bit on the blank canvas
- Add a new circle (made whole)
- Press ctrl+shift+f (fill/stroke dialog).
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

Could not either. works fine here on linux debian sarge
On Friday 16 July 2004 00:34, vellum wrote:
Cannot reproduce it. Fill/stroke dialog works fine.
win2000 build of 14th July
vellum
----- Original Message ----- From: "bulia byak" <buliabyak@...400...> To: "Mike Hearn" <mike@...333...> Cc: inkscape-devel@lists.sourceforge.net Sent: Friday, July 16, 2004 6:10 AM Subject: Re: [Inkscape-devel] Crash on editing a circle
I would appreciate if anyone reading this would try to reproduce this crash and report the results. Mike, if you can provide more information on your environment that would be helpful.
- Start Inkscape
- Zoom in a bit on the blank canvas
- Add a new circle (made whole)
- Press ctrl+shift+f (fill/stroke dialog).
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

On Thu, Jul 15, 2004 at 05:10:19PM -0300, bulia byak wrote:
I would appreciate if anyone reading this would try to reproduce this crash and report the results. Mike, if you can provide more information on your environment that would be helpful.
- Start Inkscape
- Zoom in a bit on the blank canvas
- Add a new circle (made whole)
- Press ctrl+shift+f (fill/stroke dialog).
No crash for me. Using CVS on debian unstable.

bulia byak <buliabyak@...400...> writes:
I also can't reproduce it, and the backtrace looks strange:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1087436352 (LWP 15995)] 0x080b1589 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 256 ~basic_ios() { } (gdb) bt #0 0x080b1589 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 #1 0x080b15c8 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 #2 0x0814be5a in sp_marker_prev_new(unsigned, char const*, SPDocument*, SPDocument*, char*, NRArena const*, unsigned, NRArenaItem*) (size=22, mname=0x87534a0 "Arrow1M", source=0x83134a8, sandbox=0x8313470, menu_id=0x822f56b "marker-start", arena=0x87db328, visionkey=7, root=0x875f600) at sp-object.h:173
We don't have any basic_ios.h, and sp_marker_prev_new is not in sp-object.h. Anyway, the params to sp_marker_prev_new look OK to me.
basic_ios.h is a part of the C++ standard library:
15:43:39 /source/inkscape :) locate basic_ios.h /usr/include/c++/3.3.2/bits/basic_ios.h /usr/local/include/c++/3.2.3/bits/basic_ios.h /source/gcc-3.3.2/libstdc++-v3/include/bits/basic_ios.h
Can you try recompiling with different optimization settings?
Crash still occurs with -O0
Inkscape crashes for me on opening the fill/stroke dialog no matter what I do, even in the case of it being the very first thing I do. I'm compiling this with stock GCC (nothing autopackage related), binreloc off, etc.
thanks -mike

Hi
For what it's worth, I seem to remember having had a similar problem a while ago compiling from the snapshot.
My just compiled copy was a different version than the one installed in prefix. I was going to just try it out before installing it (running src/inkscape). But the result was that the installed copy (debian unstable, from apt-get) showed the behaviour you describe and crashed on opening the fill/stroke dialog. Installing the snapshot over the older version in prefix fixed it.
The reasons might be multiple, of course... Sorry if I cannot reproduce it now. May try later.
best regards
Áki
Mike Hearn wrote:
bulia byak <buliabyak@...400...> writes:
I also can't reproduce it, and the backtrace looks strange:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1087436352 (LWP 15995)] 0x080b1589 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 256 ~basic_ios() { } (gdb) bt #0 0x080b1589 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 #1 0x080b15c8 in SPObject::deleteObject(bool, bool) () at basic_ios.h:256 #2 0x0814be5a in sp_marker_prev_new(unsigned, char const*, SPDocument*, SPDocument*, char*, NRArena const*, unsigned, NRArenaItem*) (size=22, mname=0x87534a0 "Arrow1M", source=0x83134a8, sandbox=0x8313470, menu_id=0x822f56b "marker-start", arena=0x87db328, visionkey=7, root=0x875f600) at sp-object.h:173
We don't have any basic_ios.h, and sp_marker_prev_new is not in sp-object.h. Anyway, the params to sp_marker_prev_new look OK to me.
basic_ios.h is a part of the C++ standard library:
15:43:39 /source/inkscape :) locate basic_ios.h /usr/include/c++/3.3.2/bits/basic_ios.h /usr/local/include/c++/3.2.3/bits/basic_ios.h /source/gcc-3.3.2/libstdc++-v3/include/bits/basic_ios.h
Can you try recompiling with different optimization settings?
Crash still occurs with -O0
Inkscape crashes for me on opening the fill/stroke dialog no matter what I do, even in the case of it being the very first thing I do. I'm compiling this with stock GCC (nothing autopackage related), binreloc off, etc.
thanks -mike
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

The only thing I can think of is that 0.38 crashes on opening fill&stroke if your preferences.xml was created by 0.39 (it's a Known Issue). But if you run 0.39, I have no idea...

Oddly, I compiled it against the GTK 2.2 headers and now it works great.
On Sat, 2004-07-17 at 15:39 -0300, bulia byak wrote:
The only thing I can think of is that 0.38 crashes on opening fill&stroke if your preferences.xml was created by 0.39 (it's a Known Issue). But if you run 0.39, I have no idea...
participants (9)
-
"Áki G. Karlsson"
-
Arpad Biro
-
Aubanel MONNIER
-
bulia byak
-
Carl Hetherington
-
Kees Cook
-
MenTaLguY
-
Mike Hearn
-
vellum