Yast Network always hangs

I have never succeeded (not a single time) to open Yast Network, and I am using Tumbleweed for ~ 10 month now. I am also using Wicked.
It hangs at Reading device configuration..., and keeps using 100% of one core.
Whatever the way I am launching it (GUI/TUI).

Any help appreciated:
Some general info:
Kernel: 5.13.13 (but happened on all previous kernels, since I started using TW)



denis@localhost:~> /usr/sbin/iwconfig 
lo        no wireless extensions.

eno1      no wireless extensions.

wlo1      IEEE 802.11  ESSID:"4g router N 5 Ghz"  
          Mode:Managed  Frequency:5.18 GHz  Access Point: E4:C3:2A:3E:F0:01   
          Bit Rate=585.1 Mb/s   Tx-Power=22 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=33/70  Signal level=-77 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:18   Missed beacon:0

docker0   no wireless extensions.

vethc98c2d5  no wireless extensions.

denis@localhost:~> /usr/sbin/hwinfo --network
29: None 00.0: 10700 Loopback                                   
  [Created at net.126]
  Unique ID: ZsBS.GQNx7L4uPNA
  SysFS ID: /class/net/lo
  Hardware Class: network interface
  Model: "Loopback network interface"
  Device File: lo
  Link detected: yes
  Config Status: cfg=new, avail=yes, need=no, active=unknown

30: None 00.0: 10701 Ethernet
  [Created at net.126]
  Unique ID: c5yj.ndpeucax6V1
  SysFS ID: /class/net/vethc98c2d5
  Hardware Class: network interface
  Model: "Ethernet network interface"
  Driver: "veth"
  Device File: vethc98c2d5
  HW Address: e2:9a:23:ea:52:15
  Link detected: yes
  Config Status: cfg=new, avail=yes, need=no, active=unknown

31: None 01.0: 10701 Ethernet
  [Created at net.126]
  Unique ID: zHNY.ndpeucax6V1
  Parent ID: wcdH.XfdNEWaB0+2
  SysFS ID: /class/net/eno1
  SysFS Device Link: /devices/pci0000:00/0000:00:1c.6/0000:09:00.0
  Hardware Class: network interface
  Model: "Ethernet network interface"
  Driver: "r8169"
  Driver Modules: "r8169"
  Device File: eno1
  HW Address: c8:d3:ff:e4:f7:c5
  Permanent HW Address: c8:d3:ff:e4:f7:c5
  Link detected: no
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #4 (Ethernet controller)

32: None 00.0: 10701 Ethernet
  [Created at net.126]
  Unique ID: 7iXG.ndpeucax6V1
  SysFS ID: /class/net/docker0
  Hardware Class: network interface
  Model: "Ethernet network interface"
  Driver: "bridge"
  Device File: docker0
  HW Address: 02:42:dd:38:dd:f1
  Link detected: yes
  Config Status: cfg=new, avail=yes, need=no, active=unknown

33: None 01.0: 10701 Ethernet
  [Created at net.126]
  Unique ID: VnCh.ndpeucax6V1
  Parent ID: S6TQ._tayul6qFa9
  SysFS ID: /class/net/wlo1
  SysFS Device Link: /devices/pci0000:00/0000:00:1c.5/0000:08:00.0
  Hardware Class: network interface
  Model: "Ethernet network interface"
  Driver: "iwlwifi"
  Driver Modules: "iwlwifi"
  Device File: wlo1
  HW Address: d0:57:7b:80:71:c2
  Permanent HW Address: d0:57:7b:80:71:c2
  Link detected: yes
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #7 (Ethernet controller)


