Difference between revisions of "Annoying Crash"

From Inkscape Wiki
Jump to navigation Jump to search
 
(delete page, the wiki is not for reporting bugs)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The following is debug data generated after crashing inkscape in the freehand tool on my windows 2000 machine.
 
Machine spec is 2.1Ghz Athlon, 512Mb Win2k.
 
Can also crash it in the node edit and dynamic draw modes.
 
John
 
  
 
<tt>
 
inkscape.exe caused an Access Violation at location 0061afd4 in module inkscape.exe Reading from location 03a3c000.
 
 
Registers:
 
eax=0022fb80 ebx=0022fb80 ecx=038ea570 edx=00000002 esi=03a3bff8 edi=0399f6e0
 
eip=0061afd4 esp=0022f9c0 ebp=0022faa8 iopl=0        nv up ei pl nz na pe nc
 
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000            efl=00200202
 
 
Call stack:
 
0061AFD4  inkscape.exe:0061AFD4  IntLigne::Copy(int, BitLigne**)  Ligne.cpp:1597
 
...
 
c_full[0]=as[0]->fullB[(i+1-theSt)>>3] | as[0]->partB[(i+1-theSt)>>3];
 
c_full[1]=as[1]->fullB[(i+1-theSt)>>3] | as[1]->partB[(i+1-theSt)>>3];
 
> c_full[2]=as[2]->fullB[(i+1-theSt)>>3] | as[2]->partB[(i+1-theSt)>>3];
 
c_full[3]=as[3]->fullB[(i+1-theSt)>>3] | as[3]->partB[(i+1-theSt)>>3];
 
} else {
 
...
 
 
0060B5CB  inkscape.exe:0060B5CB  nr_pixblock_render_bpath_rgba(Shape*, unsigned, NRRectL&, char*, int)  canvas-bpath.cpp:625
 
...
 
    dest.stv=y;
 
    dest.buffer=ligStart;
 
>     theIL->Raster(dest,&color,bpath_run_A8_OR);
 
    ligStart=((uint32_t*)(((char*)ligStart)+stride));
 
  }
 
...
 
 
0060C8DB  inkscape.exe:0060C8DB  sp_canvas_bpath_render(_SPCanvasItem*, SPCanvasBuf*)  canvas-bpath.cpp:316
 
...
 
  }
 
  if ( cbp->stroke_shp ) {
 
>     nr_pixblock_render_bpath_rgba (cbp->stroke_shp,cbp->stroke_rgba,area,(char*)buf->buf, buf->buf_rowstride);
 
  }
 
#else
 
...
 
 
004694D5  inkscape.exe:004694D5  sp_canvas_group_render(_SPCanvasItem*, SPCanvasBuf*)  sp-canvas.cpp:790
 
...
 
    (child->y2 > buf->rect.y0)) {
 
if (SP_CANVAS_ITEM_GET_CLASS (child)->render)
 
> SP_CANVAS_ITEM_GET_CLASS (child)->render (child, buf);
 
}
 
}
 
...
 
 
004694D5  inkscape.exe:004694D5  sp_canvas_group_render(_SPCanvasItem*, SPCanvasBuf*)  sp-canvas.cpp:790
 
...
 
    (child->y2 > buf->rect.y0)) {
 
if (SP_CANVAS_ITEM_GET_CLASS (child)->render)
 
> SP_CANVAS_ITEM_GET_CLASS (child)->render (child, buf);
 
}
 
}
 
...
 
 
004694D5  inkscape.exe:004694D5  sp_canvas_group_render(_SPCanvasItem*, SPCanvasBuf*)  sp-canvas.cpp:790
 
...
 
    (child->y2 > buf->rect.y0)) {
 
if (SP_CANVAS_ITEM_GET_CLASS (child)->render)
 
> SP_CANVAS_ITEM_GET_CLASS (child)->render (child, buf);
 
}
 
}
 
