'assertion failed: rectangle.x1 >= rectangle.x0' in rsvg_internals/src/surface_utils/iterators.rs when using rsvg_handle_render_cairo_sub since 2.44
The application deepin-image-viewer suffers an assertion failure from librsvg since version 2.44.0. The error is not reproducible in 2.42.6.
The calling code looks fairly simple:
QImage DSvgRendererPrivate::getImage(const QSize &size, const QString &elementId) const
{
QImage image(size, QImage::Format_ARGB32_Premultiplied);
image.fill(Qt::transparent);
cairo_surface_t *surface = cairo_image_surface_create_for_data(image.bits(), CAIRO_FORMAT_ARGB32, image.width(), image.height(), image.bytesPerLine());
cairo_t *cairo = cairo_create(surface);
cairo_scale(cairo, image.width() / viewBox.width(), image.height() / viewBox.height());
cairo_translate(cairo, -viewBox.x(), -viewBox.y());
if (elementId.isEmpty())
rsvg_handle_render_cairo(handle, cairo);
else
rsvg_handle_render_cairo_sub(handle, cairo, elementId.toUtf8().constData());
cairo_destroy(cairo);
cairo_surface_destroy(surface);
return image;
}
(https://github.com/linuxdeepin/dtkwidget/blob/master/src/util/dsvgrenderer.cpp)
Any hints for further debugging?
See also: https://github.com/linuxdeepin/developer-center/issues/609
Backtrace:
thread '<unnamed>' panicked at 'assertion failed: rectangle.x1 >= rectangle.x0', rsvg_internals/src/surface_utils/iterators.rs:78:9
stack backtrace:
0: <unknown>
1: <unknown>
2: <unknown>
3: <unknown>
4: <unknown>
5: <unknown>
6: <unknown>
7: <unknown>
8: <unknown>
9: <unknown>
10: <unknown>
11: <unknown>
12: <unknown>
13: <unknown>
14: <unknown>
15: <unknown>
16: <unknown>
17: <unknown>
18: <unknown>
19: <unknown>
20: <unknown>
21: <unknown>
22: <unknown>
23: <unknown>
24: <unknown>
25: <unknown>
26: <unknown>
27: <unknown>
28: <unknown>
29: <unknown>
30: <unknown>
31: <unknown>
32: <unknown>
33: <unknown>
34: <unknown>
35: <unknown>
36: <unknown>
37: <unknown>
38: <unknown>
39: <unknown>
40: rsvg_handle_render_cairo_sub
41: _ZNK3Dtk6Widget19DSvgRendererPrivate8getImageERK5QSizeRK7QString
42: _ZNK3Dtk6Widget12DSvgRenderer7toImageE5QSizeRK7QString
43: _ZN13QSvgIOHandler4readEP6QImage
44: _ZN12QImageReader4readEP6QImage
45: _ZN12QImageReader4readEv
46: _ZN15QPlatformPixmap8fromFileERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE
47: _ZN7QPixmap4loadERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE
48: <unknown>
49: _ZN7QWidget5eventEP6QEvent
50: _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent
51: _ZN12QApplication6notifyEP7QObjectP6QEvent
52: _ZN3Dtk6Widget12DApplication6notifyEP7QObjectP6QEvent
53: _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent
54: _ZN14QWidgetPrivate14sendPaintEventERK7QRegion
55: _ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore
56: _ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore
57: _ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore
58: _ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore
59: _ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore
60: _ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore
61: _ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore
62: _ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore
63: _ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore
64: <unknown>
65: <unknown>
66: _ZN14QWidgetPrivate16syncBackingStoreEv
67: _ZN7QWidget5eventEP6QEvent
68: _ZN11QMainWindow5eventEP6QEvent
69: _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent
70: _ZN12QApplication6notifyEP7QObjectP6QEvent
71: _ZN3Dtk6Widget12DApplication6notifyEP7QObjectP6QEvent
72: _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent
73: _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData
74: <unknown>
75: g_main_context_dispatch
76: <unknown>
77: g_main_context_iteration
78: _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE
79: _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE
80: _ZN16QCoreApplication4execEv
81: main
82: __libc_start_main
83: <unknown>
fatal runtime error: failed to initiate panic, error 5
Aborted (core dumped)