After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 777834 - Crash on tests/samples/text-gradient-3.svg
Crash on tests/samples/text-gradient-3.svg
Status: RESOLVED FIXED
Product: librsvg
Classification: Core
Component: general
git master
Other Linux
: Normal major
: ---
Assigned To: librsvg maintainers
librsvg maintainers
Depends on:
Blocks:
 
 
Reported: 2017-01-27 14:44 UTC by Philip Withnall
Modified: 2017-03-03 01:30 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Philip Withnall 2017-01-27 14:44:01 UTC
With git master (2.41.0-9-g3449c93), I get the following:

$ RUST_BACKTRACE=1 ./tools/test-performance ./tests/samples/text-gradient-3.svg
thread '<unnamed>' panicked at 'Cairo error "invalid matrix (not invertible)"', /home/philip/.cargo/git/checkouts/cairo-e6055a6d391c3fc9/21a7dc05ff11d232f49af604c598b23eaa9324a2/cairo-sys-rs/src/enums.rs:70
stack backtrace:
   1:     0x7f836338c14a - std::sys::imp::backtrace::tracing::imp::write::h917062bce4ff48c3
   2:     0x7f836339ef62 - std::panicking::default_hook::{{closure}}::h0bacac31b5ed1870
   3:     0x7f836339b6e3 - std::panicking::default_hook::h5897799da33ece67
   4:     0x7f836339bdb1 - std::panicking::rust_panic_with_hook::h109e116a3a861224
   5:     0x7f836339bc44 - std::panicking::begin_panic::hbb38be1379e09df0
   6:     0x7f836339bb69 - std::panicking::begin_panic_fmt::h26713cea9bce3ab0
   7:     0x7f8363365ee2 - cairo_sys::enums::Status::ensure_valid::h19a1de288f70733b
                        at /home/philip/.cargo/git/checkouts/cairo-e6055a6d391c3fc9/21a7dc05ff11d232f49af604c598b23eaa9324a2/cairo-sys-rs/src/enums.rs:70
   8:     0x7f8363343d58 - <cairo_sys::Matrix as cairo::matrices::MatrixTrait>::invert::h304648c72eae691f
                        at /home/philip/.cargo/git/checkouts/cairo-e6055a6d391c3fc9/21a7dc05ff11d232f49af604c598b23eaa9324a2/src/matrices.rs:84
   9:     0x7f836332dbec - rsvg_internals::gradient::set_common_on_pattern::he6e4e0937546f064
                        at /opt/gnome/source/librsvg/rust/src/gradient.rs:366
  10:     0x7f836332e076 - rsvg_internals::gradient::set_linear_gradient_on_pattern::hb95f1e50620ff495
                        at /opt/gnome/source/librsvg/rust/src/gradient.rs:396
  11:     0x7f836332e772 - rsvg_internals::gradient::set_pattern_on_draw_context::h27fafe2b4430d1c4
                        at /opt/gnome/source/librsvg/rust/src/gradient.rs:495
  12:     0x7f836332fb5b - gradient_resolve_fallbacks_and_set_pattern
                        at /opt/gnome/source/librsvg/rust/src/gradient.rs:604
  13:     0x7f83633185f0 - _set_source_rsvg_linear_gradient
                        at /opt/gnome/source/librsvg/rsvg-cairo-draw.c:131
  14:     0x7f836331920e - _set_source_rsvg_paint_server
                        at /opt/gnome/source/librsvg/rsvg-cairo-draw.c:337
  15:     0x7f83633199a0 - rsvg_cairo_render_pango_layout
                        at /opt/gnome/source/librsvg/rsvg-cairo-draw.c:490
  16:     0x7f83633130c4 - rsvg_text_render_text
                        at /opt/gnome/source/librsvg/rsvg-text.c:705
  17:     0x7f8363311d47 - draw_text_child
                        at /opt/gnome/source/librsvg/rsvg-text.c:193
  18:     0x7f8363313de8 - rsvg_node_foreach_child
                        at /opt/gnome/source/librsvg/rsvg-base.c:466
  19:     0x7f8363311ecb - _rsvg_node_text_type_children
                        at /opt/gnome/source/librsvg/rsvg-text.c:245
  20:     0x7f836331237d - _rsvg_node_text_draw
                        at /opt/gnome/source/librsvg/rsvg-text.c:379
  21:     0x7f836330ac68 - rsvg_node_draw
                        at /opt/gnome/source/librsvg/rsvg-structure.c:56
  22:     0x7f836330acb5 - draw_child
                        at /opt/gnome/source/librsvg/rsvg-structure.c:71
  23:     0x7f8363313de8 - rsvg_node_foreach_child
                        at /opt/gnome/source/librsvg/rsvg-base.c:466
  24:     0x7f836330b91f - rsvg_node_svg_draw
                        at /opt/gnome/source/librsvg/rsvg-structure.c:319
  25:     0x7f836330ac68 - rsvg_node_draw
                        at /opt/gnome/source/librsvg/rsvg-structure.c:56
  26:     0x7f836331c43e - rsvg_handle_render_cairo_sub
                        at /opt/gnome/source/librsvg/rsvg-cairo-render.c:236
  27:     0x7f836331c485 - rsvg_handle_render_cairo
                        at /opt/gnome/source/librsvg/rsvg-cairo-render.c:258
  28:           0x401951 - rsvg_tools_main
                        at /opt/gnome/source/librsvg/tools/rsvg-tools-main.c:169
  29:           0x401227 - main
                        at /opt/gnome/source/librsvg/tools/test-performance.c:30
  30:     0x7f8360eb6400 - __libc_start_main
  31:           0x401139 - _start
  32:                0x0 - <unknown>
fatal runtime error: failed to initiate panic, error 5
Aborted (core dumped)

---

This might be related to bug #776932, although the higher stacks in the backtrace differ. I haven’t looked into it.
Comment 1 Federico Mena Quintero 2017-03-03 01:30:23 UTC
Thanks!  Fixed in commit 8bf4354fdc3703c0ea6ecec86ce2f3583933c03a.

That bug #776932 is different; it comes from an explicitly invalid transform in an SVG file.  Will fix.