Bug 1325462 - [abrt] systemd: strv_clear(): networkctl killed by SIGABRT
Summary: [abrt] systemd: strv_clear(): networkctl killed by SIGABRT
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: 24
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: systemd-maint
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:c55a260607e335588d52f472f52...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-08 21:54 UTC by Alan Ernhart
Modified: 2016-07-23 18:49 UTC (History)
7 users (show)

Fixed In Version: systemd-229-9.fc24
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-23 18:49:11 UTC
Type: ---


Attachments (Terms of Use)
File: backtrace (7.00 KB, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: cgroup (259 bytes, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: core_backtrace (2.17 KB, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: dso_list (763 bytes, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: environ (2.96 KB, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: limits (1.29 KB, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: maps (3.14 KB, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: mountinfo (3.66 KB, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: namespaces (85 bytes, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: open_fds (294 bytes, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: proc_pid_status (1.09 KB, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details
File: var_log_messages (325 bytes, text/plain)
2016-04-08 21:54 UTC, Alan Ernhart
no flags Details

Description Alan Ernhart 2016-04-08 21:54:34 UTC
Description of problem:
This occurs as result of 'networkctl status', run either as root or normal user. I've not tried other of the networkctl commands, though would be glad to characterize this further if desired.
FWIW, while I'm using F24 Alpha, with all updates, I am still selecting 4.5.0-0.rc7.git0.2.fc24.x86_64 in grub because ther newer kernel's got some driver change (apparently) that's forcing Gnome to use X rather than Wayland. I don't *know* that kernel is relevant to this bug, but just in case.


Version-Release number of selected component:
systemd-229-7.fc24

Additional info:
reporter:       libreport-2.6.4
backtrace_rating: 4
cmdline:        networkctl status
crash_function: strv_clear
executable:     /usr/bin/networkctl
global_pid:     6276
kernel:         4.5.0-0.rc7.git0.2.fc24.x86_64
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (6 frames)
 #6 strv_clear at src/basic/strv.c:83
 #7 strv_free at src/basic/strv.c:89
 #8 strv_freep at src/basic/strv.h:37
 #9 link_status.lto_priv.140 at src/network/networkctl.c:679
 #10 dispatch_verb at src/basic/verbs.c:92
 #11 networkctl_main at src/network/networkctl.c:1093

Comment 1 Alan Ernhart 2016-04-08 21:54:40 UTC
Created attachment 1145282 [details]
File: backtrace

Comment 2 Alan Ernhart 2016-04-08 21:54:41 UTC
Created attachment 1145283 [details]
File: cgroup

Comment 3 Alan Ernhart 2016-04-08 21:54:42 UTC
Created attachment 1145284 [details]
File: core_backtrace

Comment 4 Alan Ernhart 2016-04-08 21:54:43 UTC
Created attachment 1145285 [details]
File: dso_list

Comment 5 Alan Ernhart 2016-04-08 21:54:44 UTC
Created attachment 1145286 [details]
File: environ

Comment 6 Alan Ernhart 2016-04-08 21:54:45 UTC
Created attachment 1145287 [details]
File: limits

Comment 7 Alan Ernhart 2016-04-08 21:54:46 UTC
Created attachment 1145288 [details]
File: maps

Comment 8 Alan Ernhart 2016-04-08 21:54:47 UTC
Created attachment 1145289 [details]
File: mountinfo

Comment 9 Alan Ernhart 2016-04-08 21:54:48 UTC
Created attachment 1145290 [details]
File: namespaces

Comment 10 Alan Ernhart 2016-04-08 21:54:49 UTC
Created attachment 1145291 [details]
File: open_fds

Comment 11 Alan Ernhart 2016-04-08 21:54:50 UTC
Created attachment 1145292 [details]
File: proc_pid_status

Comment 12 Alan Ernhart 2016-04-08 21:54:51 UTC
Created attachment 1145293 [details]
File: var_log_messages

Comment 13 Zbigniew Jędrzejewski-Szmek 2016-04-09 12:24:49 UTC
Is this repeatable? Any chance you could run it under valgrind and paste the output here ("valgrind networkctl <args>").

Comment 14 Alan Ernhart 2016-04-10 22:01:06 UTC
Gladly, Thanks, and sorry about the lag here.

It's very repeatable (after reboot also, fwiw), and two quick extra datapoints: The following succeed:
$ networkctl list
$ networkctl lldp

Here's valgrind:

$ valgrind networkctl status
==4521== Memcheck, a memory error detector
==4521== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==4521== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==4521== Command: networkctl status
==4521== 
●        State: n/a
       Address: 10.43.104.74 on wlp3s0
                192.168.124.1 on virbr0
                fe80::e7ca:1de2:db3c:6ff0 on wlp3s0
       Gateway: 10.128.128.128 on wlp3s0
==4521== Conditional jump or move depends on uninitialised value(s)
==4521==    at 0x11FE19: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
==4521== Use of uninitialised value of size 8
==4521==    at 0x11FE1B: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
==4521== Conditional jump or move depends on uninitialised value(s)
==4521==    at 0x11DBD3: ??? (in /usr/bin/networkctl)
==4521==    by 0x11FE2C: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
==4521== Use of uninitialised value of size 8
==4521==    at 0x11DBE3: ??? (in /usr/bin/networkctl)
==4521==    by 0x11FE2C: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
 Route Domains: help
==4521== Conditional jump or move depends on uninitialised value(s)
==4521==    at 0x11DC39: ??? (in /usr/bin/networkctl)
==4521==    by 0x11FE2C: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
==4521== Use of uninitialised value of size 8
==4521==    at 0x11DC00: ??? (in /usr/bin/networkctl)
==4521==    by 0x11FE2C: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
==4521== Conditional jump or move depends on uninitialised value(s)
==4521==    at 0x11FE5F: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
==4521== Conditional jump or move depends on uninitialised value(s)
==4521==    at 0x11596C: ??? (in /usr/bin/networkctl)
==4521==    by 0x11FE65: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
==4521== Use of uninitialised value of size 8
==4521==    at 0x11596E: ??? (in /usr/bin/networkctl)
==4521==    by 0x11FE65: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
==4521== Invalid free() / delete / delete[] / realloc()
==4521==    at 0x4C2CD5A: free (vg_replace_malloc.c:530)
==4521==    by 0x115988: ??? (in /usr/bin/networkctl)
==4521==    by 0x11FE65: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521==  Address 0x122502 is in a r-x mapped file /usr/bin/networkctl segment
==4521== 
==4521== Use of uninitialised value of size 8
==4521==    at 0x115989: ??? (in /usr/bin/networkctl)
==4521==    by 0x11FE65: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
==4521== Conditional jump or move depends on uninitialised value(s)
==4521==    at 0x4C2CD0D: free (vg_replace_malloc.c:530)
==4521==    by 0x115998: ??? (in /usr/bin/networkctl)
==4521==    by 0x11FE65: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521== 
==4521== Invalid free() / delete / delete[] / realloc()
==4521==    at 0x4C2CD5A: free (vg_replace_malloc.c:530)
==4521==    by 0x115998: ??? (in /usr/bin/networkctl)
==4521==    by 0x11FE65: ??? (in /usr/bin/networkctl)
==4521==    by 0x10CCB4: ??? (in /usr/bin/networkctl)
==4521==    by 0x5493720: (below main) (in /usr/lib64/libc-2.23.so)
==4521==  Address 0x1ac7c0 is in a r-- mapped file /usr/bin/networkctl segment
==4521== 
==4521== 
==4521== HEAP SUMMARY:
==4521==     in use at exit: 0 bytes in 0 blocks
==4521==   total heap usage: 153 allocs, 155 frees, 60,252 bytes allocated
==4521== 
==4521== All heap blocks were freed -- no leaks are possible
==4521== 
==4521== For counts of detected and suppressed errors, rerun with: -v
==4521== Use --track-origins=yes to see where uninitialised values come from
==4521== ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0)
alan@localhost: ~ $

Comment 15 Zbigniew Jędrzejewski-Szmek 2016-04-10 23:40:57 UTC
Can you retry with debuginfo packages installed ("sudo dnf debuginfo-install systemd")? The output will be much more useful then.

Comment 16 Alan Ernhart 2016-04-11 01:01:02 UTC
<smiley> Here it is:

==2392== Memcheck, a memory error detector
==2392== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==2392== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==2392== Command: networkctl status
==2392== 
==2392== Conditional jump or move depends on uninitialised value(s)
==2392==    at 0x11FE19: UnknownInlinedFun (strv.h:76)
==2392==    by 0x11FE19: UnknownInlinedFun (networkctl.c:491)
==2392==    by 0x11FE19: link_status.lto_priv.140 (networkctl.c:699)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Use of uninitialised value of size 8
==2392==    at 0x11FE1B: UnknownInlinedFun (strv.h:76)
==2392==    by 0x11FE1B: UnknownInlinedFun (networkctl.c:491)
==2392==    by 0x11FE1B: link_status.lto_priv.140 (networkctl.c:699)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Conditional jump or move depends on uninitialised value(s)
==2392==    at 0x11DBD3: dump_list.part.5.lto_priv.152 (networkctl.c:494)
==2392==    by 0x11FE2C: UnknownInlinedFun (strv.h:76)
==2392==    by 0x11FE2C: link_status.lto_priv.140 (networkctl.c:699)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Use of uninitialised value of size 8
==2392==    at 0x11DBE3: dump_list.part.5.lto_priv.152 (networkctl.c:494)
==2392==    by 0x11FE2C: UnknownInlinedFun (strv.h:76)
==2392==    by 0x11FE2C: link_status.lto_priv.140 (networkctl.c:699)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Conditional jump or move depends on uninitialised value(s)
==2392==    at 0x11DC39: dump_list.part.5.lto_priv.152 (networkctl.c:494)
==2392==    by 0x11FE2C: UnknownInlinedFun (strv.h:76)
==2392==    by 0x11FE2C: link_status.lto_priv.140 (networkctl.c:699)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Use of uninitialised value of size 8
==2392==    at 0x11DC00: dump_list.part.5.lto_priv.152 (networkctl.c:494)
==2392==    by 0x11FE2C: UnknownInlinedFun (strv.h:76)
==2392==    by 0x11FE2C: link_status.lto_priv.140 (networkctl.c:699)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Conditional jump or move depends on uninitialised value(s)
==2392==    at 0x11FE5F: UnknownInlinedFun (strv.h:37)
==2392==    by 0x11FE5F: link_status.lto_priv.140 (networkctl.c:679)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Conditional jump or move depends on uninitialised value(s)
==2392==    at 0x11596C: UnknownInlinedFun (strv.c:79)
==2392==    by 0x11596C: strv_free (strv.c:89)
==2392==    by 0x11FE65: UnknownInlinedFun (strv.h:37)
==2392==    by 0x11FE65: link_status.lto_priv.140 (networkctl.c:679)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Use of uninitialised value of size 8
==2392==    at 0x11596E: UnknownInlinedFun (strv.c:82)
==2392==    by 0x11596E: strv_free (strv.c:89)
==2392==    by 0x11FE65: UnknownInlinedFun (strv.h:37)
==2392==    by 0x11FE65: link_status.lto_priv.140 (networkctl.c:679)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Invalid free() / delete / delete[] / realloc()
==2392==    at 0x4C2CD5A: free (vg_replace_malloc.c:530)
==2392==    by 0x115988: UnknownInlinedFun (strv.c:83)
==2392==    by 0x115988: strv_free (strv.c:89)
==2392==    by 0x11FE65: UnknownInlinedFun (strv.h:37)
==2392==    by 0x11FE65: link_status.lto_priv.140 (networkctl.c:679)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392==  Address 0x122502 is in a r-x mapped file /usr/bin/networkctl segment
==2392== 
==2392== Use of uninitialised value of size 8
==2392==    at 0x115989: UnknownInlinedFun (strv.c:82)
==2392==    by 0x115989: strv_free (strv.c:89)
==2392==    by 0x11FE65: UnknownInlinedFun (strv.h:37)
==2392==    by 0x11FE65: link_status.lto_priv.140 (networkctl.c:679)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Conditional jump or move depends on uninitialised value(s)
==2392==    at 0x4C2CD0D: free (vg_replace_malloc.c:530)
==2392==    by 0x115998: strv_free (strv.c:90)
==2392==    by 0x11FE65: UnknownInlinedFun (strv.h:37)
==2392==    by 0x11FE65: link_status.lto_priv.140 (networkctl.c:679)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392== 
==2392== Invalid free() / delete / delete[] / realloc()
==2392==    at 0x4C2CD5A: free (vg_replace_malloc.c:530)
==2392==    by 0x115998: strv_free (strv.c:90)
==2392==    by 0x11FE65: UnknownInlinedFun (strv.h:37)
==2392==    by 0x11FE65: link_status.lto_priv.140 (networkctl.c:679)
==2392==    by 0x10CCB4: dispatch_verb (verbs.c:92)
==2392==    by 0x10CCB4: networkctl_main (networkctl.c:1093)
==2392==    by 0x10CCB4: main (networkctl.c:1106)
==2392==  Address 0x1ac7c0 is in a r-- mapped file /usr/bin/networkctl segment
==2392== 
●        State: n/a
       Address: 192.168.1.117 on wlp3s0
                192.168.124.1 on virbr0
                fe80::9bbc:92c1:f192:8027 on wlp3s0
       Gateway: 192.168.1.1 (D-Link International) on wlp3s0
 Route Domains: help
==2392== 
==2392== HEAP SUMMARY:
==2392==     in use at exit: 4,096 bytes in 1 blocks
==2392==   total heap usage: 155 allocs, 156 frees, 66,605 bytes allocated
==2392== 
==2392== LEAK SUMMARY:
==2392==    definitely lost: 0 bytes in 0 blocks
==2392==    indirectly lost: 0 bytes in 0 blocks
==2392==      possibly lost: 0 bytes in 0 blocks
==2392==    still reachable: 4,096 bytes in 1 blocks
==2392==         suppressed: 0 bytes in 0 blocks
==2392== Rerun with --leak-check=full to see details of leaked memory
==2392== 
==2392== For counts of detected and suppressed errors, rerun with: -v
==2392== Use --track-origins=yes to see where uninitialised values come from
==2392== ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0)

Comment 17 Zbigniew Jędrzejewski-Szmek 2016-04-11 01:20:02 UTC
Thanks, with this info it's trivial to diagnose.

Damn, this bug was already fixed upstream (I noticed it during a review which touched the same code. I had a strange feeling of déjà vu now). Will be fixed in the next version update.

https://github.com/systemd/systemd/commit/0070333f26543a319a17aee8b22bdde4071630c4

Comment 18 Zbigniew Jędrzejewski-Szmek 2016-04-11 01:20:46 UTC
(The bug is that route_domains is not initialized to NULL like other variables in the same line.)

Comment 19 Alan Ernhart 2016-04-11 11:27:59 UTC
Thanks, Zbigniew. Good outcome.

Comment 20 Fedora Update System 2016-07-21 06:47:50 UTC
systemd-229-9.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-47bda25e7a

Comment 21 Fedora Update System 2016-07-21 18:53:20 UTC
systemd-229-9.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-47bda25e7a

Comment 22 Fedora Update System 2016-07-23 18:48:28 UTC
systemd-229-9.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.