...
 
 
0046A8BC  inkscape.exe:0046A8BC  sp_canvas_paint_rect(_SPCanvas*, int, int, int, int)  sp-canvas.cpp:1516
 
...
 
 
if (canvas->root->object.flags & SP_CANVAS_ITEM_VISIBLE) {
 
> SP_CANVAS_ITEM_GET_CLASS (canvas->root)->render (canvas->root, &buf);
 
}
 
 
...
 
 
0046A3F6  inkscape.exe:0046A3F6  paint(_SPCanvas*)  sp-canvas.cpp:1716
 
...
 
 
if ((x0 < x1) && (y0 < y1)) {
 
> sp_canvas_paint_rect (canvas, x0, y0, x1, y1);
 
  }
 
}
 
...
 
 
0046875B  inkscape.exe:0046875B  do_update(_SPCanvas*)  sp-canvas.cpp:1738
 
...
 
/* Paint if able to */
 
if (GTK_WIDGET_DRAWABLE (canvas)) {
 
> return paint (canvas);
 
}
 
 
...
 
 
004687D0  inkscape.exe:004687D0  idle_handler(void*)  sp-canvas.cpp:1758
 
...
 
SPCanvas *canvas = SP_CANVAS (data);
 
 
> const int ret = do_update (canvas);
 
 
if (ret) {
 
...
 
 
01D9C865  libglib-2.0-0.dll:01D9C865  g_idle_remove_by_data
 
01D9D07C  libglib-2.0-0.dll:01D9D07C  g_idle_remove_by_data
 
01D9D6E3  libglib-2.0-0.dll:01D9D6E3  g_idle_remove_by_data
 
01D9A21F  libglib-2.0-0.dll:01D9A21F  g_main_loop_run
 
01FAD109  libgtk-win32-2.0-0.dll:01FAD109  gtk_main
 
00401B51  inkscape.exe:00401B51
 
004018D6  inkscape.exe:004018D6
 
0040122D  inkscape.exe:0040122D
 
00401258  inkscape.exe:00401258
 
77E992A6  KERNEL32.dll:77E992A6  GetCommandLineW
 
</tt>
 
 
 
=== Commenting out bpath_liv in canvas_bpath.h makes freehand and dyna draw more stable (but slow), however node edit still crashes: ===
 
 
<tt>
 
inkscape.exe caused an Access Violation at location 00619da9 in module inkscape.exe Reading from location 04a98000.
 
 
Registers:
 
eax=0022fb80 ebx=04a97ff8 ecx=037fedc8 edx=00000002 esi=00000008 edi=03adf2d8
 
eip=00619da9 esp=0022f9c0 ebp=0022faa8 iopl=0        nv up ei pl nz ac pe nc
 
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000            efl=00000212
 
 
Call stack:
 
00619DA9  inkscape.exe:00619DA9  IntLigne::Copy(int, BitLigne**)  Ligne.cpp:1595
 
...
 
int chg=(i+1-theSt)&7;
 
if ( chg == 0 ) {
 
> c_full[0]=as[0]->fullB[(i+1-theSt)>>3] | as[0]->partB[(i+1-theSt)>>3];
 
c_full[1]=as[1]->fullB[(i+1-theSt)>>3] | as[1]->partB[(i+1-theSt)>>3];
 
c_full[2]=as[2]->fullB[(i+1-theSt)>>3] | as[2]->partB[(i+1-theSt)>>3];
 
...
 
 
005D13CE  inkscape.exe:005D13CE  nr_pixblock_render_ctrl_rgba(Shape*, unsigned, NRRectL&, char*, int)  sp-ctrlline.cpp:487
 
...
 
    dest.stv=y;
 
    dest.buffer=ligStart;
 
>     theIL->Raster(dest,&color,ctrl_run_A8_OR);
 
    ligStart=((uint32_t*)(((char*)ligStart)+stride));
 
  }
 
...
 
 
005D2082  inkscape.exe:005D2082  sp_ctrlline_render(_SPCanvasItem*, SPCanvasBuf*)  sp-ctrlline.cpp:173
 
...
 
if (ctrlline->shp) {
 
sp_canvas_buf_ensure_buf (buf);
 
>     nr_pixblock_render_ctrl_rgba (ctrlline->shp,ctrlline->rgba,area,(char*)buf->buf, buf->buf_rowstride);
 
}
 
#else
 
...
 
 
004694D5  inkscape.exe:004694D5  sp_canvas_group_render(_SPCanvasItem*, SPCanvasBuf*)  sp-canvas.cpp:790
 
...
 
    (child->y2 > buf->rect.y0)) {
 
if (SP_CANVAS_ITEM_GET_CLASS (child)->render)
 
> SP_CANVAS_ITEM_GET_CLASS (child)->render (child, buf);
 
}
 
}
 
