Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • librsvg librsvg
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 196
    • Issues 196
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • librsvglibrsvg
  • Issues
  • #683
Closed
Open
Issue created Feb 15, 2021 by Oleksandr Khylobokyi@oleksandr.khylobokyi

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
Assignee
Assign to
Time tracking