liferea icon indicating copy to clipboard operation
liferea copied to clipboard

memcheck reports problems for 'update'!

Open paulgevers opened this issue 5 months ago • 2 comments

Version

1.16.1 and 1.16.5

Problematic Behavior

During builds in Debian/unstable, the memcheck fails. This was reported in Debian bug 1115697 for version 1.16.1 (which built successfully before), and I just reproduced this with version 1.16.5.

Steps to Reproduce

  1. build liferea in a debian/unstable environment and run make in the src/tests

Expected Behavior

test should pass and not yield errors.

Instead I see this

./memcheck.sh parse_html parse_uri favicon parse_date parse_rss parse_xml social update
memcheck 'parse_html' OK
memcheck 'parse_uri' OK
memcheck 'favicon' OK
memcheck 'parse_date' OK
memcheck 'parse_rss' OK
memcheck 'parse_xml' OK
memcheck 'social' OK
ERROR: memcheck reports problems for 'update'!
Relevant error lines are:
==4789== 64 bytes in 2 blocks are definitely lost in loss record 1,472 of 2,319
Full valgrind details:
TAP version 14
# random seed: R02S5edc6bfcdfc92a0e1aa1f21e187c6f5b
==4790== 80 bytes in 1 blocks are possibly lost in loss record 207 of 271
==4790==    at 0x48C9818: malloc (vg_replace_malloc.c:446)
==4790==    by 0x14C123F6: ??? (in /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0)
==4790==    by 0x14C12689: __glDispatchInit (in /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0)
==4790==    by 0x14C8D44C: ??? (in /usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0)
==4790==    by 0x4089FAD: call_init (dl-init.c:74)
==4790==    by 0x4089FAD: call_init (dl-init.c:26)
==4790==    by 0x408A07B: _dl_init (dl-init.c:121)
==4790==    by 0x40A146F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
==4790== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   obj:/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
   fun:__glDispatchInit
   obj:/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
   fun:call_init
   fun:call_init
   fun:_dl_init
   obj:/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
}
==4790== 80 bytes in 1 blocks are possibly lost in loss record 208 of 271
==4790==    at 0x48C9818: malloc (vg_replace_malloc.c:446)
==4790==    by 0x14C123F6: ??? (in /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0)
==4790==    by 0x14C12880: __glDispatchRegisterStubCallbacks (in /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0)
==4790==    by 0x12F18149: ??? (in /usr/lib/x86_64-linux-gnu/libGL.so.1.7.0)
==4790==    by 0x4089FAD: call_init (dl-init.c:74)
==4790==    by 0x4089FAD: call_init (dl-init.c:26)
==4790==    by 0x408A07B: _dl_init (dl-init.c:121)
==4790==    by 0x40A146F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
==4790== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   obj:/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
   fun:__glDispatchRegisterStubCallbacks
   obj:/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
   fun:call_init
   fun:call_init
   fun:_dl_init
   obj:/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
}
# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ?gsettings-backend?
# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs?
# pxbackend-DEBUG: px_config_sysconfig_set_config_file: Could not read file /etc/sysconfig/proxy
# pxbackend-DEBUG: Active config plugins:
# pxbackend-DEBUG:  - config-env
# pxbackend-DEBUG:  - config-xdp
# pxbackend-DEBUG:  - config-kde
# pxbackend-DEBUG:  - config-gnome
# pxbackend-DEBUG:  - config-sysconfig
# GLib-GIO-DEBUG: Failed to initialize portal (GNetworkMonitorPortal) for gio-network-monitor: Not using portals
# GLib-GIO-DEBUG: Failed to initialize networkmanager (GNetworkMonitorNM) for gio-network-monitor: Could not connect: No such file or directory
# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation netlink (GNetworkMonitorNetlink) for ?gio-network-monitor?
# pxbackend-DEBUG: px_manager_constructed: Up and running
# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation libproxy (GLibproxyResolver) for ?gio-proxy-resolver?
# GLib-GIO-DEBUG: g_socket_client_connect_async: starting new g_socket_client_connect_async() with GTask 0x1507ef00 and GSocketClientAsyncConnectData 0x1507dcd0
# GLib-GIO-DEBUG: GSocketClient: Starting new address enumeration
# GLib-GIO-DEBUG: g_socket_client_connect_async: starting new g_socket_client_connect_async() with GTask 0x15095950 and GSocketClientAsyncConnectData 0x15095010
# GLib-GIO-DEBUG: GSocketClient: Starting new address enumeration
# pxbackend-DEBUG: px_manager_get_proxies_sync: url=http://localhost:6666/ online=1
# pxbackend-DEBUG: px_manager_get_proxies_sync: Proxy[0] = direct://
# pxbackend-DEBUG: px_manager_get_proxies_sync: url=[http://localhost:80](http://localhost/) online=1
# pxbackend-DEBUG: px_manager_get_proxies_sync: Proxy[0] = direct://
# GLib-GIO-DEBUG: GSocketClient: Address enumeration succeeded
# GLib-GIO-DEBUG: g_socket_client_enumerator_callback: starting connection attempt 0x150da050 for GSocketClientAsyncConnectData 0x1507dcd0
# GLib-GIO-DEBUG: GSocketClient: Starting TCP connection attempt
# GLib-GIO-DEBUG: GSocketClient: Connection attempt failed: Connection refused
# GLib-GIO-DEBUG: GSocketClient: Starting new address enumeration
# GLib-GIO-DEBUG: GSocketClient: Address enumeration succeeded
# GLib-GIO-DEBUG: g_socket_client_enumerator_callback: starting connection attempt 0x15112220 for GSocketClientAsyncConnectData 0x15095010
# GLib-GIO-DEBUG: GSocketClient: Starting TCP connection attempt
# GLib-GIO-DEBUG: GSocketClient: Address enumeration succeeded
# GLib-GIO-DEBUG: g_socket_client_enumerator_callback: starting connection attempt 0x1512e7a0 for GSocketClientAsyncConnectData 0x1507dcd0
# GLib-GIO-DEBUG: GSocketClient: Starting TCP connection attempt
# GLib-GIO-DEBUG: GSocketClient: Connection attempt failed: Connection refused
# GLib-GIO-DEBUG: GSocketClient: Starting new address enumeration
# GLib-GIO-DEBUG: GSocketClient: Connection attempt failed: Connection refused
# GLib-GIO-DEBUG: GSocketClient: Starting new address enumeration
# GLib-GIO-DEBUG: GSocketClient: Address enumeration succeeded
# GLib-GIO-DEBUG: g_socket_client_enumerator_callback: starting connection attempt 0x1516f820 for GSocketClientAsyncConnectData 0x15095010
# GLib-GIO-DEBUG: GSocketClient: Starting TCP connection attempt
# GLib-GIO-DEBUG: GSocketClient: Address enumeration completed (out of addresses)
# GLib-GIO-DEBUG: GSocketClient: Address enumeration failed: (null)
# GLib-GIO-DEBUG: GSocketClient: Connection failed: Could not connect to localhost: Connection refused
# GLib-GIO-DEBUG: GSocketClient: Connection attempt failed: Connection refused
# GLib-GIO-DEBUG: GSocketClient: Starting new address enumeration
# GLib-GIO-DEBUG: GSocketClient: Address enumeration completed (out of addresses)
# GLib-GIO-DEBUG: GSocketClient: Address enumeration failed: (null)
# GLib-GIO-DEBUG: GSocketClient: Connection failed: Could not connect to localhost: Connection refused
# update result (null) (HTTP 200, size=78, body=0x15077a70, state=2)
# update result http://localhost:6666/ (HTTP 0, size=0, body=(nil), state=2)
# update result htps://localhost (HTTP 0, size=0, body=(nil), state=2)
# check updates
1..3
# Start of update_job tests
ok 1 /update_job/port-fail
ok 2 /update_job/proto-fail
ok 3 /update_job/local-file
# End of update_job tests
==4789== 1 bytes in 1 blocks are possibly lost in loss record 2 of 2,319
==4789==    at 0x48C9818: malloc (vg_replace_malloc.c:446)
==4789==    by 0xB056701: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB0732B2: g_strdup (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB090ADC: g_uri_build_with_user (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0x4030040: network_process_request (net.c:237)
==4789==    by 0x4038149: update_dequeue_job (update_job_queue.c:64)
==4789==    by 0x4038149: update_dequeue_job (update_job_queue.c:38)
==4789==    by 0xB04D384: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB04F5B6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB05001E: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0x402078A: main (update.c:148)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   fun:g_malloc
   fun:g_strdup
   fun:g_uri_build_with_user
   fun:network_process_request
   fun:update_dequeue_job
   fun:update_dequeue_job
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_main_loop_run
   fun:main
}
==4789== 1 bytes in 1 blocks are possibly lost in loss record 3 of 2,319
==4789==    at 0x48C9818: malloc (vg_replace_malloc.c:446)
==4789==    by 0xB056701: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB0732B2: g_strdup (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB090ADC: g_uri_build_with_user (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xACC352F: soup_uri_copy (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACAA7E7: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBC58E: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBC96F: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBCA26: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xB04D384: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB04F5B6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB05001E: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   fun:g_malloc
   fun:g_strdup
   fun:g_uri_build_with_user
   fun:soup_uri_copy
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_main_loop_run
}
==4789== 5 bytes in 1 blocks are possibly lost in loss record 18 of 2,319
==4789==    at 0x48C9818: malloc (vg_replace_malloc.c:446)
==4789==    by 0xB056701: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB0732B2: g_strdup (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB073E98: g_ascii_strdown (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB090A90: g_uri_build_with_user (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0x4030040: network_process_request (net.c:237)
==4789==    by 0x4038149: update_dequeue_job (update_job_queue.c:64)
==4789==    by 0x4038149: update_dequeue_job (update_job_queue.c:38)
==4789==    by 0xB04D384: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB04F5B6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB05001E: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0x402078A: main (update.c:148)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   fun:g_malloc
   fun:g_strdup
   fun:g_ascii_strdown
   fun:g_uri_build_with_user
   fun:network_process_request
   fun:update_dequeue_job
   fun:update_dequeue_job
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_main_loop_run
   fun:main
}
==4789== 5 bytes in 1 blocks are possibly lost in loss record 19 of 2,319
==4789==    at 0x48C9818: malloc (vg_replace_malloc.c:446)
==4789==    by 0xB056701: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB0732B2: g_strdup (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB073E98: g_ascii_strdown (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB090A90: g_uri_build_with_user (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xACC352F: soup_uri_copy (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACAA7E7: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBC58E: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBC96F: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBCA26: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xB04D384: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB04F5B6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   fun:g_malloc
   fun:g_strdup
   fun:g_ascii_strdown
   fun:g_uri_build_with_user
   fun:soup_uri_copy
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
}
==4789== 10 bytes in 1 blocks are possibly lost in loss record 127 of 2,319
==4789==    at 0x48C9818: malloc (vg_replace_malloc.c:446)
==4789==    by 0xB056701: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB0732B2: g_strdup (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB090AC7: g_uri_build_with_user (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0x4030040: network_process_request (net.c:237)
==4789==    by 0x4038149: update_dequeue_job (update_job_queue.c:64)
==4789==    by 0x4038149: update_dequeue_job (update_job_queue.c:38)
==4789==    by 0xB04D384: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB04F5B6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB05001E: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0x402078A: main (update.c:148)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   fun:g_malloc
   fun:g_strdup
   fun:g_uri_build_with_user
   fun:network_process_request
   fun:update_dequeue_job
   fun:update_dequeue_job
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_main_loop_run
   fun:main
}
==4789== 10 bytes in 1 blocks are possibly lost in loss record 128 of 2,319
==4789==    at 0x48C9818: malloc (vg_replace_malloc.c:446)
==4789==    by 0xB056701: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB0732B2: g_strdup (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB090AC7: g_uri_build_with_user (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xACC352F: soup_uri_copy (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACAA7E7: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBC58E: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBC96F: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBCA26: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xB04D384: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB04F5B6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB05001E: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:malloc
   fun:g_malloc
   fun:g_strdup
   fun:g_uri_build_with_user
   fun:soup_uri_copy
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_main_loop_run
}
==4789== 64 bytes in 2 blocks are definitely lost in loss record 1,472 of 2,319
==4789==    at 0x48C9818: malloc (vg_replace_malloc.c:446)
==4789==    by 0x4087C7E: malloc (rtld-malloc.h:56)
==4789==    by 0x4087C7E: _dl_close_worker (dl-close.c:360)
==4789==    by 0x4088405: _dl_close (dl-close.c:795)
==4789==    by 0x4087398: _dl_catch_exception (dl-catch.c:241)
==4789==    by 0x40874BE: _dl_catch_error (dl-catch.c:260)
==4789==    by 0xB2C7D66: _dlerror_run (dlerror.c:138)
==4789==    by 0xB2C7A95: dlclose@@GLIBC_2.34 (dlclose.c:31)
==4789==    by 0x124214D1: g_module_close (in /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.8400.4)
==4789==    by 0xADC1973: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4)
==4789==    by 0xAFCADFB: g_type_module_unuse (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.8400.4)
==4789==    by 0xADC1BC6: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4)
==4789==    by 0xADC2935: g_io_extension_point_get_extensions (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: definite
   fun:malloc
   fun:malloc
   fun:_dl_close_worker
   fun:_dl_close
   fun:_dl_catch_exception
   fun:_dl_catch_error
   fun:_dlerror_run
   fun:dlclose@@GLIBC_2.34
   fun:g_module_close
   obj:/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4
   fun:g_type_module_unuse
   obj:/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4
   fun:g_io_extension_point_get_extensions
}
==4789== 96 bytes in 1 blocks are possibly lost in loss record 2,086 of 2,319
==4789==    at 0x48D0BA3: calloc (vg_replace_malloc.c:1675)
==4789==    by 0xB056759: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB0652C5: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xACC23D1: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBD6F2: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACAA9CA: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBC58E: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBC96F: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBCA26: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xB04D384: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB04F5B6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB05001E: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:calloc
   fun:g_malloc0
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_main_loop_run
}
==4789== 128 bytes in 1 blocks are possibly lost in loss record 2,157 of 2,319
==4789==    at 0x48D0BA3: calloc (vg_replace_malloc.c:1675)
==4789==    by 0xB056759: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB0652C5: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB090A7A: g_uri_build_with_user (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0x4030040: network_process_request (net.c:237)
==4789==    by 0x4038149: update_dequeue_job (update_job_queue.c:64)
==4789==    by 0x4038149: update_dequeue_job (update_job_queue.c:38)
==4789==    by 0xB04D384: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB04F5B6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB05001E: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0x402078A: main (update.c:148)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:calloc
   fun:g_malloc0
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_uri_build_with_user
   fun:network_process_request
   fun:update_dequeue_job
   fun:update_dequeue_job
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_main_loop_run
   fun:main
}
==4789== 128 bytes in 1 blocks are possibly lost in loss record 2,158 of 2,319
==4789==    at 0x48D0BA3: calloc (vg_replace_malloc.c:1675)
==4789==    by 0xB056759: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB0652C5: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB090A7A: g_uri_build_with_user (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xACC352F: soup_uri_copy (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACAA7E7: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBC58E: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBC96F: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xACBCA26: ??? (in /usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4)
==4789==    by 0xB04D384: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB04F5B6: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB05001E: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:calloc
   fun:g_malloc0
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_uri_build_with_user
   fun:soup_uri_copy
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libsoup-3.0.so.0.7.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_main_loop_run
}
==4789== 560 bytes in 1 blocks are possibly lost in loss record 2,271 of 2,319
==4789==    at 0x48D0BA3: calloc (vg_replace_malloc.c:1675)
==4789==    by 0x40960E2: calloc (rtld-malloc.h:44)
==4789==    by 0x40960E2: allocate_dtv (dl-tls.c:462)
==4789==    by 0x4096AFD: _dl_allocate_tls (dl-tls.c:712)
==4789==    by 0xB2CC781: allocate_stack (allocatestack.c:431)
==4789==    by 0xB2CC781: pthread_create@@GLIBC_2.34 (pthread_create.c:660)
==4789==    by 0xB07F518: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB081351: g_thread_pool_new_full (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xADF5A48: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4)
==4789==    by 0xADF5DF4: g_task_get_type (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4)
==4789==    by 0x1521FFD4: ??? (in /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so)
==4789==    by 0x1522046B: ??? (in /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so)
==4789==    by 0x1521BF62: ??? (in /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so)
==4789==    by 0xAFA9C55: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.8400.4)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:calloc
   fun:calloc
   fun:allocate_dtv
   fun:_dl_allocate_tls
   fun:allocate_stack
   fun:pthread_create@@GLIBC_2.34
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_thread_pool_new_full
   obj:/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4
   fun:g_task_get_type
   obj:/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
   obj:/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
   obj:/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
   obj:/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.8400.4
}
==4789== 560 bytes in 1 blocks are possibly lost in loss record 2,272 of 2,319
==4789==    at 0x48D0BA3: calloc (vg_replace_malloc.c:1675)
==4789==    by 0x40960E2: calloc (rtld-malloc.h:44)
==4789==    by 0x40960E2: allocate_dtv (dl-tls.c:462)
==4789==    by 0x4096AFD: _dl_allocate_tls (dl-tls.c:
==4789==    by 0xB2CC781: allocate_stack (allocatestack.c:431)
==4789==    by 0xB2CC781: pthread_create@@GLIBC_2.34 (pthread_create.c:660)
==4789==    by 0xB07F518: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB07F809: g_thread_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB050CB3: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xADF5AC4: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4)
==4789==    by 0xADF5DF4: g_task_get_type (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4)
==4789==    by 0x1521FFD4: ??? (in /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so)
==4789==    by 0x1522046B: ??? (in /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so)
==4789==    by 0x1521BF62: ??? (in /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:calloc
   fun:calloc
   fun:allocate_dtv
   fun:_dl_allocate_tls
   fun:allocate_stack
   fun:pthread_create@@GLIBC_2.34
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_thread_new
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.8400.4
   fun:g_task_get_type
   obj:/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
   obj:/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
   obj:/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
}
==4789== 560 bytes in 1 blocks are possibly lost in loss record 2,273 of 2,319
==4789==    at 0x48D0BA3: calloc (vg_replace_malloc.c:1675)
==4789==    by 0x40960E2: calloc (rtld-malloc.h:44)
==4789==    by 0x40960E2: allocate_dtv (dl-tls.c:462)
==4789==    by 0x4096AFD: _dl_allocate_tls (dl-tls.c:712)
==4789==    by 0xB2CC781: allocate_stack (allocatestack.c:431)
==4789==    by 0xB2CC781: pthread_create@@GLIBC_2.34 (pthread_create.c:660)
==4789==    by 0xB07F518: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB07F809: g_thread_new (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0x1522008B: ??? (in /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so)
==4789==    by 0x1522046B: ??? (in /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so)
==4789==    by 0x1521BF62: ??? (in /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so)
==4789==    by 0xAFA9C55: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.8400.4)
==4789==    by 0xAFAC6FA: g_object_new_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.8400.4)
==4789==    by 0xAFACA4C: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.8400.4)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:calloc
   fun:calloc
   fun:allocate_dtv
   fun:_dl_allocate_tls
   fun:allocate_stack
   fun:pthread_create@@GLIBC_2.34
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:g_thread_new
   obj:/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
   obj:/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
   obj:/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
   obj:/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.8400.4
   fun:g_object_new_valist
   fun:g_object_new
}
==4789== 1,184 bytes in 2 blocks are possibly lost in loss record 2,290 of 2,319
==4789==    at 0x48D0BA3: calloc (vg_replace_malloc.c:1675)
==4789==    by 0x40960E2: calloc (rtld-malloc.h:44)
==4789==    by 0x40960E2: allocate_dtv (dl-tls.c:462)
==4789==    by 0x4096AFD: _dl_allocate_tls (dl-tls.c:712)
==4789==    by 0xB2CC781: allocate_stack (allocatestack.c:431)
==4789==    by 0xB2CC781: pthread_create@@GLIBC_2.34 (pthread_create.c:660)
==4789==    by 0xB07F518: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB080B53: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB080882: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4)
==4789==    by 0xB2CBB7A: start_thread (pthread_create.c:448)
==4789==    by 0xB3495EF: clone (clone.S:100)
==4789== 
{
   <insert_a_suppression_name_here>
   Memcheck:Leak
   match-leak-kinds: possible
   fun:calloc
   fun:calloc
   fun:allocate_dtv
   fun:_dl_allocate_tls
   fun:allocate_stack
   fun:pthread_create@@GLIBC_2.34
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8400.4
   fun:start_thread
   fun:clone
}

paulgevers avatar Oct 02 '25 14:10 paulgevers

Reproduced

lwindolf avatar Oct 04 '25 20:10 lwindolf

I've checked into g_thread_pool_new() and it seems after checking like 20 code bases, all you have to do is g_thread_pool_free() which the code does. I tried the immediate flag of g_thread_pool_free() but it does not change the test result.

So I tend to whitelist the leak.

lwindolf avatar Oct 05 '25 19:10 lwindolf