Bug 19827 - drakconf crashed (undefined value for mandatory argument 'x' encountered at /usr/libexec/drakconf line 1262)
Summary: drakconf crashed (undefined value for mandatory argument 'x' encountered at /...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Mageia tools maintainers
QA Contact:
URL:
Whiteboard:
Keywords: NEEDINFO, PATCH
: 19915 19954 20367 20467 20523 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-11-21 20:35 CET by Gabriel van Grol
Modified: 2017-04-03 13:27 CEST (History)
9 users (show)

See Also:
Source RPM: drakconf-13.10-1.mga6
CVE:
Status comment:


Attachments
prevent delayed action to happen before first draw signal (553 bytes, patch)
2017-03-26 10:54 CEST, Thierry Vignaud
Details | Diff
use Gtk+ animations instead of manually doing it (4.99 KB, patch)
2017-04-03 10:44 CEST, Thierry Vignaud
Details | Diff
use Gtk+ animations instead of manually doing it (4.51 KB, patch)
2017-04-03 11:00 CEST, Thierry Vignaud
Details | Diff

Description Gabriel van Grol 2016-11-21 20:35:32 CET
The "drakconf" program crashed. Drakbug-17.60 caught it.

ik starte ´t software-installatie program.

undefined value for mandatory argument 'x' encountered at /usr/libexec/drakconf line 1262.
Perl's trace:
drakbug::bug_handler() called from /usr/lib/perl5/vendor_perl/5.22.2/Gtk3.pm:524
Gtk3::__ANON__() called from /usr/libexec/drakconf:1099

Theme name: Adwaita
Kernel version = 4.8.9-desktop-1.mga6
Distribution=Mageia release 6 (Cauldron) for x86_64
CPU=Pentium(R) Dual-Core CPU       T4400  @ 2.20GHz
Comment 1 Marja Van Waes 2016-11-21 22:16:36 CET
(In reply to Gabriel van Grol from comment #0)

> 
> ik starte ´t software-installatie program.
> 

You started the software-installation program.... do you mind giving more details (in English, please ;-) )? 

Did you start MCC without problems and then get the crash when clicking on "Install & Remove Software" in this screen
http://doc.mageia.org/mcc/5/en/content/images/software-management.png ?

CC: (none) => marja11
Assignee: bugsquad => mageiatools
Summary: drakconf crashed => drakconf crashed (undefined value for mandatory argument 'x' encountered at /usr/libexec/drakconf line 1262)

Comment 2 Marja Van Waes 2016-12-08 23:58:45 CET
*** Bug 19915 has been marked as a duplicate of this bug. ***

CC: (none) => rdurgeat17

Comment 3 Marja Van Waes 2016-12-09 00:02:14 CET
The reporter of bug 19915 hit this bug when trying to configure sources after an install in virtualbox under windows 10

Also from that bug report:
Theme name: Adwaita
Kernel version = 4.8.12-desktop-2.mga6
Distribution=Mageia release 6 (Cauldron) for x86_64
CPU=Pentium(R) Dual-Core  CPU      E6600  @ 3.06GHz

and same drakconf version as here (drakconf-13.10-1.mga6)
Comment 4 Thierry Vignaud 2016-12-09 03:59:39 CET
There must be a bad timing or racing between the different gtk+ signals.

Adding "$w->{pix_xx} && " at beginning for line 1262 should take care of it

Status: NEW => ASSIGNED
CC: (none) => thierry.vignaud
Blocks: (none) => 11778
Assignee: mageiatools => thierry.vignaud

Comment 5 Thierry Vignaud 2016-12-10 10:04:44 CET
Or we should manually construct a GdkPixbufAnimation and make GtkImage handles it
Comment 6 Marja Van Waes 2016-12-15 23:28:07 CET
*** Bug 19954 has been marked as a duplicate of this bug. ***

CC: (none) => robert_durgeat

Comment 7 Marja Van Waes 2017-02-28 11:00:55 CET
*** Bug 20367 has been marked as a duplicate of this bug. ***

CC: (none) => daniel.bezivin

Comment 8 Rémi Verschelde 2017-03-13 16:39:50 CET
*** Bug 20467 has been marked as a duplicate of this bug. ***

CC: (none) => lsdm

Comment 9 Rémi Verschelde 2017-03-19 12:16:07 CET
*** Bug 20523 has been marked as a duplicate of this bug. ***
Rémi Verschelde 2017-03-19 12:16:49 CET

CC: (none) => mageiatools

Comment 10 Yves Specht 2017-03-19 16:31:46 CET
Bug 20523 This bug is in a different context.

Now, it is when I want add a new user with CCM. Before, it was when I want to add new applications with CCM too.
Comment 11 Nicolas Lécureuil 2017-03-26 00:22:38 CET
can you describe the steps to reproduce de crash ?

CC: (none) => LpSolit, mageia

Nicolas Lécureuil 2017-03-26 10:05:27 CEST

Assignee: thierry.vignaud => mageiatools

Comment 12 Yves Specht 2017-03-26 10:27:35 CEST
(In reply to Nicolas Lécureuil from comment #11)
> can you describe the steps to reproduce de crash ?

In my case, just open CCM and click "Install and uninstall software".
Comment 13 Yves Specht 2017-03-26 10:29:34 CEST
(In reply to Nicolas Lécureuil from comment #11)
> can you describe the steps to reproduce de crash ?

This also happens if I want to add a new user.
Comment 14 Thierry Vignaud 2017-03-26 10:54:57 CEST
Created attachment 9156 [details]
prevent delayed action to happen before first draw signal

As you're able to reliably reproduce this bug whereas I never am able, can you try this patch?

In order to do so, just run the following commands as root in a terminal:

cd /usr/libexec/
patch -p1 </tmp/19827.diff
Thierry Vignaud 2017-03-26 10:55:11 CEST

Keywords: (none) => NEEDINFO, PATCH

Comment 15 Daniel BEZIVIN 2017-04-01 17:31:26 CEST
i ran the command , but message : "[root@localhost libexec]# patch -p1 </tmp/19827.diff
-bash: /tmp/19827.diff: Aucun fichier ou dossier de ce type"
Comment 16 Frédéric "LpSolit" Buclin 2017-04-01 17:38:49 CEST
(In reply to Daniel BEZIVIN from comment #15)
> i ran the command , but message : "[root@localhost libexec]# patch -p1
> </tmp/19827.diff
> -bash: /tmp/19827.diff: Aucun fichier ou dossier de ce type"

This command assumes you saved the patch in the /tmp/ directory. If you saved the patch in another directory, please use that path instead.
Comment 17 Daniel BEZIVIN 2017-04-01 17:55:08 CEST
Sorry, i did not saw the attachment.
I'm got to try it.....
Comment 18 Daniel BEZIVIN 2017-04-01 18:07:18 CEST
I have opened  the attachment, selected and copy the text, then pasted in kwrite and saved in /tmp/ as 19827.diff.
Is that i really have to do ?
Then i ran the command, but no end to it.....
Comment 19 Daniel BEZIVIN 2017-04-01 18:45:42 CEST
Ok the command works, the patch seems to be installed (i typed a wrong character because of a broken right arm).
But the bug is still here.  i tried to launch rmpdrake through MCC: "Le programme « drakconf » a planté avec l'erreur suivante :

  undefined value for mandatory argument 'x' encountered at /usr/libexec/drakconf line 1266.
  Perl's trace:
  drakbug::bug_handler() called from /usr/lib/perl5/vendor_perl/5.22.2/Gtk3.pm:524
  Gtk3::__ANON__() called from /usr/libexec/drakconf:1103

Thème utilisé : Adwaita "
Comment 20 Daniel BEZIVIN 2017-04-01 18:49:56 CEST
uname -a :
Linux localhost 4.9.20-desktop-1.mga6 #1 SMP Fri Mar 31 19:12:37 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Comment 21 Thierry Vignaud 2017-04-02 14:39:32 CEST
If the line number is still 1266 in the latest crash, that means you didn't applied the patch...

BTW what desktop is used by the people seeing this bug?

Blocks: 11778 => (none)

Comment 22 Daniel BEZIVIN 2017-04-02 18:30:47 CEST
You are right Thierry
I launched the patch one more time, and now no crash !
I don't explain what happened the time before.Sorry ;
Anyway, good job !
Comment 23 Thierry Vignaud 2017-04-03 10:44:31 CEST
Created attachment 9179 [details]
use Gtk+ animations instead of manually doing it

Alternatively, could you:
1) reverse the first patch (run the same patch command with an additional option: "-R")
2) then apply this new patch (assuming you downloaded it in /tmp):
patch -p1 </tmp/0001-use-Gtk-animations-instead-of-manually-doing-it.patch
Comment 24 Thierry Vignaud 2017-04-03 11:00:23 CEST
Created attachment 9180 [details]
use Gtk+ animations instead of manually doing it

(v2: w/o the debugging sleep...)

Attachment 9179 is obsolete: 0 => 1

Comment 25 Daniel BEZIVIN 2017-04-03 11:56:43 CEST
Results of different commands :
"
[root@localhost libexec]# patch -p1 </tmp/19827.diff -R
patching file drakconf
Hunk #1 succeeded at 1263 (offset 2 lines).

[root@localhost libexec]# patch -p1 </tmp/0001-use-Gtk-animations-instead-of-manually-doing-it.patch
patching file drakconf
"

Then no crash in MCC
Should i have noticed something special ?
Comment 26 Thierry Vignaud 2017-04-03 13:10:40 CEST
Nope, that's good.
It's just a better solution as it simplifies the code by relying on gtk+/gdk-pixbuf feature.
No more issues with odd timing of gtk+ events :-)

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

Comment 27 Mageia Robot 2017-04-03 13:27:54 CEST
commit 6ccf9ae5e67abed446049e39273908961c3c9bec
Author: Thierry Vignaud <thierry.vignaud@...>
Date:   Mon Apr 3 09:48:03 2017 +0200

    use Gtk+ animations instead of manually doing it
    
    This simplifies our code: we can remove our timer and our custom
    DrawingAread and its 'draw' hook.
    We just have to add the various fading variants of the icon in a
    PixbufSimpleAnim, set it to loop forver and let Gtk+ handles the
    animation.
    
    This also prevents delayed action to happen before first draw signal
    due to bad timing (mga#19827).
---
 Commit Link:
   http://gitweb.mageia.org/software/control-center/commit/?id=6ccf9ae5e67abed446049e39273908961c3c9bec

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