In T200866#6317020, @JoKalliauer wrote:@AntiCompositeNumber : Thanks for your answer, I think I was wrong.
File:Hematopoiesis_(human)_diagram_en.svg was reported (by Sarang) on my talkpage: https://commons.wikimedia.org/w/index.php?title=User_talk:JoKalliauer&oldid=437038709#Strange_failure
Our servers are currently under maintenance or experiencing a technical problem. Please try again in a few minutes. See the error message at the bottom of this page for more information.If you report this error to the Wikimedia System Administrators, please include the details below. Request from 193.81.142.140 via cp3055 frontend, Varnish XID 231829017 Upstream caches: cp3055 int Error: 429, Too Many Requests at Sat, 18 Jul 2020 19:17:49 GMT
Description
Description
Related Objects
Related Objects
Event Timeline
Comment Actions
Testing locally with librsvg 2.40.20, generation fails at sizes < 97px.
2020-07-18 19:41:41 thumbor:DEBUG METRICS: inc: response.count:1 2020-07-18 19:41:41 thumbor:DEBUG Format specified: png 2020-07-18 19:41:41 thumbor:DEBUG METRICS: inc: storage.miss:1 2020-07-18 19:41:41 thumbor:DEBUG [HTTPS] load_sync: https%3A//upload.wikimedia.org/wikipedia/commons/1/1f/Hematopoiesis_%28human%29_diagram_en.svg 2020-07-18 19:41:41 thumbor:DEBUG [HTTPS] Loading normalized URL: https://upload.wikimedia.org/wikipedia/commons/1/1f/Hematopoiesis_%28human%29_diagram_en.svg 2020-07-18 19:41:42 thumbor:DEBUG [HTTPS] return_contents: /tmp/tmp_4gtn1 2020-07-18 19:41:42 thumbor:DEBUG METRICS: inc: original_image.status.200:1 2020-07-18 19:41:42 thumbor:DEBUG METRICS: inc: original_image.response_bytes:4096 2020-07-18 19:41:42 thumbor:DEBUG [Proxy] Looking for a svg engine 2020-07-18 19:41:42 thumbor:DEBUG [BWE] Found source file in context 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Command: ['/usr/bin/timeout', '--foreground', '59', '/usr/bin/rsvg-convert', '/tmp/tmp_4gtn1', '-u', '-f', 'png', '-w', '80'] 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Stdout: 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Stderr: 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Return code: 0 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Duration: 142.821 2020-07-18 19:41:42 thumbor:DEBUG [IM] Dumping buffer into temp file 2020-07-18 19:41:42 thumbor:DEBUG [IM] Could not read EXIF with pyexiv2 2020-07-18 19:41:42 thumbor:DEBUG [ExiftoolRunner] command: ['/usr/bin/exiftool', '-s', '-s', '-ImageSize', '-ProfileDescription', '-ColorType', '-FileType', '-Transparency', '-Artist', '-Copyright', '-ImageDescription', '/tmp/tmpS1duEz'] 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Command: ['/usr/bin/timeout', '--foreground', '59', '/usr/bin/exiftool', '-s', '-s', '-ImageSize', '-ProfileDescription', '-ColorType', '-FileType', '-Transparency', '-Artist', '-Copyright', '-ImageDescription', '/tmp/tmpS1duEz'] 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Stdout: 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Stderr: Error: Unknown file type - /tmp/tmpS1duEz 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Return code: 1 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Duration: 89.007 2020-07-18 19:41:42 thumbor:ERROR [ExiftoolRunner] error: 'Error: Unknown file type - /tmp/tmpS1duEz\n' 2020-07-18 19:41:42 thumbor:DEBUG [IM] EXIF: {} 2020-07-18 19:41:42 thumbor:DEBUG [IM] File has no ICC profile 2020-07-18 19:41:42 thumbor:DEBUG [IM] reorientate 2020-07-18 19:41:42 thumbor:DEBUG [IM] resize: 80.0 80.0 2020-07-18 19:41:42 thumbor:ERROR [ThreadPool] 'ImageSize' Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/thumbor/context.py", line 268, in _execute_in_foreground returned = operation() File "/usr/lib/python2.7/dist-packages/thumbor/transformer.py", line 215, in img_operation_worker self.resize() File "/usr/lib/python2.7/dist-packages/thumbor/transformer.py", line 312, in resize self.engine.resize(self.target_width or 1, self.target_height or 1) # avoiding 0px images File "/usr/lib/python2.7/dist-packages/wikimedia_thumbor/engine/proxy/proxy.py", line 173, in resize return self.__getattr__('resize')(width, height) File "/usr/lib/python2.7/dist-packages/wikimedia_thumbor/engine/imagemagick/imagemagick.py", line 388, in resize exif_image_size = self.exif['ImageSize'] KeyError: 'ImageSize' 2020-07-18 19:41:42 thumbor:DEBUG Image format specified as .png. 2020-07-18 19:41:42 thumbor:DEBUG Content Type of image/png detected. 2020-07-18 19:41:42 thumbor:DEBUG [BWE] Rendering png 2020-07-18 19:41:42 thumbor:DEBUG [IM] read: png 87 2020-07-18 19:41:42 thumbor:DEBUG [IM] Chroma subsampling: '4:2:0' 2020-07-18 19:41:42 thumbor:DEBUG [IM] Generating image with quality 95 2020-07-18 19:41:42 thumbor:DEBUG [IM] Queued operators: ['-quality', '95', '-sampling-factor', '4:2:0'] 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Command: ['/usr/bin/timeout', '--foreground', '59', '/usr/bin/convert', '-define', 'tiff:exif-properties=no', '-quality', '95', '-sampling-factor', '4:2:0', '/tmp/tmpS1duEz[0]', u'png:-'] 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Stdout: 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Stderr: convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504. convert: no images defined `png:-' @ error/convert.c/ConvertImageCommand/3258. 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Return code: 1 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Duration: 9.448 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Command: ['/usr/bin/timeout', '--foreground', '59', '/usr/bin/convert', '/tmp/tmpfnHyqN', 'info:'] 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Stdout: 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Stderr: convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504. convert: no images defined `info:' @ error/convert.c/ConvertImageCommand/3258. 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Return code: 1 2020-07-18 19:41:42 thumbor:DEBUG [ShellRunner] Duration: 9.594999999999999 2020-07-18 19:41:42 thumbor:ERROR [ThreadPool] Failed to convert image convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504. convert: no images defined `png:-' @ error/convert.c/ConvertImageCommand/3258. Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/thumbor/context.py", line 268, in _execute_in_foreground returned = operation() File "/usr/lib/python2.7/dist-packages/thumbor/handlers/__init__.py", line 334, in _load_results results = context.request.engine.read(image_extension, quality) File "/usr/lib/python2.7/dist-packages/wikimedia_thumbor/engine/proxy/proxy.py", line 133, in read ret = self.__getattr__('read')(extension, quality) File "/usr/lib/python2.7/dist-packages/wikimedia_thumbor/engine/__init__.py", line 40, in read return super(BaseWikimediaEngine, self).read(extension, quality) File "/usr/lib/python2.7/dist-packages/wikimedia_thumbor/engine/imagemagick/imagemagick.py", line 332, in read raise ImageMagickException('Failed to convert image %s' % stderr) # pragma: no cover ImageMagickException: Failed to convert image convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504. convert: no images defined `png:-' @ error/convert.c/ConvertImageCommand/3258. 2020-07-18 19:41:42 thumbor:ERROR [BaseHander.finish_request] Failed to convert image convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504. convert: no images defined `png:-' @ error/convert.c/ConvertImageCommand/3258. Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/thumbor/handlers/__init__.py", line 391, in inner future_result = future.result() File "/usr/lib/python2.7/dist-packages/concurrent/futures/_base.py", line 398, in result return self.__get_result() File "/usr/lib/python2.7/dist-packages/concurrent/futures/_base.py", line 357, in __get_result raise type(self._exception), self._exception, self._traceback ImageMagickException: Failed to convert image convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504. convert: no images defined `png:-' @ error/convert.c/ConvertImageCommand/3258. 2020-07-18 19:41:42 thumbor:WARNING Error while trying to fetch the image: Failed to convert image convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504. convert: no images defined `png:-' @ error/convert.c/ConvertImageCommand/3258. 2020-07-18 19:41:42 tornado.access:ERROR 500 GET /thumbor/unsafe/80x/filters:format(png)/https://upload.wikimedia.org/wikipedia/commons/1/1f/Hematopoiesis_%28human%29_diagram_en.svg (172.17.0.1) 798.39ms 2020-07-18 19:41:42 thumbor:DEBUG METRICS: timing: response.time:797 2020-07-18 19:41:42 thumbor:DEBUG METRICS: timing: response.time.500:797 2020-07-18 19:41:42 thumbor:DEBUG METRICS: inc: response.status.500:1 2020-07-18 19:42:02 thumbor:DEBUG [HTTPS] cleanup_temp_file: /tmp/tmp_4gtn1
That output generally indicates that rsvg-convert output an empty file in lieu of printing any useful error message. Trying it manually confirms that to be the case.
$ rsvg-convert -w 80 -f png -u -o Hematopoiesis_\(human\)_diagram_en.svg.png Hematopoiesis_\(human\)_diagram_en.svg $ ls -l Hematopoiesis_\(human\)_diagram_en.svg.png -rw-r--r-- 1 root root 0 Jul 18 20:09 Hematopoiesis_(human)_diagram_en.svg.png
Trying it in librsvg 2.48.8 also fails, but it does generate a stacktrace.
$ RUST_BACKTRACE=full rsvg-convert -w 80 -f png -u -o Hematopoiesis_\(human\)_diagram_en.svg.png Hematopoiesis_\(human\)_diagram_en.svg thread '<unnamed>' panicked at 'Cairo error "out of memory"', /home/ac/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/enums.rs:274:13 stack backtrace: 0: 0x7f954e5b60f5 - backtrace::backtrace::libunwind::trace::he332cdcbba52aaad at /build/rust/src/rustc-1.44.1-src/vendor/backtrace/src/backtrace/libunwind.rs:86 1: 0x7f954e5b60f5 - backtrace::backtrace::trace_unsynchronized::hef03e255f1bf514f at /build/rust/src/rustc-1.44.1-src/vendor/backtrace/src/backtrace/mod.rs:66 2: 0x7f954e5b60f5 - std::sys_common::backtrace::_print_fmt::hb165a755ba92b1b4 at src/libstd/sys_common/backtrace.rs:78 3: 0x7f954e5b60f5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h45e432f08dbe7d76 at src/libstd/sys_common/backtrace.rs:59 4: 0x7f954e5f883c - core::fmt::write::h73c3f84d9cf018c3 at src/libcore/fmt/mod.rs:1069 5: 0x7f954e5a77c3 - std::io::Write::write_fmt::h8ac7e773e542f3e7 at src/libstd/io/mod.rs:1504 6: 0x7f954e5baf30 - std::sys_common::backtrace::_print::he776a3581f8527e1 at src/libstd/sys_common/backtrace.rs:62 7: 0x7f954e5baf30 - std::sys_common::backtrace::print::h969151019a7e30fc at src/libstd/sys_common/backtrace.rs:49 8: 0x7f954e5baf30 - std::panicking::default_hook::{{closure}}::hac98c3c5d7e976ca at src/libstd/panicking.rs:198 9: 0x7f954e5bac7c - std::panicking::default_hook::h4e2eee37e61c3121 at src/libstd/panicking.rs:218 10: 0x7f954e5bb5d1 - std::panicking::rust_panic_with_hook::heb6c94442a23e0d6 at src/libstd/panicking.rs:511 11: 0x7f954e5bb1bb - rust_begin_unwind at src/libstd/panicking.rs:419 12: 0x7f954e5bb12b - std::panicking::begin_panic_fmt::hc94e0c124ccb9400 at src/libstd/panicking.rs:373 13: 0x7f954e34d65f - cairo::enums::Status::ensure_valid::hd6191aa94860f3e3 at /home/ac/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/enums.rs:274 14: 0x7f954e34d65f - cairo::context::Context::ensure_status::hfa67c6804a513a01 at /home/ac/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/context.rs:158 15: 0x7f954e2b495b - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73 at rsvg_internals/src/drawing_ctx.rs:718 16: 0x7f954e2b495b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7 at rsvg_internals/src/drawing_ctx.rs:483 17: 0x7f954e2b495b - rsvg_internals::drawing_ctx::DrawingCtx::draw_path::h98927437d948c834 at rsvg_internals/src/drawing_ctx.rs:987 18: 0x7f954e30b9b7 - rsvg_internals::shapes::Shape::draw::h20e91fc7e029b8b4 at rsvg_internals/src/shapes.rs:45 19: 0x7f954e30b9b7 - <rsvg_internals::shapes::Path as rsvg_internals::node::NodeTrait>::draw::h16127ed5b3960751 at rsvg_internals/src/shapes.rs:145 20: 0x7f954e2f9c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d at rsvg_internals/src/node.rs:514 21: 0x7f954e2b1492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7 at rsvg_internals/src/drawing_ctx.rs:656 22: 0x7f954e2f9a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8 at rsvg_internals/src/node.rs:513 23: 0x7f954e2b660b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43 at rsvg_internals/src/drawing_ctx.rs:1106 24: 0x7f954e2f9f70 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw_children::h5906702c42329072 at rsvg_internals/src/node.rs:536 25: 0x7f954e3108f5 - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::{{closure}}::h4143bbacef73ae53 at rsvg_internals/src/structure.rs:40 26: 0x7f954e2ae19b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::he5b1be538be65245 at rsvg_internals/src/drawing_ctx.rs:627 27: 0x7f954e31089f - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73 at rsvg_internals/src/drawing_ctx.rs:717 28: 0x7f954e31089f - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7 at rsvg_internals/src/drawing_ctx.rs:483 29: 0x7f954e31089f - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::hd8a5a9f0b3663dd6 at rsvg_internals/src/structure.rs:39 30: 0x7f954e2f9c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d at rsvg_internals/src/node.rs:514 31: 0x7f954e2b1492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7 at rsvg_internals/src/drawing_ctx.rs:656 32: 0x7f954e2f9a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8 at rsvg_internals/src/node.rs:513 33: 0x7f954e2b660b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43 at rsvg_internals/src/drawing_ctx.rs:1106 34: 0x7f954e2f9f70 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw_children::h5906702c42329072 at rsvg_internals/src/node.rs:536 35: 0x7f954e3108f5 - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::{{closure}}::h4143bbacef73ae53 at rsvg_internals/src/structure.rs:40 36: 0x7f954e2ae19b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::he5b1be538be65245 at rsvg_internals/src/drawing_ctx.rs:627 37: 0x7f954e31089f - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73 at rsvg_internals/src/drawing_ctx.rs:717 38: 0x7f954e31089f - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7 at rsvg_internals/src/drawing_ctx.rs:483 39: 0x7f954e31089f - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::hd8a5a9f0b3663dd6 at rsvg_internals/src/structure.rs:39 40: 0x7f954e2f9c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d at rsvg_internals/src/node.rs:514 41: 0x7f954e2b1492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7 at rsvg_internals/src/drawing_ctx.rs:656 42: 0x7f954e2f9a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8 at rsvg_internals/src/node.rs:513 43: 0x7f954e2b660b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43 at rsvg_internals/src/drawing_ctx.rs:1106 44: 0x7f954e2f9f70 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw_children::h5906702c42329072 at rsvg_internals/src/node.rs:536 45: 0x7f954e31265a - <rsvg_internals::structure::Svg as rsvg_internals::node::NodeTrait>::draw::{{closure}}::h89558813bfbd40f7 at rsvg_internals/src/structure.rs:263 46: 0x7f954e2ae19b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::he5b1be538be65245 at rsvg_internals/src/drawing_ctx.rs:627 47: 0x7f954e3124c7 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73 at rsvg_internals/src/drawing_ctx.rs:717 48: 0x7f954e3124c7 - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7 at rsvg_internals/src/drawing_ctx.rs:483 49: 0x7f954e3124c7 - <rsvg_internals::structure::Svg as rsvg_internals::node::NodeTrait>::draw::h8ce269e49ffc4f01 at rsvg_internals/src/structure.rs:259 50: 0x7f954e2f9c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d at rsvg_internals/src/node.rs:514 51: 0x7f954e2b1492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7 at rsvg_internals/src/drawing_ctx.rs:656 52: 0x7f954e2f9a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8 at rsvg_internals/src/node.rs:513 53: 0x7f954e2b660b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43 at rsvg_internals/src/drawing_ctx.rs:1106 54: 0x7f954e2ed30a - rsvg_internals::handle::Handle::render_layer::h2fd964055d842fe4 at rsvg_internals/src/handle.rs:261 55: 0x7f954e25b761 - rsvg_c_api::c_api::CHandle::render_layer::hde0b2b3204fcb899 at librsvg/c_api.rs:960 56: 0x7f954e25d084 - rsvg_c_api::c_api::CHandle::render_cairo_sub::h22ea0596a07efc9d at librsvg/c_api.rs:899 57: 0x7f954e25d084 - rsvg_rust_handle_render_cairo_sub at librsvg/c_api.rs:1332 58: 0x55c1ca54d9ae - main at /usr/src/debug/librsvg/rsvg-convert.c:602 59: 0x7f954d9f1002 - __libc_start_main 60: 0x55c1ca54e7ee - _start 61: 0x0 - <unknown> fatal runtime error: failed to initiate panic, error 5 fish: “RUST_BACKTRACE=full rsvg-conver…” terminated by signal SIGABRT (Abort)
That points to the bug being in librsvg or one of their upstream libraries. I've opened https://gitlab.gnome.org/GNOME/librsvg/-/issues/611 upstream.