Bug 18568

Summary: Manatools fail to launch when isodumper is installed, depending on used language.
Product: Mageia Reporter: Morgan Leijström <fri>
Component: RPM PackagesAssignee: Angelo Naselli <anaselli>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: alien, marja11, tmb, yvesbrungard
Version: Cauldron   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: manatools-1.1.2-5.mga6.src.rpm CVE:
Status comment:
Attachments: journalctl -f output
adjusted isodumper.conf to get rid of the xml:lang error
current isodumper.conf
Screenshot showing wrong encoding of "&" in panel

Description Morgan Leijström 2016-05-28 13:26:06 CEST
This 64 bit system was upgraded online from mga5 a couple weeks ago, and is kept updated.  Localisation Sweden, swedish.  Using Plasma.

Pressing the K launch button and and typing "mageia", the top hit is "mpan".
It asks root password and a window frame is flashed and dissapear.

The K menu use launch command "mana pan". The result of using "mana pan" or "mpan" looks very different but is in essence the same.

Launching from console I see ():

root@svarten morgan]# mana pan
<_M_> [ui] YPath.cc:49 YPath(): Given filename: libyui-qt.so.7
<_M_> [ui] YSettings.cc:73 progDir(): progDir: ""
<_M_> [ui] YPath.cc:65 YPath(): Preferring subdir: 
<_M_> [ui] YPath.cc:66 YPath(): Subdir given with filename: 
<_M_> [ui] YPath.cc:67 YPath(): Looking for: libyui-qt.so.7
<_M_> [ui] YPath.cc:138 lsDir(): Looking in /usr/lib64/yui
<_M_> [ui] YPath.cc:118 YPath(): Found libyui-qt.so.7 in /usr/lib64/yui
<_M_> [ui] YPath.cc:49 YPath(): Given filename: libyui-gtk.so.7
<_M_> [ui] YSettings.cc:73 progDir(): progDir: ""
<_M_> [ui] YPath.cc:65 YPath(): Preferring subdir: 
<_M_> [ui] YPath.cc:66 YPath(): Subdir given with filename: 
<_M_> [ui] YPath.cc:67 YPath(): Looking for: libyui-gtk.so.7
<_M_> [ui] YPath.cc:138 lsDir(): Looking in /usr/lib64/yui
<_M_> [ui] YPath.cc:121 YPath(): Could NOT find libyui-gtk.so.7 by looking recursive inside /usr/lib64/yui
<_M_> [ui] YPath.cc:49 YPath(): Given filename: libyui-qt.so.7
<_M_> [ui] YSettings.cc:73 progDir(): progDir: ""
<_M_> [ui] YPath.cc:65 YPath(): Preferring subdir: 
<_M_> [ui] YPath.cc:66 YPath(): Subdir given with filename: 
<_M_> [ui] YPath.cc:67 YPath(): Looking for: libyui-qt.so.7
<_M_> [ui] YPath.cc:138 lsDir(): Looking in /usr/lib64/yui
<_M_> [ui] YPath.cc:118 YPath(): Found libyui-qt.so.7 in /usr/lib64/yui
<_M_> [ui] YUI.cc:76 YUI(): This is libyui 3.2.3
<_M_> [ui] YUI.cc:77 YUI(): Creating UI without threads
<_M_> [qt-ui] YQUI.cc:100 YQUI(): This is libyui-qt 2.46.21
<_M_> [ui] YUI.cc:230 topmostConstructorHasFinished(): Running without threads
<_M_> [qt-styler] QY2Styler.cc:97 loadStyleSheet(): Couldn't open style sheet "/usr/share/libyui/theme/current/wizard/style.qss"
<_M_> [qt-ui] YQUI.cc:298 processCommandLineArgs(): Qt argument: /usr/bin/perl
<_M_> [qt-ui] YQUI.cc:298 processCommandLineArgs(): Qt argument: /usr/bin/mpan
<_M_> [qt-ui] YQUI.cc:441 calcDefaultSize(): Default size: 1792 x 1097
<ERR> [qt-ui] YQUI.cc:264 initUI(): Forcing /libQtGui.so.5 open failed
<_M_> [qt-ui] YQApplication.cc:133 loadPredefinedQtTranslations(): Selected language: sv_SE                                                                                         
<WRN> [qt-ui] YQApplication.cc:137 loadPredefinedQtTranslations(): Qt locale directory not set - no translations for predefined Qt dialogs                                          
<_M_> [qt-ui] YQUI.cc:275 initUI(): YQUI initialized. Thread ID: 0x0x7f467b095700         
Subroutine detect_devices::formatError redefined at
        /usr/lib/libDrakX/detect_devices.pm line 12 (#1)
    (W redefine) You redefined a subroutine.  To suppress this warning, say
    
        {
            no warnings 'redefine';
            eval "sub name { ... }";
        }
    
Useless use of join or string in void context at
        /usr/lib/perl5/vendor_perl/5.22.2/ManaTools/Module/Firewall.pm line 378 (#2)
    (W void) You did something without a side effect in a context that does
    nothing with the return value, such as a statement that doesn't return a
    value from a block, or the left side of a scalar comma operator.  Very
    often this points not to stupidity on your part, but a failure of Perl
    to parse your program the way you thought it would.  For example, you'd
    get this if you mixed up your C precedence with Python precedence and
    said
    
        $one, $two = 1, 2;
    
    when you meant to say
    
        ($one, $two) = (1, 2);
    
    Another common error is to use ordinary parentheses to construct a list
    reference when you should be using square or curly brackets, for
    example, if you say
    
        $array = (1,2);
    
    when you should have said
    
        $array = [1,2];
    
    The square brackets explicitly turn a list value into a scalar value,
    while parentheses do not.  So when a parenthesized list is evaluated in
    a scalar context, the comma is treated like C's comma operator, which
    throws away the left argument, which is not what you want.  See
    perlref for more on this.
    
    This warning will not be issued for numerical constants equal to 0 or 1
    since they are often used in statements like
    
        1 while sub_with_side_effects();
    
    String constants that would normally evaluate to 0 or 1 are warned
    about.
    
Use of uninitialized value $device in pattern match (m//) at
        /usr/lib/libDrakX/network/network.pm line 743 (#3)
    (W uninitialized) An undefined value was used as if it were already
    defined.  It was interpreted as a "" or a 0, but maybe it was a mistake.
    To suppress this warning assign a defined value to your variables.
    
    To help you figure out what was undefined, perl will try to tell you
    the name of the variable (if any) that was undefined.  In some cases
    it cannot do this, so it also tells you what operation you used the
    undefined value in.  Note, however, that perl optimizes your program
    and the operation displayed in the warning may not necessarily appear
    literally in your program.  For example, "that $foo" is usually
    optimized into "that " . $foo, and the warning will refer to the
    concatenation (.) operator, even though there is no . in
    your program.
    
Use of uninitialized value $e in string eq at
        /usr/lib/perl5/vendor_perl/5.22.1/MDK/Common/DataStructure.pm line 131 (#3)
Warning: <title> element has no 'xml:lang' key attribute at /usr/lib/perl5/vendor_perl/5.22.2/ManaTools/ConfigReader.pm line 125.
Warning: <title> element has no 'xml:lang' key attribute at /usr/lib/perl5/vendor_perl/5.22.2/ManaTools/ConfigReader.pm line 125.
Use of uninitialized value $icon in substr at
        /usr/lib/perl5/vendor_perl/5.22.2/ManaTools/MainDisplay.pm line 827 (#3)
Uncaught exception from user code:
        Did not pass a file name at /usr/lib/perl5/vendor_perl/5.22.2/ManaTools/MainDisplay.pm line 829.
        File::ShareDir::_FILE(undef) called at /usr/lib/perl5/vendor_perl/5.22.1/File/ShareDir.pm line 313
        File::ShareDir::dist_file("manatools", undef) called at /usr/lib/perl5/vendor_perl/5.22.2/ManaTools/MainDisplay.pm line 829
        ManaTools::MainDisplay::_loadCategories(ManaTools::MainDisplay=HASH(0x4397b38)) called at /usr/lib/perl5/vendor_perl/5.22.2/ManaTools/MainDisplay.pm line 505
        ManaTools::MainDisplay::__ANON__(ManaTools::Shared::GUI::Dialog=HASH(0x47d3fb8), yui::YLayoutBox=HASH(0x47d1bd8)) called at /usr/lib/perl5/vendor_perl/5.22.2/ManaTools/Shared/GUI/Dialog.pm line 486
        ManaTools::Shared::GUI::Dialog::call(ManaTools::Shared::GUI::Dialog=HASH(0x47d3fb8)) called at /usr/lib/perl5/vendor_perl/5.22.2/ManaTools/MainDisplay.pm line 532
        ManaTools::MainDisplay::_setupGui(ManaTools::MainDisplay=HASH(0x4397b38)) called at /usr/lib/perl5/vendor_perl/5.22.2/ManaTools/MainDisplay.pm line 329
        ManaTools::MainDisplay::start(ManaTools::MainDisplay=HASH(0x4397b38)) called at /usr/bin/mpan line 84
<_M_> [ui] YUILoader.cc:104 deleteUI(): Shutting down UI
<ERR> [ui] YUI.cc:94 ~YUI(): 1 open dialogs left over
[root@svarten morgan]#
Comment 1 Marja Van Waes 2016-05-29 17:43:09 CEST
Thx for the report.

The issue is known by the maintainer, but a bug report was still missing.

CC: (none) => marja11
Assignee: bugsquad => anaselli

Angelo Naselli 2016-05-30 01:45:26 CEST

Status: NEW => ASSIGNED
CC: (none) => alien

Comment 2 Angelo Naselli 2016-05-30 01:48:53 CEST
Morgan do you have isodumper installed? the one that works with libyui i mean.
Could you check on your journal log, it should be write something something more on failure.

Ali3n, if the problem is the one we got before i left, a quick (not final) fix should be already on git, but i cannot make a release atm :/
Comment 3 Marja Van Waes 2016-05-31 23:37:22 CEST
Created attachment 7880 [details]
journalctl -f output

it does indeed start fine if isodumper is removed.

re-installing isodumper gives a crash again. The last lines from the attached journal output are:

mei 31 23:34:53 cldrn_64 mpan[2910]: Load categories: title content is <<Boot>>
mei 31 23:34:53 cldrn_64 mpan[2910]: Parsing category file /etc/manatools/mpan/categories.conf.d/isodumper.conf
mei 31 23:34:53 cldrn_64 mpan[2910]: Bad configuration file, title has not xml:lang attribute, guessing it is a string
mei 31 23:34:53 cldrn_64 mpan[2910]: Load categories: title content is <<System>>
mei 31 23:34:53 cldrn_64 audit[2910]: ANOM_ABEND auid=1017 uid=0 gid=0 ses=1 pid=2910 comm="mpan" exe="/usr/bin/perl5.22.2" sig=11
mei 31 23:34:53 cldrn_64 kernel: mpan[2910]: segfault at 18 ip 00007fd7468ba6cf sp 00007ffd5e727050 error 4 in libQt5Gui.so.5.6.0[7fd7467e5000+597000]
mei 31 23:34:53 cldrn_64 kernel: audit: type=1701 audit(1464730493.869:262): auid=1017 uid=0 gid=0 ses=1 pid=2910 comm="mpan" exe="/usr/bin/perl5.22.2" sig=11
Marja Van Waes 2016-05-31 23:38:01 CEST

Summary: Manatools fail to launch because of localisation problems (?) => Manatools fail to launch when isodumper is installed, but launches fine when isodumper is removed

Comment 4 Marja Van Waes 2016-06-01 00:09:24 CEST
Created attachment 7881 [details]
adjusted isodumper.conf to get rid of the xml:lang error

I managed to get rid of the xml:lang attribute error, by adjusting isodumper.conf (see attachment)

However, mpan still crashes:

jun 01 00:03:06 cldrn_64 mpan[4979]: Load categories: title content is <<Boot>>
jun 01 00:03:06 cldrn_64 mpan[4979]: Parsing category file /etc/manatools/mpan/categories.conf.d/isodumper.conf
jun 01 00:03:06 cldrn_64 mpan[4979]: Load categories: title content is <<System>>
jun 01 00:03:06 cldrn_64 audit[4979]: ANOM_ABEND auid=1017 uid=0 gid=0 ses=1 pid=4979 comm="mpan" exe="/usr/bin/perl5.22.2" sig=11
jun 01 00:03:06 cldrn_64 kernel: mpan[4979]: segfault at 18 ip 00007fd991f806cf sp 00007ffc0a7c7fa0 error 4 in libQt5Gui.so.5.6.0[7fd991eab000+597000]
jun 01 00:03:06 cldrn_64 kernel: audit: type=1701 audit(1464732186.292:288): auid=1017 uid=0 gid=0 ses=1 pid=4979 comm="mpan" exe="/usr/bin/perl5.22.2" sig=11
Marja Van Waes 2016-06-01 00:11:04 CEST

CC: (none) => yves.brungard_mageia

Comment 5 Angelo Naselli 2016-06-01 02:05:04 CEST
Please check with the last manatools 1.1.2-5 update.
Comment 6 papoteur 2016-06-01 08:00:26 CEST
Hello Angelo,
Should I revert usage or adapt isodumper.conf?
Comment 7 Angelo Naselli 2016-06-01 08:16:06 CEST
@papoteur no needs. This fix that i don't consider as the last (and best) one yet, avoid the problem and IIRC, if no icons is passed no icons is shown in the 
button.

But of course that would have two entries for system (for instance) one translated and one not. A better fixing should just not care about the translated string and use a known name and show its translation, so if the name exists that one is chosen, if not the new one in configuration. 
I will implement this later when I'm back home, hopefully
Comment 8 Morgan Leijström 2016-06-01 10:56:18 CEST
I confirm updated "mana pan" now launch while isodumper is installed.
Comment 9 Angelo Naselli 2016-06-01 11:02:22 CEST
thanks

Status: ASSIGNED => RESOLVED
Resolution: (none) => FIXED

Comment 10 papoteur 2016-06-01 11:49:10 CEST
Thanks Angelo,
I hope also that you can back at home ;)
Comment 11 Marja Van Waes 2016-06-01 19:04:19 CEST
It isn't fixed here, sorry, I tried with ncurses (in VT) and qt (in Plasma5), but forgot how to start mpan with gtk.

[marja@cldrn_64 ~]$ rpm -qa | grep manatools
manatools-qt-1.1.2-5.mga6
manatools-1.1.2-5.mga6
manatools-gtk-1.1.2-5.mga6
[marja@cldrn_64 ~]$ rpm -qa | grep isodumper
isodumper-0.51-3.mga6
isodumper-gtk-0.51-3.mga6
isodumper-qt-0.51-3.mga6
[marja@cldrn_64 ~]$

Status: RESOLVED => REOPENED
Resolution: FIXED => (none)

Comment 12 Marja Van Waes 2016-06-01 23:19:19 CEST
With isodumper installed on my Dutch cauldron, I need to run

    LANGUAGE=nl_NL mpan

to keep manatools from crashing on startup.


On an English system, it does _not_ crash when just running "mpan".
However, is *does* crash when running

   LANGUAGE=fr mpan
   LANGUAGE=nl mpan
   LANGUAGE=pt mpan
   LANGUAGE=es mpan

But the following do *not* crash

   LANGUAGE=de mpan
   LANGUAGE=pr_PT mpan
   LANGUAGE=pr_BR mpan
   LANGUAGE=nl_NL mpan
   LANGUAGE=nl_BE mpan
   LANGUAGE=fr_FR mpan
   LANGUAGE=es_ES mpan

CC'ing tmb, because he seemed willing to add manatools to the isos if it doesn't crash, and this might be good enough (or fixed before the final sta1 isos are built :-) )

CC: (none) => tmb
Summary: Manatools fail to launch when isodumper is installed, but launches fine when isodumper is removed => Manatools fail to launch when isodumper is installed, depending on used language.
Source RPM: manatools-1.1.2-4.mga6.src.rpm => manatools-1.1.2-5.mga6.src.rpm

Comment 13 Marja Van Waes 2016-06-01 23:21:25 CEST
oops .... s/pr_/pt_/
Comment 14 Marja Van Waes 2016-06-01 23:32:56 CEST
(In reply to Marja van Waes from comment #4)
> Created attachment 7881 [details]
> adjusted isodumper.conf to get rid of the xml:lang error
> 

When using that adjusted isodumper.conf again, I can start mpan fine on my Dutch cauldron, without needing to prepend the command with any LANGUAGE= stuff
Comment 15 Angelo Naselli 2016-06-02 04:45:09 CEST
Sorry Marja, do you mean that this is not fixed in ncurses?
I know new isodumper configuration makes it working :) But i'd prefer to avoid
this problem adding new modules.... if any
Comment 16 Marja Van Waes 2016-06-02 07:48:55 CEST
(In reply to Angelo Naselli from comment #15)
> Sorry Marja, do you mean that this is not fixed in ncurses?
> I know new isodumper configuration makes it working :) But i'd prefer to
> avoid
> this problem adding new modules.... if any

No, _both_ qt and ncurses have the problem for several languages, on two different cauldron machines. Starting mpan it exits immediately.

On one of them I replaced the content of 
  /etc/manatools/mpan/categories.conf.d/isodumper.conf 
with the content of attachment 7881 [details]

There the problem no longer exists and mpan now starts fine in both ncurses and qt in the languages I tried (fr, nl, es, pt) that failed before.

(As before, I did not try gtk)
Comment 17 Angelo Naselli 2016-06-02 07:56:58 CEST
Thanks Marja could you attach the old configuration?
The problem could appear again if isodumper.conf is not translated for some languages while mpan is. I will try to find some time to get a better fixing
then... asap
Comment 18 Marja Van Waes 2016-06-02 09:00:44 CEST
(In reply to Angelo Naselli from comment #17)
> Thanks Marja could you attach the old configuration?

It looked very much like the original one from end of May, but I wrongly saved it with
 cp -a /etc/manatools/mpan/categories.conf.d/isodumper.conf /etc/manatools/mpan/categories.conf.d/isodumper.conf /etc/manatools/mpan/categories.conf.d/isodumper.confJune1

:-(

I'll check it on the other cauldron and attach from there.

However, now I see a file
 -rw-r--r-- 1 root root 1137 mei 31 23:59 isodumper.conf.rpmsave

that I hadn't noticed before, which looks very much like attachment 7881 [details]. 
Did that come from your update? There is no rpmnew file.

I do not remember having seen a message about any rpmnew or rpmsave file when re-installing/updating isodumper/manatools and am sure I didn't give any instructions about what to do with it.
Comment 19 Marja Van Waes 2016-06-02 09:22:27 CEST
Created attachment 7887 [details]
current isodumper.conf

It *is* the same one as before

[root@localhost marja]# ls -al /etc/manatools/mpan/categories.conf.d/
total 20
drwxr-xr-x 2 root root 4096 Jun  1 22:45 ./
drwxr-xr-x 3 root root 4096 Jun  1 22:45 ../
-rw-r--r-- 1 root root  280 May 28 13:23 isodumper.conf
-rw-r--r-- 1 root root 1139 Jun  1 02:04 manaservice.conf
-rw-r--r-- 1 root root 1136 Jun  1 02:04 manauser.conf
[root@localhost marja]#

On this system I had never adjusted isodumper.conf
Comment 20 Thomas Backlund 2016-06-02 09:25:26 CEST
(In reply to Angelo Naselli from comment #17)
> Thanks Marja could you attach the old configuration?
> The problem could appear again if isodumper.conf is not translated for some
> languages while mpan is. I will try to find some time to get a better fixing
> then... asap

Do like every other package does, if no translation exists, fall back to english
Comment 21 Angelo Naselli 2016-06-02 10:26:49 CEST
I do :)
But the problem is that categories.conf could be translated, and isodumper.conf (for instance) no, so the translated category does not exist. The patch i use should use the not translated instead of crashing with the bad side effect to have both in mpan, but i should have missed something... i did that change time ago... 
In future i'd like to change it and manage category and category (translated) name. That should avoid any problems, if the category exists just use the transalted name if any, if it does not just manage the new one.
Comment 22 Angelo Naselli 2016-06-02 15:52:58 CEST
I should have fixed this problem also, please test new package.
Comment 23 Marja Van Waes 2016-06-02 19:06:08 CEST
(In reply to Angelo Naselli from comment #22)
> I should have fixed this problem also, please test new package.

Thanks, Angelo :-)

mpan starts fine now in es, fr, nl and pt, too

Closing as FIXED

Status: REOPENED => RESOLVED
Resolution: (none) => FIXED

Comment 24 Morgan Leijström 2016-06-02 19:58:20 CEST
Fine here to, swedish.
BTW There are quite some output in terminal if started from it, redefined subroutine and explanations on that warning.
Comment 25 Angelo Naselli 2016-06-03 01:22:26 CEST
yes Morgan, we haven't removed old drakx deps yet...
Comment 26 Morgan Leijström 2016-06-03 05:53:54 CEST
Created attachment 7895 [details]
Screenshot showing wrong encoding of "&" in panel

OK

I see now a minor character encoding issue.
I take it here directly instead of opening new post:

In the panel there is a section Network & internet.
The ampersand "&" is shown as "amp;" with the "a" underlined.
See attached screenshot
Comment 27 Angelo Naselli 2016-06-03 06:07:27 CEST
If you start mpan in English, do you see it good?
Comment 28 Morgan Leijström 2016-06-03 06:42:01 CEST
Yes. It is didslayed OK if i use
LANGUAGE=en mana pan
LANGUAGE=de mana pan
but not
LANGUAGE=sv mana pan
Comment 29 papoteur 2016-06-03 07:51:55 CEST
OK, This is a problem in translation file.
I did the correction on Transifex, will ask to submit it.
Papoteur
Comment 30 Angelo Naselli 2016-06-03 10:04:45 CEST
there is a typo for sv transalation:
<title xml:lang="sv">Nätverk &amp;amp; Internet</title>

it should be
<title xml:lang="sv">Nätverk &amp;&amp; Internet</title>
Comment 31 Thomas Backlund 2016-06-03 10:20:33 CEST
Why 2 ampersands ? that is not correct language ...
Comment 32 papoteur 2016-06-03 10:24:51 CEST
Hi Thomas,
The first one is to say that the second will be underlined and can be used as shortcut.
Comment 33 Morgan Leijström 2016-06-03 10:26:13 CEST
While you are at it, could you please also fix the swedish translation spelling of a word, Bug 18283

The same message is shown by both manatools and rpmdrake.


There is also this Bug 18282 - Semantics: Swedish update dialog talk about both itself and the user in first person
 - but i dont know if it is translation error or wrong in original language.
Comment 34 Morgan Leijström 2016-06-03 10:57:09 CEST
BTW, as you know about character encoding you may have some input on Bug 18614
 - Inconsistent character encoding in file dialog and file browser quick links -> they fail.

I do not know what to set it against, and maybe i happened to choose a test account for maintainer i see now...