Public bug reported:

$ lsb_release -rd
Description:    Ubuntu 20.04.2 LTS
Release:        20.04

$ apt-cache policy inkscape
inkscape:
  Installed: 0.92.5-1ubuntu1.1
  Candidate: 0.92.5-1ubuntu1.1
  Version table:
 *** 0.92.5-1ubuntu1.1 500
        500 http://us.archive.ubuntu.com/ubuntu focal-updates/universe amd64 
Packages
        100 /var/lib/dpkg/status
     0.92.5-1ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages

1. Open up the attached SVG, with `inkscape bezier_fit.svg`
2. Select the orange-red curve in front with "Edit paths by nodes (F2)" so that 
all four of the Bezier vertices are visible.
3. Zoom all the way in on a segment of curve.
4. SIGSEGV, with a stack trace that (usually) looks like:

Thread 1 "inkscape" received signal SIGSEGV, Segmentation fault.
0x00007ffff734edec in sp_ctrl_build_cache (ctrl=0x5555584886d0 [SPCtrl]) at 
./src/display/sodipodi-ctrl.cpp:385
385     ./src/display/sodipodi-ctrl.cpp: No such file or directory.
(gdb) bt
#0  0x00007ffff734edec in sp_ctrl_build_cache (ctrl=0x5555584886d0 [SPCtrl]) at 
./src/display/sodipodi-ctrl.cpp:385
#1  sp_ctrl_render(SPCanvasItem*, SPCanvasBuf*) (item=<optimized out>, 
buf=0x7fffffffd810) at ./src/display/sodipodi-ctrl.cpp:569
#2  0x00007ffff7351b6a in SPCanvasGroup::render(SPCanvasItem*, SPCanvasBuf*) 
(item=<optimized out>, buf=0x7fffffffd810) at ./src/display/sp-canvas.cpp:858
#3  0x00007ffff7351b6a in SPCanvasGroup::render(SPCanvasItem*, SPCanvasBuf*) 
(item=<optimized out>, buf=0x7fffffffd810) at ./src/display/sp-canvas.cpp:858
#4  0x00007ffff7351b6a in SPCanvasGroup::render(SPCanvasItem*, SPCanvasBuf*) 
(item=<optimized out>, buf=0x7fffffffd810) at ./src/display/sp-canvas.cpp:858
#5  0x00007ffff7351b6a in SPCanvasGroup::render(SPCanvasItem*, SPCanvasBuf*) 
(item=<optimized out>, buf=0x7fffffffd810) at ./src/display/sp-canvas.cpp:858
#6  0x00007ffff73541e0 in SPCanvas::paintSingleBuffer(Geom::GenericRect<int> 
const&, Geom::GenericRect<int> const&, int)
    (this=0x555556e9d6c0 [SPCanvas], paint_rect=..., canvas_rect=...) at 
./src/display/sp-canvas.cpp:1576
#7  0x00007ffff73546d1 in SPCanvas::paintRectInternal(PaintRectSetup const*, 
Geom::GenericRect<int> const&)
    (this=this@entry=0x555556e9d6c0 [SPCanvas], 
setup=setup@entry=0x7fffffffd970, this_rect=...) at 
./src/display/sp-canvas.cpp:1677
#8  0x00007ffff7354944 in SPCanvas::paintRect(int, int, int, int)
    (this=0x555556e9d6c0 [SPCanvas], xx0=<optimized out>, yy0=<optimized out>, 
xx1=<optimized out>, yy1=<optimized out>) at ./src/display/sp-canvas.cpp:1790
#9  0x00007ffff7354ba5 in SPCanvas::paint() (this=0x555556e9d6c0 [SPCanvas]) at 
./src/display/sp-canvas.cpp:1929
#10 0x00007ffff7354d48 in SPCanvas::doUpdate() (this=0x555556e9d6c0 [SPCanvas]) 
at ./src/display/sp-canvas.cpp:1963
#11 0x00007ffff7354dd8 in SPCanvas::idle_handler(void*) (data=0x555556e9d6c0) 
at ./src/display/sp-canvas.cpp:1978
#12 0x00007ffff613ce99 in  () at /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#13 0x00007ffff6b7804e in g_main_dispatch (context=0x555555675570) at 
../../../glib/gmain.c:3309
#14 g_main_context_dispatch (context=context@entry=0x555555675570) at 
../../../glib/gmain.c:3974
#15 0x00007ffff6b78400 in g_main_context_iterate (context=0x555555675570, 
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at 
../../../glib/gmain.c:4047
#16 0x00007ffff6b786f3 in g_main_loop_run (loop=0x5555580ccdb0) at 
../../../glib/gmain.c:4241
#17 0x00007ffff63ad092 in gtk_main () at 
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#18 0x000055555555db3d in sp_main_gui(int, char const**) (argc=<optimized out>, 
argv=<optimized out>) at ./src/main.cpp:1173
#19 0x00007ffff5bb60b3 in __libc_start_main (main=
    0x55555555b8c0 <main(int, char**)>, argc=2, argv=0x7fffffffdec8, 
init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
stack_end=0x7fffffffdeb8)
    at ../csu/libc-start.c:308
#20 0x000055555555bf6e in _start () at ./src/main.cpp:661

And also:
* The two paths are either a near-exact or perfectly exact match for one 
another.
* `vector-effect: non-scaling-stroke` in the CSS probably isn't something that 
Inkscape sees very often.

** Affects: inkscape (Ubuntu)
     Importance: Undecided
         Status: New

** Attachment added: "bezier_fit.svg"
   
https://bugs.launchpad.net/bugs/1928598/+attachment/5498056/+files/bezier_fit.svg

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1928598

Title:
  SIGSEGV when zooming in on curve in sp_ctrl_build_cache

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/inkscape/+bug/1928598/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to