...
 
 
004694D5  inkscape.exe:004694D5  sp_canvas_group_render(_SPCanvasItem*, SPCanvasBuf*)  sp-canvas.cpp:790
 
...
 
    (child->y2 > buf->rect.y0)) {
 
if (SP_CANVAS_ITEM_GET_CLASS (child)->render)
 
> SP_CANVAS_ITEM_GET_CLASS (child)->render (child, buf);
 
}
 
}
 
...
 
 
004694D5  inkscape.exe:004694D5  sp_canvas_group_render(_SPCanvasItem*, SPCanvasBuf*)  sp-canvas.cpp:790
 
...
 
    (child->y2 > buf->rect.y0)) {
 
if (SP_CANVAS_ITEM_GET_CLASS (child)->render)
 
> SP_CANVAS_ITEM_GET_CLASS (child)->render (child, buf);
 
}
 
}
 
...
 
 
0046A8BC  inkscape.exe:0046A8BC  sp_canvas_paint_rect(_SPCanvas*, int, int, int, int)  sp-canvas.cpp:1516
 
...
 
 
if (canvas->root->object.flags & SP_CANVAS_ITEM_VISIBLE) {
 
> SP_CANVAS_ITEM_GET_CLASS (canvas->root)->render (canvas->root, &buf);
 
}
 
 
...
 
 
0046A3F6  inkscape.exe:0046A3F6  paint(_SPCanvas*)  sp-canvas.cpp:1716
 
...
 
 
if ((x0 < x1) && (y0 < y1)) {
 
> sp_canvas_paint_rect (canvas, x0, y0, x1, y1);
 
  }
 
}
 
...
 
 
0046875B  inkscape.exe:0046875B  do_update(_SPCanvas*)  sp-canvas.cpp:1738
 
...
 
/* Paint if able to */
 
if (GTK_WIDGET_DRAWABLE (canvas)) {
 
> return paint (canvas);
 
}
 
 
...
 
 
004687D0  inkscape.exe:004687D0  idle_handler(void*)  sp-canvas.cpp:1758
 
...
 
SPCanvas *canvas = SP_CANVAS (data);
 
 
> const int ret = do_update (canvas);
 
 
if (ret) {
 
...
 
 
01D8C865  libglib-2.0-0.dll:01D8C865  g_idle_remove_by_data
 
01D8D07C  libglib-2.0-0.dll:01D8D07C  g_idle_remove_by_data
 
01D8D6E3  libglib-2.0-0.dll:01D8D6E3  g_idle_remove_by_data
 
01D8A21F  libglib-2.0-0.dll:01D8A21F  g_main_loop_run
 
01F9D109  libgtk-win32-2.0-0.dll:01F9D109  gtk_main
 
00401B51  inkscape.exe:00401B51
 
004018D6  inkscape.exe:004018D6
 
0040122D  inkscape.exe:0040122D
 
00401258  inkscape.exe:00401258
 
77E992A6  KERNEL32.dll:77E992A6  GetCommandLineW
 
 
</tt>
 

Latest revision as of 14:17, 6 October 2018