Mail Archives: geda-user/2021/07/07/10:33:22
On Wed, 7 Jul 2021, karl AT aspodata DOT se [via geda-user AT delorie DOT com] wrote:
> (gdb) print contents
> $11 = 0x1000a4ea0 = {0x1000960e0, 0x100094600}
You can view the contents of the first object struct with:
(gdb) p *(OBJECT *)contents->data
> (gdb) n
> 464 eda_renderer_draw (renderer, (OBJECT *) iter->data);
> (gdb) s
>
> (export:661): libgedacairo-CRITICAL **: 15:40:07.696: file edarenderer.c: line 585 (eda_renderer_draw_hatch): should not be reached
>
> (export:661): libgedacairo-WARNING **: 15:40:07.696: (edacairo.c:393):eda_cairo_stroke: code should not be reached
>
> (export:661): libgedacairo-WARNING **: 15:40:07.696: (edacairo.c:401):eda_cairo_stroke: code should not be reached
> 463 for (iter = (GList *) contents; iter != NULL; iter = g_list_next (iter))
For me, this works:
(gdb) n
464 eda_renderer_draw (renderer, (OBJECT *) iter->data);
(gdb) s
eda_renderer_draw (renderer=..., object=...)
at ../../git/libgedacairo/edarenderer.c:472
472 g_return_if_fail (EDA_IS_RENDERER(renderer));
Maybe you didn't run "make clean" before changing the CFLAGS?
> Is there some way to run this singlethreaded ?
gEDA/gaf itself isn't multithreaded. I assume threads are used internally
by one of the libraries. Now that you bring it up, it could be that some
gEDA/gaf functions are called in a non-thread-safe way, causing the
problems you described.
- Raw text -