On Mon, Feb 12, 2024 at 11:26:10AM +0900, Akira Yokosawa wrote:
> On 2024/02/12 8:48, Paul E. McKenney wrote:
> > On Mon, Feb 12, 2024 at 08:30:49AM +0900, Akira Yokosawa wrote:
> >> Hi Paul,
> >>
> >> I just did a test build under Ubuntu 20.04.
> >>
> >> Inkscape 0.92.5 crashes with new SVG figures memorder/*-hopes.svg.
> >>
> >> $ inkscape --export-pdf=/tmp/test.pdf memorder/co-hopes.svg
> >> [usual warnings ...]
> >>
> >> ** (inkscape:9): CRITICAL **: 23:17:05.340: void
> >> Inkscape::Extension::Internal::CairoRenderContext::_setFillStyle(const
> >> SPStyle*, const Geom::OptRect&): assertion '!style->fill.set ||
> >> style->fill.isColor() || style->fill.isPaintserver()' failed
> >> **
> >> ERROR:/build/inkscape-QIwD1g/inkscape-0.92.5/src/extension/internal/cairo-render-context.cpp:1422:void
> >> Inkscape::Extension::Internal::CairoRenderContext::_setStrokeStyle(const
> >> SPStyle*, const Geom::OptRect&): assertion failed:
> >> (style->stroke.isPaintserver() ||
> >> SP_IS_GRADIENT(SP_STYLE_STROKE_SERVER(style)) ||
> >> SP_IS_PATTERN(SP_STYLE_STROKE_SERVER(style)) || dynamic_cast<SPHatch
> >> *>(SP_STYLE_STROKE_SERVER(style)))
> >> Bail out!
> >> ERROR:/build/inkscape-QIwD1g/inkscape-0.92.5/src/extension/internal/cairo-render-context.cpp:1422:void
> >> Inkscape::Extension::Internal::CairoRenderContext::_setStrokeStyle(const
> >> SPStyle*, const Geom::OptRect&): assertion failed:
> >> (style->stroke.isPaintserver() ||
> >> SP_IS_GRADIENT(SP_STYLE_STROKE_SERVER(style)) ||
> >> SP_IS_PATTERN(SP_STYLE_STROKE_SERVER(style)) || dynamic_cast<SPHatch
> >> *>(SP_STYLE_STROKE_SERVER(style)))
> >>
> >> [...]
> >>
> >>
> >> It looks like those SVG figures are generated from dot, and you
> >> added x-axis and y labels to it.
> >>
> >> Can you share the dot scripts you used?
> >>
> >> Hopefully, Ubuntu 20.04's dot might generate SVGs compatible with
> >> the old inkscape.
> >
> > I generated them using Ubuntu 22.04 inkscape:
> >
> > $ inkscape --version
> > Inkscape 1.1.2 (0a00cf5339, 2022-02-04)
> >
> > But weren't we having trouble with this combination earlier, back when
> > I was on Ubuntu 20.04? Now if I can remember what we did about it... ;-)
>
> memorder/co-hopes.svg has this head comment:
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <!-- Generated by graphviz version 2.36.0 (20140111.2315)
> -->
>
> Where does it come from?
I really did create that in inkscape. If I had created it in
graphviz:
$ dot -v
dot - graphviz version 2.43.0 (0)
Huh. What I really did was to grab a random .svg, pull that into
inkscape, and edit it. So let's see what we have:
$ find . -name '*.svg' -exec grep -l 'Generated by graphviz version' {} \;
./memorder/fr.svg
./memorder/fr-hopes.svg
./memorder/rf.svg
./memorder/rf-hopes.svg
./memorder/co.svg
./memorder/co-hopes.svg
./memorder/co_backup.svg
./memorder/co-hopes_backup.svg
And memorder/co.svg was created in 2017, which might be consistent
with a 2014 graphviz. Except that why would I use graphviz to create
something like that? I most definitely recall manually adjusting to
create those colored polygons, and that would not have been the experience
with graphviz.
The original was in LibreOffice. Maybe I somehow used graphviz to convert
from LibreOffice format to .svg? Maybe LibreOffice uses graphviz to
do exports? (But lately I just use control-C/control-V to copy/paste
from LibreOffice to Inkscape, though not always with great results.)
> Anyway, I'll see if I can figure out which element in those SVGs
> make the inkscape crash.
On the other hand, I definitely did something strange to create those
files. Because I have to hand-edit the .svg file to change font sizes.
If they cause you much more trouble, please let me know. It might be
best for me to just re-create them from scratch.
Thanx, Paul