rsvg-convert fails when tries convert svg with scale specific value with Cairo "out of memory" error (w/ minimal repro)
I am getting crash in rsvg-tools
with error Cairo "out of memory"
when trying convert case.svg with params:
rsvg-convert -u -w 1000 -h 1000 -z 6 -o test.png case.svg
But when i've decreased zoom value rsvg-convert has rasterized successfully image:
rsvg-convert -u -w 1000 -h 1000 -z 5 -o test.png case.svg
Why do i get this error ? I can't understand, because i have a lot of free memory.
Error:
thread 'main' panicked at 'Cairo error "out of memory"', /Users/akhll/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/enums.rs:274:13
stack backtrace:
0: 0x106b0fdf4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha0848bb2602b5d05
1: 0x106b2deb0 - core::fmt::write::h9f3ccac2ef682b93
2: 0x106b0cb66 - std::io::Write::write_fmt::h0a47673aab280496
3: 0x106b11bd9 - std::panicking::default_hook::{{closure}}::h850c6aaf5e80c2f5
4: 0x106b1189d - std::panicking::default_hook::h037801299da6e1c6
5: 0x106b1225b - std::panicking::rust_panic_with_hook::h76436d4cf7a368ac
6: 0x106b11d85 - std::panicking::begin_panic_handler::{{closure}}::h516c76d70abf04f6
7: 0x106b10268 - std::sys_common::backtrace::__rust_end_short_backtrace::h653290b4f930faed
8: 0x106b11cea - _rust_begin_unwind
9: 0x106b3d52b - std::panicking::begin_panic_fmt::he778de6995efc6f5
10: 0x1069e85d6 - cairo::context::Context::restore::h78e29abe9ea37ccf
11: 0x1068ee783 - librsvg::drawing_ctx::DrawingCtx::draw_shape::h3f1e8d537428e7f8
12: 0x1068e0551 - <librsvg::shapes::Path as librsvg::element::Draw>::draw::h5087b734b4241ec1
13: 0x1068a4ce1 - <librsvg::element::ElementInner<T> as librsvg::element::Draw>::draw::{{closure}}::h553f671790ee9c79
14: 0x1068ec54c - librsvg::drawing_ctx::DrawingCtx::with_saved_transform::hc7c185d24adf7cfd
15: 0x1068abc0d - <librsvg::element::Element as librsvg::element::Draw>::draw::h9ead76deaeb371fb
16: 0x106989954 - <rctree::Node<librsvg::node::NodeData> as librsvg::node::NodeDraw>::draw::h406b34a1e3d847c2
17: 0x1068f1caf - librsvg::drawing_ctx::DrawingCtx::draw_node_from_stack::h96a34abfb8fa4f6d
18: 0x106989c24 - <rctree::Node<librsvg::node::NodeData> as librsvg::node::NodeDraw>::draw_children::h296fa6c33c8a0055
19: 0x10696cf1f - <librsvg::structure::Svg as librsvg::element::Draw>::draw::{{closure}}::h41d1a86b0dec8ead
20: 0x1068e9124 - librsvg::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::h1750398184c71905
21: 0x10696ce81 - <librsvg::structure::Svg as librsvg::element::Draw>::draw::h45bc37e4e7f2a462
22: 0x1068a4c41 - <librsvg::element::ElementInner<T> as librsvg::element::Draw>::draw::{{closure}}::h4ada904e6a65644b
23: 0x1068ec54c - librsvg::drawing_ctx::DrawingCtx::with_saved_transform::hc7c185d24adf7cfd
24: 0x1068abc0d - <librsvg::element::Element as librsvg::element::Draw>::draw::h9ead76deaeb371fb
25: 0x106989954 - <rctree::Node<librsvg::node::NodeData> as librsvg::node::NodeDraw>::draw::h406b34a1e3d847c2
26: 0x1068f1caf - librsvg::drawing_ctx::DrawingCtx::draw_node_from_stack::h96a34abfb8fa4f6d
27: 0x1068e6939 - librsvg::drawing_ctx::draw_tree::h28ac4391e337546b
28: 0x10692dd16 - librsvg::handle::Handle::render_layer::he38b27d3e25345e1
29: 0x1069b7f0a - librsvg::api::CairoRenderer::render_document::h1040397e6f6edfc4
30: 0x10684c6e1 - rsvg_convert::main::h13c94e8062e895b1
31: 0x10685060a - std::sys_common::backtrace::__rust_begin_short_backtrace::h990ec2a91f2899db
32: 0x10684ee4c - std::rt::lang_start::{{closure}}::hf740b4cdc1da995a
33: 0x106b126b4 - std::rt::lang_start_internal::h36ccce6e8a047133
34: 0x10684db39 - _main