Bugzilla – Bug 406138
yast crashes in second stage in kerberos configuration (CWMTab - nil - YCPNull - SCR)
Last modified: 2008-10-14 15:13:31 UTC
If the auth method, chosen in first stage, is nis + kerberos, yast will crash during ntp configuration. I selected advanced settings, enabled krb for ssh then ntp configuration, start ntp at boot, and configure via dhcp. in advanced tab, open port in firewall. I forgot something, so I selected ntp config again. But the button did not react. So I left this window, and selected advanced settings again. Now yast crashes.
Created attachment 225805 [details] bug406138.tar.bz2
Probably duplicate of #399645. Does it helps if you after network proposal do "rcnetwork restart" or if you use fixed package from that bugreport?
the yast2-network package from bug #399645 does not fix the crash in the ntp client configuration.
Martin, crash is in NtpClient module
Created attachment 226486 [details] crash-406138.ycp Nice catch. The attached script reproduces the crash. When an SCR call gets an expression evaluating to nil, it does not use YCPVoid as it normally would if the nil value came from a variable, but uses YCPNull instead. That in turn confuses at least the ini agent and it crashes. TODO: find out why we get nil in the first place.
An intermediate cause is manifested in the log as THROW: No widget with ID "config_dhcp". That results in the nil value which then causes the crash. Why there is no config_dhcp is less clear. It looks like a problem with CWM or CWMTab which is used both in kerberos-client and ntp-client. Running ntp-client alone seems to avoid the bug.
As I suspected, the problem was in nested calls to CWMTab. I added a stack to fix that in yast2-2.17.7. (As a side effect, bug 134386 will resurface but it can be easily fixed.) TODO: also fix comment 5.
Prioritizing: a crash, albeit at rare circumstances -> P2
YCPNull and YCPVoid are used quite liberally to mean nil in much of the core code :-( A reasonable place to fix it here is to let the SCR builtins (which are few) deal with the situation and convert YCPNull to YCPVoid there. The fix is in yast2-core-2.17.18, I have tested that it fixes the script in comment 5.