denis@localhost:~> /usr/sbin/hwinfo --netcard
09: PCI 900.0: 0200 Ethernet controller                         
  [Created at pci.386]
  Unique ID: wcdH.XfdNEWaB0+2
  Parent ID: 96M4.TxF07+0YDsA
  SysFS ID: /devices/pci0000:00/0000:00:1c.6/0000:09:00.0
  SysFS BusID: 0000:09:00.0
  Hardware Class: network
  Device Name: "Realtek PCIe GBE Family Controller"
  Model: "Hewlett-Packard Company OMEN-17-w001nv"
  Vendor: pci 0x10ec "Realtek Semiconductor Co., Ltd."
  Device: pci 0x8168 "RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller"
  SubVendor: pci 0x103c "Hewlett-Packard Company"
  SubDevice: pci 0x825b "OMEN-17-w001nv"
  Revision: 0x15
  Driver: "r8169"
  Driver Modules: "r8169"
  Device File: eno1
  I/O Ports: 0x3000-0x30ff (rw)
  Memory Range: 0xa4104000-0xa4104fff (rw,non-prefetchable)
  Memory Range: 0xa4100000-0xa4103fff (rw,non-prefetchable)
  IRQ: 18 (no events)
  HW Address: c8:d3:ff:e4:f7:c5
  Permanent HW Address: c8:d3:ff:e4:f7:c5
  Link detected: no
  Module Alias: "pci:v000010ECd00008168sv0000103Csd0000825Bbc02sc00i00"
  Driver Info #0:
    Driver Status: r8169 is active
    Driver Activation Cmd: "modprobe r8169"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #21 (PCI bridge)

12: PCI 800.0: 0282 WLAN controller
  [Created at pci.386]
  Unique ID: S6TQ.0LuFraIuP2D
  Parent ID: HnsE.yWJGeQvqhTA
  SysFS ID: /devices/pci0000:00/0000:00:1c.5/0000:08:00.0
  SysFS BusID: 0000:08:00.0
  Hardware Class: network
  Device Name: "Intel Dual BandWireless-AC 7265 802.11 ac 1x1 WiFi + BT 4.0 Combo Adapter"
  Model: "Intel Dual Band Wireless-AC 7265"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x095a "Wireless 7265"
  SubVendor: pci 0x8086 "Intel Corporation"
  SubDevice: pci 0x5010 "Dual Band Wireless-AC 7265"
  Revision: 0x61
  Driver: "iwlwifi"
  Driver Modules: "iwlwifi"
  Device File: wlo1
  Features: WLAN
  Memory Range: 0xa4200000-0xa4201fff (rw,non-prefetchable)
  IRQ: 133 (1418 events)
  HW Address: d0:57:7b:80:71:c2
  Permanent HW Address: d0:57:7b:80:71:c2
  Link detected: yes
  WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 12 13 36 40 44 48 52 56 60 64 100 104 108 112 116 120 124 128 132 136 140
  WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472 5.18 5.2 5.22 5.24 5.26 5.28 5.3 5.32 5.5 5.52 5.54 5.56 5.58 5.6 5.62 5.64 5.66 5.68 5.7
  WLAN encryption modes: WEP40 WEP104 TKIP CCMP
  WLAN authentication modes: open sharedkey wpa-psk wpa-eap
  Module Alias: "pci:v00008086d0000095Asv00008086sd00005010bc02sc80i00"
  Driver Info #0:
    Driver Status: iwlwifi is active
    Driver Activation Cmd: "modprobe iwlwifi"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #14 (PCI bridge)


default via 192.168.1.1 dev wlo1 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
192.168.1.0/24 dev wlo1 proto kernel scope link src 192.168.1.117

So apparently I can’t modify my own message, so I post this one.
I have attached gbd to see where it hangs, here is the callstack (cropped, because it was too long, and I haven’t foud a way to insert a file):


#0  __strcmp_avx2 () at ../sysdeps/x86_64/multiarch/strcmp-avx2.S:96
#1  0x00007f6d247e1dcd in streqv (b=<optimized out>, a=<optimized out>) at ./internal.h:232
#2  tree_sibling_index (tree=tree@entry=0x5564a9e76200) at /usr/src/debug/augeas-1.12.0-4.1.x86_64/src/internal.c:343
#3  0x00007f6d247e1e5e in path_expand (tree=0x5564a9e76200, ppath=ppath@entry=0x5564ab7c7c50 "/store") at /usr/src/debug/augeas-1.12.0-4.1.x86_64/src/internal.c:363
#4  0x00007f6d247e1fb2 in path_of_tree (tree=<optimized out>) at /usr/src/debug/augeas-1.12.0-4.1.x86_64/src/internal.c:406
#5  0x00007f6d247da71c in aug_match (aug=aug@entry=0x5564a8f8b510, pathin=<optimized out>, pathin@entry=0x5564a94e0d38 "/store/*", matches=matches@entry=0x7ffc88625790)
    at /usr/src/debug/augeas-1.12.0-4.1.x86_64/src/augeas.c:1434
