Connector tool crash Inkscape (orthogonal mode)
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| Inkscape |
Fix Released
|
High
|
Gellule | ||
| inkscape (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Bug Description
There were quite a lot of similar bugs reported. Namely:
https:/
https:/
https:/
Hopefully, this report is not a duplicate.
1) draw a box
2) select "connector tool"
3) click "make connector orthogonal or polyline"
4) click on the node in the center of the box
5) click second time on the node (or a double click in step 4)
6) inkscape crashes with window saying "Inkscape encountered an internal error and will close now.
Automatic backups of unsaved documents were done to the following locations: .....". As it was already reported in other bug reports, saved file also crashes Inkscape.
Ubuntu 11.04/Inkscape 0.48.1
Related branches
- Bryce Harrington: Approve (packaging)
- Ubuntu branches: Pending requested
-
Diff: 99212 lines (+46210/-23783) 335 files modifiedapiInfo.plist (+3/-3)
Makefile.in (+4/-0)
aclocal.m4 (+8/-6)
build.xml (+6/-2)
config.guess (+120/-105)
config.h.in (+6/-0)
config.sub (+101/-55)
configure (+565/-356)
configure.ac (+33/-5)
debian/changelog (+22/-0)
debian/patches/00list (+0/-5)
debian/patches/01-libwpg0.2.dpatch (+0/-99)
debian/patches/03-add-missing-mimetypes.dpatch (+0/-20)
debian/patches/04-fix-build-with-gcc4.6.dpatch (+0/-18)
debian/patches/05-add-missing-includes.dpatch (+0/-799)
debian/patches/fix-fontforge-glyph-template.dpatch (+0/-82)
doc/Makefile.am (+2/-6)
doc/Makefile.in (+6/-6)
doc/keys-html.xsl (+0/-208)
doc/keys-svg.xsl (+0/-1315)
doc/keys.README (+3/-26)
doc/keys.de.xml (+0/-1107)
doc/keys.en.html (+8794/-0)
doc/keys.fr.html (+8787/-1110)
doc/keys.fr.xml (+0/-1135)
doc/keys.html (+0/-1415)
doc/keys.ja.html (+8787/-0)
doc/keys.xml (+0/-1429)
inkscape.1 (+3/-3)
inkscape.desktop.in (+1/-1)
inkscape.fr.1 (+3/-3)
inkscape.spec (+1/-1)
po/br.po (+13/-13)
po/fa.po (+2096/-2460)
po/gl.po (+1956/-653)
po/id.po (+2398/-1401)
po/ja.po (+6508/-5750)
po/nl.po (+2/-2)
share/Makefile.in (+4/-0)
share/clipart/Makefile.in (+4/-0)
share/examples/Makefile.in (+4/-0)
share/extensions/Barcode/Makefile.in (+4/-0)
share/extensions/Makefile.in (+4/-0)
share/extensions/Poly3DObjects/Makefile.in (+4/-0)
share/extensions/alphabet_soup/Makefile.in (+4/-0)
share/extensions/dxf_input.py (+87/-28)
share/extensions/dxf_outlines.py (+36/-20)
share/extensions/funcplot.py (+8/-4)
share/extensions/interp.py (+4/-1)
share/extensions/polyhedron_3d.inx (+2/-2)
share/extensions/restack.py (+25/-17)
share/extensions/svg2xaml.xsl (+2125/-659)
share/extensions/test/Makefile.in (+4/-0)
share/extensions/xaml2svg/Makefile.in (+4/-0)
share/filters/Makefile.in (+4/-0)
share/filters/filters.svg (+2/-2)
share/fonts/Makefile.in (+4/-0)
share/gradients/Makefile.in (+4/-0)
share/icons/Makefile.in (+4/-0)
share/icons/application/16x16/Makefile.in (+4/-0)
share/icons/application/22x22/Makefile.in (+4/-0)
share/icons/application/24x24/Makefile.in (+4/-0)
share/icons/application/256x256/Makefile.in (+4/-0)
share/icons/application/32x32/Makefile.in (+4/-0)
share/icons/application/48x48/Makefile.in (+4/-0)
share/icons/application/Makefile.in (+4/-0)
share/keys/Makefile.in (+4/-0)
share/markers/Makefile.in (+4/-0)
share/palettes/Makefile.in (+4/-0)
share/patterns/Makefile.in (+4/-0)
share/screens/Makefile.in (+4/-0)
share/templates/Makefile.in (+4/-0)
share/templates/fontforge_glyph.svg (+22/-26)
share/tutorials/Makefile.in (+4/-0)
share/tutorials/tutorial-advanced.ja.svg (+235/-251)
share/tutorials/tutorial-basic.ja.svg (+305/-320)
share/tutorials/tutorial-calligraphy.ja.svg (+427/-443)
share/tutorials/tutorial-elements.ja.svg (+242/-257)
share/tutorials/tutorial-elements.sk.svg (+198/-214)
share/tutorials/tutorial-shapes.ja.svg (+495/-510)
share/tutorials/tutorial-shapes.sk.svg (+446/-462)
share/tutorials/tutorial-tips.ja.svg (+351/-367)
share/tutorials/tutorial-tracing.ja.svg (+105/-120)
share/ui/Makefile.in (+4/-0)
src/2geom/convex-cover.cpp (+1/-1)
src/2geom/utils.h (+1/-0)
src/Makefile.am (+4/-0)
src/Makefile.in (+26/-19)
src/Makefile_insert (+1/-0)
src/arc-context.h (+1/-0)
src/box3d-context.h (+1/-0)
src/color-profile.cpp (+1/-1)
src/color.h (+1/-1)
src/conn-avoid-ref.cpp (+1/-0)
src/conn-avoid-ref.h (+1/-0)
src/connection-pool.h (+1/-0)
src/connector-context.h (+1/-0)
src/context-fns.h (+1/-1)
src/debug/gdk-event-latency-tracker.h (+1/-1)
src/debug/log-display-config.cpp (+1/-2)
src/desktop-events.h (+2/-2)
src/desktop-style.cpp (+1/-1)
src/desktop.h (+3/-2)
src/device-manager.cpp (+1/-1)
src/dialogs/clonetiler.h (+1/-1)
src/dialogs/dialog-events.h (+1/-2)
src/dialogs/find.h (+1/-1)
src/dialogs/item-properties.cpp (+0/-9)
src/dialogs/item-properties.h (+1/-1)
src/dialogs/object-attributes.cpp (+1/-0)
src/dialogs/object-attributes.h (+1/-1)
src/dialogs/spellcheck.h (+1/-1)
src/display/canvas-arena.cpp (+1/-1)
src/display/canvas-temporary-item.cpp (+1/-1)
src/display/canvas-temporary-item.h (+1/-0)
src/display/nr-3dutils.h (+1/-1)
src/display/nr-arena-glyphs.cpp (+1/-0)
src/display/nr-arena-glyphs.h (+1/-1)
src/display/nr-arena.cpp (+1/-0)
src/display/nr-arena.h (+2/-1)
src/display/nr-filter-diffuselighting.h (+1/-1)
src/display/nr-filter-specularlighting.h (+1/-1)
src/display/nr-light.h (+1/-1)
src/display/sodipodi-ctrl.h (+2/-2)
src/display/sp-canvas.cpp (+1/-3)
src/display/sp-canvas.h (+2/-4)
src/document-private.h (+1/-0)
src/document-subset.h (+1/-0)
src/document.cpp (+1/-1)
src/document.h (+2/-1)
src/draw-context.h (+1/-0)
src/ege-adjustment-action.cpp (+0/-13)
src/ege-adjustment-action.h (+1/-1)
src/ege-color-prof-tracker.cpp (+1/-3)
src/ege-output-action.cpp (+1/-3)
src/ege-output-action.h (+1/-1)
src/ege-select-one-action.cpp (+0/-9)
src/ege-select-one-action.h (+1/-2)
src/event-context.cpp (+1/-2)
src/event-context.h (+1/-2)
src/extension/effect.h (+1/-1)
src/extension/implementation/implementation.h (+1/-1)
src/extension/input.h (+1/-1)
src/extension/internal/cairo-render-context.cpp (+6/-3)
src/extension/internal/cairo-renderer-pdf-out.cpp (+7/-4)
src/extension/internal/cairo-renderer.cpp (+10/-8)
src/extension/internal/emf-win32-inout.cpp (+178/-53)
src/extension/internal/emf-win32-print.cpp (+2/-4)
src/extension/internal/latex-text-renderer.cpp (+23/-17)
src/extension/internal/pdfinput/pdf-input.cpp (+1/-1)
src/extension/internal/wpg-input.cpp (+21/-1)
src/extension/output.h (+1/-1)
src/extension/timer.h (+1/-0)
src/file.cpp (+1/-1)
src/file.h (+1/-1)
src/flood-context.h (+1/-0)
src/forward.h (+0/-3)
src/gc-alloc.h (+1/-0)
src/gc-finalized.h (+1/-0)
src/gc.cpp (+1/-0)
src/gradient-context.h (+1/-0)
src/gradient-drag.h (+1/-0)
src/help.h (+1/-1)
src/helper/sp-marshal.cpp (+2/-0)
src/helper/unit-menu.cpp (+1/-4)
src/helper/unit-menu.h (+1/-1)
src/helper/unit-tracker.cpp (+1/-1)
src/helper/unit-tracker.h (+1/-2)
src/helper/window.cpp (+1/-1)
src/helper/window.h (+1/-1)
src/icon-size.h (+1/-1)
src/id-clash.cpp (+1/-0)
src/ink-action.cpp (+2/-7)
src/ink-action.h (+1/-3)
src/ink-comboboxentry-action.cpp (+0/-3)
src/ink-comboboxentry-action.h (+1/-2)
src/inkscape-version.cpp (+1/-1)
src/inkscape.cpp (+2/-3)
src/inkview.cpp (+1/-5)
src/interface.h (+1/-1)
src/io/sys.cpp (+1/-1)
src/knot.h (+2/-1)
src/libavoid/geomtypes.h (+1/-0)
src/libavoid/orthogonal.cpp (+1/-1)
src/libgdl/gdl-dock-bar.h (+1/-1)
src/libgdl/gdl-dock-item-grip.c (+1/-3)
src/libgdl/gdl-dock-item-grip.h (+1/-1)
src/libgdl/gdl-dock-master.h (+1/-1)
src/libgdl/gdl-dock-object.h (+1/-1)
src/libgdl/gdl-dock-paned.c (+1/-2)
src/libgdl/gdl-stock.c (+0/-1)
src/libgdl/gdl-switcher.c (+0/-4)
src/libgdl/gdl-switcher.h (+1/-1)
src/libgdl/gdl-tools.h (+1/-1)
src/libnrtype/Layout-TNG-Input.cpp (+1/-1)
src/live_effects/lpeobject-reference.h (+1/-0)
src/live_effects/parameter/path-reference.h (+1/-0)
src/live_effects/parameter/path.cpp (+1/-1)
src/live_effects/parameter/path.h (+1/-0)
src/main.cpp (+2/-6)
src/message-stack.h (+1/-0)
src/modifier-fns.h (+1/-1)
src/object-hierarchy.h (+1/-0)
src/persp3d-reference.h (+1/-0)
src/rect-context.h (+1/-0)
src/selcue.h (+1/-0)
src/select-context.h (+1/-1)
src/selection-describer.h (+1/-0)
src/selection.h (+1/-0)
src/seltrans-handles.h (+1/-0)
src/seltrans.h (+1/-0)
src/shortcuts.cpp (+1/-1)
src/sp-conn-end-pair.cpp (+1/-1)
src/sp-conn-end-pair.h (+1/-0)
src/sp-conn-end.h (+1/-0)
src/sp-gradient.cpp (+5/-5)
src/sp-gradient.h (+2/-1)
src/sp-image.cpp (+1/-1)
src/sp-object.cpp (+1/-0)
src/sp-object.h (+1/-0)
src/sp-offset.h (+1/-0)
src/sp-paint-server-reference.h (+43/-0)
src/sp-paint-server.cpp (+18/-5)
src/sp-paint-server.h (+4/-19)
src/sp-pattern.cpp (+6/-9)
src/sp-pattern.h (+2/-1)
src/sp-shape.cpp (+7/-6)
src/sp-shape.h (+1/-0)
src/sp-switch.h (+1/-0)
src/sp-text.h (+1/-0)
src/sp-tref-reference.h (+1/-0)
src/sp-use-reference.h (+1/-0)
src/sp-use.h (+1/-0)
src/spiral-context.h (+2/-1)
src/splivarot.cpp (+20/-15)
src/star-context.h (+1/-0)
src/style.h (+2/-1)
src/svg-view-widget.cpp (+1/-1)
src/text-context.cpp (+1/-2)
src/text-context.h (+2/-2)
src/ui/context-menu.cpp (+1/-1)
src/ui/context-menu.h (+1/-1)
src/ui/dialog/aboutbox.cpp (+2/-1)
src/ui/dialog/color-item.cpp (+1/-1)
src/ui/dialog/desktop-tracker.h (+1/-0)
src/ui/dialog/document-metadata.h (+1/-0)
src/ui/dialog/document-properties.h (+1/-0)
src/ui/dialog/extensions.cpp (+1/-1)
src/ui/dialog/filedialogimpl-gtkmm.h (+1/-5)
src/ui/dialog/filedialogimpl-win32.cpp (+11/-0)
src/ui/dialog/glyphs.cpp (+1/-3)
src/ui/dialog/inkscape-preferences.cpp (+1/-1)
src/ui/dialog/inkscape-preferences.h (+1/-0)
src/ui/dialog/layers.cpp (+1/-2)
src/ui/dialog/ocaldialogs.cpp (+1/-1)
src/ui/dialog/ocaldialogs.h (+1/-3)
src/ui/dialog/print.h (+1/-1)
src/ui/dialog/svg-fonts-dialog.cpp (+4/-1)
src/ui/dialog/swatches.cpp (+87/-8)
src/ui/dialog/swatches.h (+3/-0)
src/ui/dialog/tile.cpp (+1/-2)
src/ui/dialog/tracedialog.cpp (+1/-1)
src/ui/dialog/undo-history.cpp (+2/-1)
src/ui/tool/control-point-selection.h (+1/-0)
src/ui/tool/control-point.h (+1/-0)
src/ui/tool/manipulator.h (+1/-0)
src/ui/tool/multi-path-manipulator.h (+1/-0)
src/ui/tool/node-tool.h (+1/-0)
src/ui/tool/node.h (+1/-0)
src/ui/view/edit-widget.cpp (+1/-3)
src/ui/view/view-widget.h (+1/-1)
src/ui/view/view.h (+2/-1)
src/ui/widget/color-picker.h (+1/-0)
src/ui/widget/combo-text.cpp (+1/-1)
src/ui/widget/layer-selector.cpp (+4/-0)
src/ui/widget/page-sizer.cpp (+17/-13)
src/ui/widget/page-sizer.h (+2/-0)
src/ui/widget/panel.cpp (+1/-1)
src/ui/widget/preferences-widget.h (+1/-0)
src/ui/widget/selected-style.cpp (+1/-1)
src/ui/widget/selected-style.h (+1/-0)
src/ui/widget/style-subject.h (+1/-0)
src/ui/widget/toolbox.cpp (+1/-1)
src/uri-references.h (+1/-0)
src/util/forward-pointer-iterator.h (+1/-0)
src/util/share.h (+1/-0)
src/util/unordered-containers.h (+2/-0)
src/verbs.cpp (+1/-1)
src/widgets/button.cpp (+1/-0)
src/widgets/button.h (+1/-3)
src/widgets/desktop-widget.cpp (+1/-1)
src/widgets/desktop-widget.h (+2/-2)
src/widgets/eek-preview.h (+2/-2)
src/widgets/fill-style.cpp (+1/-1)
src/widgets/font-selector.cpp (+0/-7)
src/widgets/font-selector.h (+1/-1)
src/widgets/gradient-image.h (+2/-1)
src/widgets/gradient-selector.cpp (+1/-5)
src/widgets/gradient-selector.h (+1/-1)
src/widgets/gradient-toolbar.h (+1/-1)
src/widgets/gradient-vector.h (+2/-1)
src/widgets/icon.h (+1/-1)
src/widgets/paint-selector.cpp (+1/-8)
src/widgets/paint-selector.h (+1/-1)
src/widgets/ruler.h (+1/-1)
src/widgets/select-toolbar.cpp (+0/-1)
src/widgets/select-toolbar.h (+1/-2)
src/widgets/shrink-wrap-button.cpp (+1/-1)
src/widgets/sp-attribute-widget.cpp (+1/-2)
src/widgets/sp-attribute-widget.h (+2/-2)
src/widgets/sp-color-gtkselector.h (+1/-1)
src/widgets/sp-color-icc-selector.cpp (+0/-6)
src/widgets/sp-color-icc-selector.h (+1/-2)
src/widgets/sp-color-notebook.cpp (+1/-0)
src/widgets/sp-color-notebook.h (+1/-3)
src/widgets/sp-color-preview.h (+1/-1)
src/widgets/sp-color-scales.h (+1/-2)
src/widgets/sp-color-selector.cpp (+1/-1)
src/widgets/sp-color-selector.h (+1/-1)
src/widgets/sp-color-slider.cpp (+1/-2)
src/widgets/sp-color-slider.h (+1/-1)
src/widgets/sp-color-wheel-selector.cpp (+1/-4)
src/widgets/sp-color-wheel-selector.h (+1/-2)
src/widgets/sp-color-wheel.cpp (+1/-1)
src/widgets/sp-color-wheel.h (+1/-1)
src/widgets/sp-widget.h (+1/-1)
src/widgets/sp-xmlview-attr-list.h (+0/-1)
src/widgets/sp-xmlview-content.h (+1/-1)
src/widgets/sp-xmlview-tree.h (+1/-1)
src/widgets/spinbutton-events.cpp (+1/-0)
src/widgets/spinbutton-events.h (+1/-2)
src/widgets/spw-utilities.h (+2/-1)
src/widgets/toolbox.cpp (+4/-2)
src/widgets/toolbox.h (+1/-2)
src/xml/helper-observer.h (+1/-0)
- gdb-inkscape.txt Edit (25.8 KiB, text/plain)
Confirmed using inkscape_
Backtrace looks pretty similar to:
* bug #635469 <[connectors] 'Exchange Position' of objects with orthogonal connectors causes crash>
* bug #716057 <Node tool causes inkscape crash>
- 771738-bt-10191-osx.txt Edit (2.8 KiB, text/plain)
Reproduced with Inkscape 0.48+devel r10191 on OS X 10.5.8 (i386)
Same console message as in bug #635469 (and the other already mentioned reports):
Assertion failed: (displayRoute.
+ Connector tool crash Inkscape (orthogonal mode)
- orthogonal.cpp.diff Edit (605 bytes, text/plain)
The attached patch fixes the issue. As a side note, the patch makes the code perform what is in the code comment: "We don't consider the first or LAST segment of a path." The last segment was considered before.
Patch tested and fix confirmed (no crash on load nor when exchanging objects connected with orthogonal connectors):
https:/
* drawing-1.svg
select the red and green rectangle, open the 'Align&Distribute'
dialog and click on the first of the three 'Exchange position'
buttons in the 'Rearrange' section.
* pwr mon conceptual flow.svg
crash on load
* Systems Diagram V2.svg.
crash on load
https:/
* Connector_
crash on load
https:/
* New document 1.2011_
crash on load
https:/
* cc.svg
crash on load
https:/
* this one
Note: patch not tested with new diagrams or other files for potential regressions.
Clarification:
All test cases (steps/files) listed in the previous comment no longer crash with
Inkscape 0.48+devel r10268+patch on Mac OS X 10.5.8 (i386).
This bug was fixed in the package inkscape - 0.48.2-0ubuntu1
---------------
inkscape (0.48.2-0ubuntu1) oneiric; urgency=low
* New upstream release (LP: #807912). Fixes several Ubuntu bugs:
- [SVG Font Editor] Crash when kerning an empty pair (LP: #706506)
- Connector tool crash Inkscake (orthogonal mode) (LP: #771738)
- Errors printed to console if openclipart search fails (LP: #638844)
- pdf export with cairo 1.10 defaults to version PDF-1.5 (LP: #664335)
- Cairo rendering broken for "use" elements when scaling or a viewBox
(LP: #705345)
- gimp_xcf.py crashed with TypeError in effect() (LP: #565296)
- Enable build against libwpg-0.2 (LP: #778951)
- Please add supported filetypes into MimeType line of inkscape.desktop
(LP: #278307)
- Inkscape fails to build with gcc 4.6 (LP: #707205)
* Drop 01-libwpg0.2.dpatch - Applied upstream
* Drop 03-add-
* Drop 04-fix-
* Drop 05-add-
* Drop fix-fontforge-
-- Alex Valavanis <email address hidden> 2011年7月10日 11:35:30 +0100