Bug 204997 - [GTK] valgrind output is atrocious
Summary: [GTK] valgrind output is atrocious
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on: 146729 199295
Blocks:
  Show dependency treegraph
 
Reported: 2019-12-08 09:17 PST by Michael Catanzaro
Modified: 2020-03-26 07:11 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Catanzaro 2019-12-08 09:17:51 PST
I'm trying to use valgrind to track down a memory corruption bug, but it's hopeless due to the spam from various memory issues. Some of these have been reported here before. Others are cairo issues. None are acceptable. I have to run valgrind with --error-limit=no or it will eventually just give up and stop recording new issues.

Note one of these is bug #146729, and another is bug #199295. The rest look mostly like problems in our deps (cario, gvdb, gdk-pixbuf, gnutls).

Further note: this is highly truncated to fit under the Bugzilla comment limit. Just loading a couple pages will give far more output than this.


[mcatanzaro@chargestone-cave ~]$ flatpak run -d --command=/bin/bash org.gnome.Epiphany.Devel
[📦 org.gnome.Epiphany.Devel ~]$ valgrind epiphany
==3== Memcheck, a memory error detector
==3== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==3== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info
==3== Command: epiphany
==3== 
==3== Warning: set address range perms: large range [0x1252a000, 0x5252c000) (noaccess)
libsecret-Message: 11:11:08.973: secret portal is not available: GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.Secret”
==3== Thread 51 ReceiveQueue:
==3== Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
==3==    at 0x576492D: __libc_sendmsg (sendmsg.c:28)
==3==    by 0x576492D: sendmsg (sendmsg.c:25)
==3==    by 0x671BFD4: IPC::Connection::sendOutputMessage(IPC::UnixMessage&) (ConnectionUnix.cpp:480)
==3==    by 0x671C94D: IPC::Connection::sendOutgoingMessage(std::unique_ptr<IPC::Encoder, std::default_delete<IPC::Encoder> >) (ConnectionUnix.cpp:398)
==3==    by 0x6708D7A: sendOutgoingMessages (Connection.cpp:847)
==3==    by 0x6708D7A: IPC::Connection::sendOutgoingMessages() (Connection.cpp:832)
==3==    by 0xA4D982B: operator() (Function.h:79)
==3==    by 0xA4D982B: WTF::RunLoop::performWork() (RunLoop.cpp:124)
==3==    by 0xA525E1C: operator() (RunLoopGLib.cpp:68)
==3==    by 0xA525E1C: WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) (RunLoopGLib.cpp:70)
==3==    by 0x53ABB3D: g_main_dispatch (gmain.c:3272)
==3==    by 0x53ABB3D: g_main_context_dispatch (gmain.c:3937)
==3==    by 0x53ABEEF: g_main_context_iterate.isra.0 (gmain.c:4010)
==3==    by 0x53AC1E2: g_main_loop_run (gmain.c:4204)
==3==    by 0xA5268AF: WTF::RunLoop::run() (RunLoopGLib.cpp:96)
==3==    by 0xA4DAE67: operator() (Function.h:79)
==3==    by 0xA4DAE67: WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) (Threading.cpp:148)
==3==    by 0xA527CFC: WTF::wtfThreadEntryPoint(void*) (ThreadingPOSIX.cpp:200)
==3==  Address 0x73203831 is on thread 51's stack
==3==  in frame #2, created by IPC::Connection::sendOutgoingMessage(std::unique_ptr<IPC::Encoder, std::default_delete<IPC::Encoder> >) (ConnectionUnix.cpp:372)
==3== 
==3== Thread 50 pool-epiphany:
==3== Syscall param write(buf) points to uninitialised byte(s)
==3==    at 0x575436F: __libc_write (write.c:26)
==3==    by 0x575436F: write (write.c:24)
==3==    by 0x5258A61: g_local_file_output_stream_write (glocalfileoutputstream.c:199)
==3==    by 0x51AB64D: write_async_thread (goutputstream.c:2386)
==3==    by 0x51CF231: g_task_thread_pool_thread (gtask.c:1412)
==3==    by 0x53D5DB3: g_thread_pool_thread_proxy (gthreadpool.c:308)
==3==    by 0x53D5660: g_thread_proxy (gthread.c:805)
==3==    by 0xB00A5E1: start_thread (pthread_create.c:479)
==3==    by 0x5763412: clone (clone.S:95)
==3==  Address 0x122c15c2 is 24,050 bytes inside a block of size 32,768 alloc'd
==3==    at 0x483B06F: realloc (vg_replace_malloc.c:826)
==3==    by 0x53B1A8F: g_realloc (gmem.c:167)
==3==    by 0x53CEB93: g_string_maybe_expand (gstring.c:102)
==3==    by 0x53CEEE2: g_string_insert_len (gstring.c:486)
==3==    by 0x53CEEE2: g_string_insert_len (gstring.c:426)
==3==    by 0x495AE8C: file_builder_serialise (gvdb-builder.c:491)
==3==    by 0x495B303: gvdb_table_write_contents_async (gvdb-builder.c:595)
==3==    by 0x4890677: ephy_bookmarks_export (ephy-bookmarks-export.c:124)
==3==    by 0x4892D46: ephy_bookmarks_manager_save (ephy-bookmarks-manager.c:645)
==3==    by 0x4892201: ephy_bookmarks_manager_add_bookmarks (ephy-bookmarks-manager.c:376)
==3==    by 0x4890AEE: ephy_bookmarks_import (ephy-bookmarks-import.c:150)
==3==    by 0x4891BAA: ephy_bookmarks_manager_init (ephy-bookmarks-manager.c:235)
==3==    by 0x533041C: g_type_create_instance (gtype.c:1867)
==3== 
==3== Thread 1:
==3== Conditional jump or move depends on uninitialised value(s)
==3==    at 0x59EBB19: convert_alpha (gdkpixbuf-drawable.c:189)
==3==    by 0x59EBB19: gdk_pixbuf_get_from_surface (gdkpixbuf-drawable.c:295)
==3==    by 0x495C898: ephy_pixbuf_get_from_surface_scaled (ephy-favicon-helpers.c:42)
==3==    by 0x488FAE1: ephy_bookmark_row_favicon_loaded_cb (ephy-bookmark-row.c:95)
==3==    by 0x51CE518: g_task_return_now (gtask.c:1214)
==3==    by 0x51CF10C: g_task_return.part.0 (gtask.c:1283)
==3==    by 0x687A7F1: operator() (Function.h:79)
==3==    by 0x687A7F1: operator() (CompletionHandler.h:62)
==3==    by 0x687A7F1: operator() (IconDatabase.cpp:603)
==3==    by 0x687A7F1: WTF::Detail::CallableWrapper<WebKit::IconDatabase::loadIconForPageURL(WTF::String const&, WebKit::IconDatabase::AllowDatabaseWrite, WTF::CompletionHandler<void (WTF::RefPtr<_cairo_surface, WTF::DumbPtrTraits<_cairo_surface> >&&)>&&)::{lambda()#1}::operator()()::{lambda()#1}, void>::call() (Function.h:52)
==3==    by 0xA4D982B: operator() (Function.h:79)
==3==    by 0xA4D982B: WTF::RunLoop::performWork() (RunLoop.cpp:124)
==3==    by 0xA525E1C: operator() (RunLoopGLib.cpp:68)
==3==    by 0xA525E1C: WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) (RunLoopGLib.cpp:70)
==3==    by 0x53ABB3D: g_main_dispatch (gmain.c:3272)
==3==    by 0x53ABB3D: g_main_context_dispatch (gmain.c:3937)
==3==    by 0x53ABEEF: g_main_context_iterate.isra.0 (gmain.c:4010)
==3==    by 0x53ABF92: g_main_context_iteration (gmain.c:4071)
==3==    by 0x51FC584: g_application_run (gapplication.c:2559)
==3== 
==3== Conditional jump or move depends on uninitialised value(s)
==3==    at 0x5C35391: scale_line (pixops.c:1025)
==3==    by 0x5C36D7F: pixops_process (pixops.c:1378)
==3==    by 0x5C37403: _pixops_scale_real (pixops.c:2406)
==3==    by 0x5C37403: _pixops_scale (pixops.c:2462)
==3==    by 0x5C32440: gdk_pixbuf_scale (gdk-pixbuf-scale.c:127)
==3==    by 0x5C32AC3: gdk_pixbuf_scale_simple (gdk-pixbuf-scale.c:325)
==3==    by 0x495C8CF: ephy_pixbuf_get_from_surface_scaled (ephy-favicon-helpers.c:46)
==3==    by 0x488FAE1: ephy_bookmark_row_favicon_loaded_cb (ephy-bookmark-row.c:95)
==3==    by 0x51CE518: g_task_return_now (gtask.c:1214)
==3==    by 0x51CF10C: g_task_return.part.0 (gtask.c:1283)
==3==    by 0x687A7F1: operator() (Function.h:79)
==3==    by 0x687A7F1: operator() (CompletionHandler.h:62)
==3==    by 0x687A7F1: operator() (IconDatabase.cpp:603)
==3==    by 0x687A7F1: WTF::Detail::CallableWrapper<WebKit::IconDatabase::loadIconForPageURL(WTF::String const&, WebKit::IconDatabase::AllowDatabaseWrite, WTF::CompletionHandler<void (WTF::RefPtr<_cairo_surface, WTF::DumbPtrTraits<_cairo_surface> >&&)>&&)::{lambda()#1}::operator()()::{lambda()#1}, void>::call() (Function.h:52)
==3==    by 0xA4D982B: operator() (Function.h:79)
==3==    by 0xA4D982B: WTF::RunLoop::performWork() (RunLoop.cpp:124)
==3==    by 0xA525E1C: operator() (RunLoopGLib.cpp:68)
==3==    by 0xA525E1C: WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) (RunLoopGLib.cpp:70)
==3== 
==3== Conditional jump or move depends on uninitialised value(s)
==3==    at 0xB3D7E58: core_combine_over_u_sse2_mask (pixman-sse2.c:649)
==3==    by 0xB3D7E58: sse2_combine_over_u (pixman-sse2.c:738)
==3==    by 0xB3BB532: general_composite_rect (pixman-general.c:223)
==3==    by 0xB375E7C: pixman_image_composite32 (pixman.c:700)
==3==    by 0x5B31E7F: _inplace_spans (cairo-image-compositor.c:2537)
==3==    by 0x5B31E7F: _inplace_spans (cairo-image-compositor.c:2472)
==3==    by 0x5B788C0: blit_a1 (cairo-tor-scan-converter.c:1712)
==3==    by 0x5B788C0: glitter_scan_converter_render (cairo-tor-scan-converter.c:1797)
==3==    by 0x5B788C0: _cairo_tor_scan_converter_generate (cairo-tor-scan-converter.c:1857)
==3==    by 0x5B6896E: composite_polygon.isra.0 (cairo-spans-compositor.c:801)
==3==    by 0x5B693D2: clip_and_composite_polygon (cairo-spans-compositor.c:967)
==3==    by 0x5B6A2B1: _cairo_spans_compositor_fill (cairo-spans-compositor.c:1174)
==3==    by 0x5B252CD: _cairo_compositor_fill (cairo-compositor.c:203)
==3==    by 0x5B371C8: _cairo_image_surface_fill (cairo-image-surface.c:987)
==3==    by 0x5B764B5: _cairo_surface_fill (cairo-surface.c:2422)
==3==    by 0x5B764B5: _cairo_surface_fill (cairo-surface.c:2391)
==3==    by 0x5B2D764: _cairo_gstate_fill (cairo-gstate.c:1312)
==3== 
==3== Conditional jump or move depends on uninitialised value(s)
==3==    at 0xB3D7C41: core_combine_over_u_sse2_mask (pixman-sse2.c:587)
==3==    by 0xB3D7C41: sse2_combine_over_u (pixman-sse2.c:738)
==3==    by 0xB3BB532: general_composite_rect (pixman-general.c:223)
==3==    by 0xB375E7C: pixman_image_composite32 (pixman.c:700)
==3==    by 0x5B31E7F: _inplace_spans (cairo-image-compositor.c:2537)
==3==    by 0x5B31E7F: _inplace_spans (cairo-image-compositor.c:2472)
==3==    by 0x5B788C0: blit_a1 (cairo-tor-scan-converter.c:1712)
==3==    by 0x5B788C0: glitter_scan_converter_render (cairo-tor-scan-converter.c:1797)
==3==    by 0x5B788C0: _cairo_tor_scan_converter_generate (cairo-tor-scan-converter.c:1857)
==3==    by 0x5B6896E: composite_polygon.isra.0 (cairo-spans-compositor.c:801)
==3==    by 0x5B693D2: clip_and_composite_polygon (cairo-spans-compositor.c:967)
==3==    by 0x5B6A2B1: _cairo_spans_compositor_fill (cairo-spans-compositor.c:1174)
==3==    by 0x5B252CD: _cairo_compositor_fill (cairo-compositor.c:203)
==3==    by 0x5B371C8: _cairo_image_surface_fill (cairo-image-surface.c:987)
==3==    by 0x5B764B5: _cairo_surface_fill (cairo-surface.c:2422)
==3==    by 0x5B764B5: _cairo_surface_fill (cairo-surface.c:2391)
==3==    by 0x5B2D764: _cairo_gstate_fill (cairo-gstate.c:1312)
==3== 
==3== Conditional jump or move depends on uninitialised value(s)
==3==    at 0x779C2444: map_unpremultiplied_components_loop<fn(u8) -> u8> (srgb.rs:42)
==3==    by 0x779C2444: rsvg_internals::srgb::map_unpremultiplied_components (srgb.rs:81)
==3==    by 0x7796E942: linearize_surface (srgb.rs:94)
==3==    by 0x7796E942: to_linear_rgb (shared_surface.rs:450)
==3==    by 0x7796E942: rsvg_internals::filters::context::FilterContext::get_input (context.rs:434)
==3==    by 0x77A09A0C: get_input (mod.rs:209)
==3==    by 0x77A09A0C: <rsvg_internals::filters::color_matrix::FeColorMatrix as rsvg_internals::filters::FilterEffect>::render (color_matrix.rs:163)
==3==    by 0x779F90BC: rsvg_internals::filters::render::{{closure}} (mod.rs:316)
==3==    by 0x779F8488: call_once<closure,(&mut rsvg_internals::filters::context::FilterContext)> (function.rs:231)
==3==    by 0x779F8488: with_linear_rgb<core::result::Result<(), cairo::enums::Status>,closure> (context.rs:452)
==3==    by 0x779F8488: rsvg_internals::filters::render (mod.rs:334)
==3==    by 0x779BBD1B: run_filter (drawing_ctx.rs:590)
==3==    by 0x779BBD1B: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:468)
==3==    by 0x77A0D0D7: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A0D0D7: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A0D0D7: <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw (structure.rs:37)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3==    by 0x77964775: with_saved_matrix (drawing_ctx.rs:553)
==3==    by 0x77964775: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw (node.rs:488)
==3==    by 0x779BE454: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack (drawing_ctx.rs:874)
==3==    by 0x77A1137A: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw::{{closure}} (structure.rs:386)
==3==    by 0x779BB6A7: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:530)
==3== 
==3== Use of uninitialised value of size 8
==3==    at 0x779C24B6: map_unpremultiplied_components_loop<fn(u8) -> u8> (mod.rs:0)
==3==    by 0x779C24B6: rsvg_internals::srgb::map_unpremultiplied_components (srgb.rs:81)
==3==    by 0x7796E942: linearize_surface (srgb.rs:94)
==3==    by 0x7796E942: to_linear_rgb (shared_surface.rs:450)
==3==    by 0x7796E942: rsvg_internals::filters::context::FilterContext::get_input (context.rs:434)
==3==    by 0x77A09A0C: get_input (mod.rs:209)
==3==    by 0x77A09A0C: <rsvg_internals::filters::color_matrix::FeColorMatrix as rsvg_internals::filters::FilterEffect>::render (color_matrix.rs:163)
==3==    by 0x779F90BC: rsvg_internals::filters::render::{{closure}} (mod.rs:316)
==3==    by 0x779F8488: call_once<closure,(&mut rsvg_internals::filters::context::FilterContext)> (function.rs:231)
==3==    by 0x779F8488: with_linear_rgb<core::result::Result<(), cairo::enums::Status>,closure> (context.rs:452)
==3==    by 0x779F8488: rsvg_internals::filters::render (mod.rs:334)
==3==    by 0x779BBD1B: run_filter (drawing_ctx.rs:590)
==3==    by 0x779BBD1B: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:468)
==3==    by 0x77A0D0D7: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A0D0D7: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A0D0D7: <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw (structure.rs:37)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3==    by 0x77964775: with_saved_matrix (drawing_ctx.rs:553)
==3==    by 0x77964775: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw (node.rs:488)
==3==    by 0x779BE454: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack (drawing_ctx.rs:874)
==3==    by 0x77A1137A: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw::{{closure}} (structure.rs:386)
==3==    by 0x779BB6A7: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:530)
==3== 
==3== Use of uninitialised value of size 8
==3==    at 0x779C24E6: map_unpremultiplied_components_loop<fn(u8) -> u8> (mod.rs:0)
==3==    by 0x779C24E6: rsvg_internals::srgb::map_unpremultiplied_components (srgb.rs:81)
==3==    by 0x7796E942: linearize_surface (srgb.rs:94)
==3==    by 0x7796E942: to_linear_rgb (shared_surface.rs:450)
==3==    by 0x7796E942: rsvg_internals::filters::context::FilterContext::get_input (context.rs:434)
==3==    by 0x77A09A0C: get_input (mod.rs:209)
==3==    by 0x77A09A0C: <rsvg_internals::filters::color_matrix::FeColorMatrix as rsvg_internals::filters::FilterEffect>::render (color_matrix.rs:163)
==3==    by 0x779F90BC: rsvg_internals::filters::render::{{closure}} (mod.rs:316)
==3==    by 0x779F8488: call_once<closure,(&mut rsvg_internals::filters::context::FilterContext)> (function.rs:231)
==3==    by 0x779F8488: with_linear_rgb<core::result::Result<(), cairo::enums::Status>,closure> (context.rs:452)
==3==    by 0x779F8488: rsvg_internals::filters::render (mod.rs:334)
==3==    by 0x779BBD1B: run_filter (drawing_ctx.rs:590)
==3==    by 0x779BBD1B: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:468)
==3==    by 0x77A0D0D7: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A0D0D7: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A0D0D7: <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw (structure.rs:37)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3==    by 0x77964775: with_saved_matrix (drawing_ctx.rs:553)
==3==    by 0x77964775: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw (node.rs:488)
==3==    by 0x779BE454: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack (drawing_ctx.rs:874)
==3==    by 0x77A1137A: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw::{{closure}} (structure.rs:386)
==3==    by 0x779BB6A7: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:530)
==3== 
==3== Use of uninitialised value of size 8
==3==    at 0x779C2517: map_unpremultiplied_components_loop<fn(u8) -> u8> (mod.rs:0)
==3==    by 0x779C2517: rsvg_internals::srgb::map_unpremultiplied_components (srgb.rs:81)
==3==    by 0x7796E942: linearize_surface (srgb.rs:94)
==3==    by 0x7796E942: to_linear_rgb (shared_surface.rs:450)
==3==    by 0x7796E942: rsvg_internals::filters::context::FilterContext::get_input (context.rs:434)
==3==    by 0x77A09A0C: get_input (mod.rs:209)
==3==    by 0x77A09A0C: <rsvg_internals::filters::color_matrix::FeColorMatrix as rsvg_internals::filters::FilterEffect>::render (color_matrix.rs:163)
==3==    by 0x779F90BC: rsvg_internals::filters::render::{{closure}} (mod.rs:316)
==3==    by 0x779F8488: call_once<closure,(&mut rsvg_internals::filters::context::FilterContext)> (function.rs:231)
==3==    by 0x779F8488: with_linear_rgb<core::result::Result<(), cairo::enums::Status>,closure> (context.rs:452)
==3==    by 0x779F8488: rsvg_internals::filters::render (mod.rs:334)
==3==    by 0x779BBD1B: run_filter (drawing_ctx.rs:590)
==3==    by 0x779BBD1B: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:468)
==3==    by 0x77A0D0D7: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A0D0D7: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A0D0D7: <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw (structure.rs:37)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3==    by 0x77964775: with_saved_matrix (drawing_ctx.rs:553)
==3==    by 0x77964775: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw (node.rs:488)
==3==    by 0x779BE454: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack (drawing_ctx.rs:874)
==3==    by 0x77A1137A: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw::{{closure}} (structure.rs:386)
==3==    by 0x779BB6A7: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:530)
==3== 
==3== Conditional jump or move depends on uninitialised value(s)
==3==    at 0x77A0A188: <rsvg_internals::filters::color_matrix::FeColorMatrix as rsvg_internals::filters::FilterEffect>::render (color_matrix.rs:183)
==3==    by 0x779F90BC: rsvg_internals::filters::render::{{closure}} (mod.rs:316)
==3==    by 0x779F8488: call_once<closure,(&mut rsvg_internals::filters::context::FilterContext)> (function.rs:231)
==3==    by 0x779F8488: with_linear_rgb<core::result::Result<(), cairo::enums::Status>,closure> (context.rs:452)
==3==    by 0x779F8488: rsvg_internals::filters::render (mod.rs:334)
==3==    by 0x779BBD1B: run_filter (drawing_ctx.rs:590)
==3==    by 0x779BBD1B: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:468)
==3==    by 0x77A0D0D7: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A0D0D7: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A0D0D7: <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw (structure.rs:37)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3==    by 0x77964775: with_saved_matrix (drawing_ctx.rs:553)
==3==    by 0x77964775: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw (node.rs:488)
==3==    by 0x779BE454: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack (drawing_ctx.rs:874)
==3==    by 0x77A1137A: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw::{{closure}} (structure.rs:386)
==3==    by 0x779BB6A7: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:530)
==3==    by 0x77A10BF2: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A10BF2: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A10BF2: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw (structure.rs:385)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3== 
==3== Conditional jump or move depends on uninitialised value(s)
==3==    at 0x779C2864: map_unpremultiplied_components_loop<fn(u8) -> u8> (srgb.rs:42)
==3==    by 0x779C2864: rsvg_internals::srgb::map_unpremultiplied_components (srgb.rs:81)
==3==    by 0x779F73DA: unlinearize_surface (srgb.rs:105)
==3==    by 0x779F73DA: to_srgb (shared_surface.rs:460)
==3==    by 0x779F73DA: rsvg_internals::filters::context::FilterContext::into_output (context.rs:264)
==3==    by 0x779F8881: rsvg_internals::filters::render (mod.rs:347)
==3==    by 0x779BBD1B: run_filter (drawing_ctx.rs:590)
==3==    by 0x779BBD1B: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:468)
==3==    by 0x77A0D0D7: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A0D0D7: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A0D0D7: <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw (structure.rs:37)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3==    by 0x77964775: with_saved_matrix (drawing_ctx.rs:553)
==3==    by 0x77964775: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw (node.rs:488)
==3==    by 0x779BE454: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack (drawing_ctx.rs:874)
==3==    by 0x77A1137A: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw::{{closure}} (structure.rs:386)
==3==    by 0x779BB6A7: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:530)
==3==    by 0x77A10BF2: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A10BF2: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A10BF2: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw (structure.rs:385)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3== 
==3== Use of uninitialised value of size 8
==3==    at 0x779C28D6: map_unpremultiplied_components_loop<fn(u8) -> u8> (mod.rs:0)
==3==    by 0x779C28D6: rsvg_internals::srgb::map_unpremultiplied_components (srgb.rs:81)
==3==    by 0x779F73DA: unlinearize_surface (srgb.rs:105)
==3==    by 0x779F73DA: to_srgb (shared_surface.rs:460)
==3==    by 0x779F73DA: rsvg_internals::filters::context::FilterContext::into_output (context.rs:264)
==3==    by 0x779F8881: rsvg_internals::filters::render (mod.rs:347)
==3==    by 0x779BBD1B: run_filter (drawing_ctx.rs:590)
==3==    by 0x779BBD1B: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:468)
==3==    by 0x77A0D0D7: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A0D0D7: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A0D0D7: <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw (structure.rs:37)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3==    by 0x77964775: with_saved_matrix (drawing_ctx.rs:553)
==3==    by 0x77964775: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw (node.rs:488)
==3==    by 0x779BE454: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack (drawing_ctx.rs:874)
==3==    by 0x77A1137A: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw::{{closure}} (structure.rs:386)
==3==    by 0x779BB6A7: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:530)
==3==    by 0x77A10BF2: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A10BF2: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A10BF2: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw (structure.rs:385)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3== 
==3== Use of uninitialised value of size 8
==3==    at 0x779C2906: map_unpremultiplied_components_loop<fn(u8) -> u8> (mod.rs:0)
==3==    by 0x779C2906: rsvg_internals::srgb::map_unpremultiplied_components (srgb.rs:81)
==3==    by 0x779F73DA: unlinearize_surface (srgb.rs:105)
==3==    by 0x779F73DA: to_srgb (shared_surface.rs:460)
==3==    by 0x779F73DA: rsvg_internals::filters::context::FilterContext::into_output (context.rs:264)
==3==    by 0x779F8881: rsvg_internals::filters::render (mod.rs:347)
==3==    by 0x779BBD1B: run_filter (drawing_ctx.rs:590)
==3==    by 0x779BBD1B: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:468)
==3==    by 0x77A0D0D7: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A0D0D7: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A0D0D7: <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw (structure.rs:37)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3==    by 0x77964775: with_saved_matrix (drawing_ctx.rs:553)
==3==    by 0x77964775: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw (node.rs:488)
==3==    by 0x779BE454: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack (drawing_ctx.rs:874)
==3==    by 0x77A1137A: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw::{{closure}} (structure.rs:386)
==3==    by 0x779BB6A7: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:530)
==3==    by 0x77A10BF2: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A10BF2: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A10BF2: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw (structure.rs:385)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3== 
==3== Use of uninitialised value of size 8
==3==    at 0x779C2937: map_unpremultiplied_components_loop<fn(u8) -> u8> (mod.rs:0)
==3==    by 0x779C2937: rsvg_internals::srgb::map_unpremultiplied_components (srgb.rs:81)
==3==    by 0x779F73DA: unlinearize_surface (srgb.rs:105)
==3==    by 0x779F73DA: to_srgb (shared_surface.rs:460)
==3==    by 0x779F73DA: rsvg_internals::filters::context::FilterContext::into_output (context.rs:264)
==3==    by 0x779F8881: rsvg_internals::filters::render (mod.rs:347)
==3==    by 0x779BBD1B: run_filter (drawing_ctx.rs:590)
==3==    by 0x779BBD1B: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:468)
==3==    by 0x77A0D0D7: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A0D0D7: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A0D0D7: <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw (structure.rs:37)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3==    by 0x77964775: with_saved_matrix (drawing_ctx.rs:553)
==3==    by 0x77964775: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw (node.rs:488)
==3==    by 0x779BE454: rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack (drawing_ctx.rs:874)
==3==    by 0x77A1137A: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw::{{closure}} (structure.rs:386)
==3==    by 0x779BB6A7: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:530)
==3==    by 0x77A10BF2: with_saved_cr (drawing_ctx.rs:571)
==3==    by 0x77A10BF2: with_discrete_layer (drawing_ctx.rs:403)
==3==    by 0x77A10BF2: <rsvg_internals::structure::Use as rsvg_internals::node::NodeTrait>::draw (structure.rs:385)
==3==    by 0x77964B59: <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}} (node.rs:492)
==3== 
==3== Conditional jump or move depends on uninitialised value(s)
==3==    at 0xB3DE7C0: sse2_composite_over_8888_8888_8888 (pixman-sse2.c:5249)
==3==    by 0xB375E7C: pixman_image_composite32 (pixman.c:700)
==3==    by 0x5B30F6C: composite_boxes (cairo-image-compositor.c:538)
==3==    by 0x5B69896: composite_aligned_boxes (cairo-spans-compositor.c:683)
==3==    by 0x5B69896: clip_and_composite_boxes.part.0 (cairo-spans-compositor.c:882)
==3==    by 0x5B69E3D: clip_and_composite_boxes (cairo-spans-compositor.c:901)
==3==    by 0x5B69EBF: _cairo_spans_compositor_paint (cairo-spans-compositor.c:983)
==3==    by 0x5B25060: _cairo_compositor_mask (cairo-compositor.c:106)
==3==    by 0x5B761DA: _cairo_surface_mask (cairo-surface.c:2247)
==3==    by 0x5B2D113: _cairo_gstate_mask (cairo-gstate.c:1136)
==3==    by 0x5B82E26: cairo_mask (cairo.c:2283)
==3==    by 0x5B82EEA: cairo_mask_surface (cairo.c:2320)
==3==    by 0x779BC531: {{closure}} (drawing_ctx.rs:501)
==3==    by 0x779BC531: and_then<core::option::Option<cairo::image_surface::ImageSurface>,rsvg_internals::error::RenderingError,(),closure> (result.rs:639)
==3==    by 0x779BC531: {{closure}} (drawing_ctx.rs:494)
==3==    by 0x779BC531: and_then<rsvg_internals::bbox::BoundingBox,rsvg_internals::error::RenderingError,rsvg_internals::bbox::BoundingBox,closure> (result.rs:639)
==3==    by 0x779BC531: _ZN14rsvg_internals11drawing_ctx10DrawingCtx19with_discrete_layer28_$u7b$$u7b$closure$u7d$$u7d$17ha3a938d28bbb68ebE.llvm.14078205989636060017 (drawing_ctx.rs:493)
==3==
Comment 1 Michael Catanzaro 2020-03-18 17:53:28 PDT
I'm going to close this (at least for now). Asides from bug #146729, bug #199295:

gvdb issue should be fixed by Philip: https://gitlab.gnome.org/GNOME/gvdb/-/merge_requests/11

The cairo/librsvg issues are almost all coming from a single error in pixman: https://gitlab.freedesktop.org/pixman/pixman/issues/9. Federico has been looking into this one.

I fixed GnuTLS: https://gitlab.com/gnutls/gnutls/-/merge_requests/1185

And I think that's pretty much it for this bug. I don't think keeping the bug open will be very useful at this time. Let's focus on solving bug #146729 and bug #199295, and wait for fixed pixman, before returning to see if anything else is still remaining.

BTW: the valgrind output is much better when using --track-origins=yes.