Bug 896479

Summary: yast2, the window users/groups crash
Product: [openSUSE] openSUSE Tumbleweed Reporter: Forgotten User d8u6e9Lt6y <forgotten_d8u6e9Lt6y>
Component: YaST2Assignee: The 'Opening Windows to a Wider World' guys <samba-maintainers>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: jsuchome, paka, ralf, wbauer
Version: 201409*   
Target Milestone: ---   
Hardware: i686   
OS: openSUSE 13.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: lof of yast2 module users/group crach
file y2log (in pc = x86_64)

Description Forgotten User d8u6e9Lt6y 2014-09-12 13:51:01 UTC
User-Agent:       Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Firefox/31.0

when I go to open the "users / groups" in yast2, it closes, if opened by the user. if opened by "root" works well.

this happens with both kde4 and with xfce

Reproducible: Always

Steps to Reproduce:
1.make a new user (from installation!)
2.open yast2--> users/grups 
3.the window close
Comment 1 Jiří Suchomel 2014-09-15 16:25:31 UTC
Please attach the log files: https://en.opensuse.org/openSUSE:Bugreport_YaST
Comment 2 Forgotten User d8u6e9Lt6y 2014-09-15 16:55:31 UTC
Created attachment 606399 [details]
lof of yast2 module users/group crach

This is the requested file.
view the latest lines.

bye
Comment 3 Jiří Suchomel 2014-09-16 13:33:01 UTC
2014-09-15 18:49:30 <3> pc-lab-el7(7156) [Interpreter] modules/UsersPlugins.pm:69 Perl wanted to die: Invalid version format (non-numeric data) at /usr/lib/perl5/vendor_perl/5.20.0/Crypt/SmbHash.pm line 14.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.20.0/Crypt/SmbHash.pm line 14.
Compilation failed in require at /usr/share/YaST2/modules/UsersPluginSambaGroups.pm line 22.


It seems like a bug in perl-Crypt-SmbHash
Comment 4 Jiří Suchomel 2014-09-16 13:39:05 UTC
It is possible that this perl module is not used by anyone else than yast2-users (via the plugins from yast2-samba-server).

We're not even sure if the samba plugin still works as it was originally intended. Maybe samba team could take a look into the issue?
Comment 5 Forgotten User d8u6e9Lt6y 2014-09-23 13:16:24 UTC
Created attachment 607378 [details]
file y2log (in pc = x86_64)

the same problem occurs on your computer amd x86_64

attached the log file


Interestingly, if I open the "users" as root (the first attempt to install the new) has been successfully opened, the window from user dies

now use open its 13.2 beta1

Bye by M.A.
Comment 6 Wolfgang Bauer 2014-10-02 02:16:15 UTC
I experienced a similar crash upto 13.2 Beta1, but for me it was the Kerberos plugin:
2014-10-01 20:51:51 <3> linux-m34u(16873) [Interpreter] modules/UserPlugins.pm:69 Perl wanted to die: Invalid version format (non-numeric data) at /usr/lib/perl/5.20.0/Symbol.pm line 81.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.20.0/Symbol.pm line 81.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.20.0/IPC/Open3.pm line 10.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.20.0/IPC/Open3.pm line 10.
Compilation failed in require at /usr/share/YaST2/modules/UserPluginKerberos.pm line 36.
BEGIN failed--compilation aborted at /usr/share/YaST2/modules/UserPluginKerberos.pm line 36.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.20.0/i586-linux-thread-multi/YaST/YCP.pm line 425.
BEGIN failed--compilation aborted.
2014-10-01 20:51:51 <1> linux-m34u(16873) [Ruby] clients/users.rb:357 Users module finished with false

But after upgrading the system to latest Factory it works fine now.

As I don't see anything wrong neither in SmbHash.pm line 14 nor Symbol.pm line 81 (not even in the 13.2 Beta1 packages), this might have been a perl bug. And indeed downgrading perl to the packges in 13.2 Beta1 makes it crash again.
It seems that it fails to parse the version number if the current locale doesn't use '.' as decimal point.
So running YaST with english locale helps as well (I just tried) and might be the difference between your user account and root.
E.g. with "kdesu LANG=C /sbin/yast2".
Comment 7 Forgotten User d8u6e9Lt6y 2014-10-02 10:03:00 UTC
it is true, if I launch the command "kdesu LANG=C /sbin /yast2" everything works fine


my user uses the language "Italian"
Comment 8 Forgotten User d8u6e9Lt6y 2014-10-09 15:35:59 UTC
with opensuse 13.2 Beta 2 the problem is resolved!

now yast2 users work! :)

bye
Comment 9 Martin Vidner 2014-10-14 13:18:34 UTC
*** Bug 889189 has been marked as a duplicate of this bug. ***
Comment 10 Martin Vidner 2014-10-14 13:18:53 UTC
> It seems that it fails to parse the version number if the current locale doesn't use '.' as decimal point.

Indeed, it is mentioned in man perldelta for perl 5.20.1:

 ·   version has been upgraded from version 0.9908 to 0.9909.

 External libraries and Perl may have different ideas of what the locale is.  This is problematic when parsing version strings if the locale's numeric separator has been changed.  Version parsing has been patched to ensure it handles the locales correctly.  [perl #121930] <https://rt.perl.org/Ticket/Display.html?id=121930>