#6  0x00007f6d24c2f7cf in augeas_match (s=93890825555440, p=<optimized out>)
    at /home/abuild/rpmbuild/BUILDROOT/rubygem-ruby-augeas-0.5.0-3.23.x86_64/usr/lib64/ruby/gems/2.7.0/gems/ruby-augeas-0.5.0/ext/augeas/_augeas.c:182
#7  0x00007f6d2a2bf492 in vm_call_cfunc_with_frame (empty_kw_splat=<optimized out>, cd=0x5564a94dfcb0, calling=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>)
    at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/vm_insnhelper.c:2514
#8  vm_call_cfunc (ec=<optimized out>, reg_cfp=<optimized out>, calling=<optimized out>, cd=0x5564a94dfcb0) at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/vm_insnhelper.c:2539
#9  0x00007f6d2a2c1586 in vm_sendish (ec=0x5564a720c1c0, reg_cfp=0x7f6d29c315c8, cd=0x5564a94dfcb0, block_handler=<optimized out>, method_explorer=<optimized out>)
    at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/vm_insnhelper.c:4023
#10 0x00007f6d2a2c250b in vm_exec_core (ec=0x5564ab21ae50, initial=93890835603312) at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/insns.def:801

...

#105 0x00007f6d256663bf in wfm_call_builtin (argc=5, argv=0x7f6d29b320d0, self=<optimized out>) at /usr/src/debug/yast2-ruby-bindings-4.4.4-1.1.x86_64/src/binary/Builtin.cc:104
#106 0x00007f6d2a2bf492 in vm_call_cfunc_with_frame (empty_kw_splat=<optimized out>, cd=0x5564a77b4ae0, calling=<optimized out>, reg_cfp=<optimized out>, ec=<optimized out>)
    at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/vm_insnhelper.c:2514
#107 vm_call_cfunc (ec=<optimized out>, reg_cfp=<optimized out>, calling=<optimized out>, cd=0x5564a77b4ae0) at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/vm_insnhelper.c:2539
#108 0x00007f6d2a2c1586 in vm_sendish (ec=0x5564a720c1c0, reg_cfp=0x7f6d29c31f30, cd=0x5564a77b4ae0, block_handler=<optimized out>, method_explorer=<optimized out>)
    at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/vm_insnhelper.c:4023
#109 0x00007f6d2a2c250b in vm_exec_core (ec=0x5564ab21ae50, initial=93890835603312) at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/insns.def:801
#110 0x00007f6d2a2d8da8 in rb_vm_exec (ec=<optimized out>, mjit_enable_p=<optimized out>) at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/vm.c:1929
#111 0x00007f6d2a159fd0 in rb_ec_exec_node (ec=ec@entry=0x5564a720c1c0, n=n@entry=0x5564a737c998) at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/eval.c:278
#112 0x00007f6d2a15ceb8 in ruby_run_node (n=0x5564a737c998) at /usr/src/debug/ruby2.7-2.7.3-2.1.x86_64/eval.c:336
#113 0x00005564a547810b in main (argc=<optimized out>, argv=<optimized out>) at ./main.c:50


looks like *tree_sibling_index (#2) *is running in infinite loop

Yast is written in Ruby and for that gdb is not the tool to use. It is also very unlikely the code is hanging in string compare (__strcmp_avx2)

Fortunately there is openSUSE:YaST debugging

You can also start Yast networking from the command line: sudo yast lan.

Saw there are even more instructions on Debugging YaST.

Post:

cat /etc/hosts

This was not useful, because I can’t stop ruby code during the run. It expects me to know where I want to put breakpoints, and I have no idea.
I can only hit “next, next”, and then it freezes.

Also I know that there is no way something would be stuck in the middle of string comparison… That’s why I thought tree_sibling_index was the culprit, it clearly contains a loop when looking at source

Well done, this is the reason. My hosts contains about 90’000 lines. So I renamed it temporarly, and created a fairly standard hosts file with 20 lines.
Yast Network started working!
Well I guess I should bug report somewhere, but thank you for assistance

I had also such an problem, only written an IP (was done by me) without the name in the resolv.conf and yast—networksettings are not opened and I get an similar error.