Bug 13534 - drakclock crashed (Can't locate object method "generic_exceptions_handler" via package "Glib" at Gtk3 line 295)
Summary: drakclock crashed (Can't locate object method "generic_exceptions_handler" vi...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Thierry Vignaud
QA Contact:
URL:
Whiteboard: MGA4TOO
Keywords: NEEDINFO
: 12758 13058 13328 (view as bug list)
Depends on:
Blocks: 11778
  Show dependency treegraph
 
Reported: 2014-06-17 20:30 CEST by David Walser
Modified: 2015-05-14 10:51 CEST (History)
5 users (show)

See Also:
Source RPM: drakxtools-16.26.8-1.mga4
CVE:
Status comment:


Attachments
patch to avoid the crash (636 bytes, patch)
2014-06-19 23:25 CEST, Angelo Naselli
Details | Diff
new patch to fix the problem (748 bytes, patch)
2014-06-20 00:34 CEST, Angelo Naselli
Details | Diff
workaround gtk+ firing signals too early w/o any reason (773 bytes, patch)
2014-06-20 09:03 CEST, Thierry Vignaud
Details | Diff
fix crash on cancel (769 bytes, patch)
2014-06-20 09:26 CEST, Thierry Vignaud
Details | Diff
complete fix including keeping old TZ value on cancel then reclick (1.10 KB, patch)
2014-06-20 09:27 CEST, Thierry Vignaud
Details | Diff

Description David Walser 2014-06-17 20:30:42 CEST
The "drakclock" program crashed. Drakbug-16.26.8 caught it.

drakclock > Change Time Zone > Cancel

Can't locate object method "generic_exceptions_handler" via package "Glib" at /usr/lib/perl5/vendor_perl/5.18.1/Gtk3.pm line 295.
Perl's trace:
standalone::bug_handler() called from /usr/lib/perl5/vendor_perl/5.18.1/Gtk3.pm:295
Gtk3::__ANON__() called from /usr/lib/libDrakX/mygtk3.pm:1501
mygtk3::main() called from /usr/lib/libDrakX/ugtk3.pm:748
ugtk3::main() called from /usr/libexec/drakclock:235

Theme name: oxygen-gtk
Kernel version = 3.12.0-server-1.mga4
Distribution=Mageia release 4 (Cauldron) for i586
CPU=AMD Opteron(TM) Processor 6212
David Walser 2014-06-17 20:31:09 CEST

Assignee: bugsquad => thierry.vignaud

David Walser 2014-06-17 20:31:21 CEST

Version: Cauldron => 4

Comment 1 Marja Van Waes 2014-06-17 22:41:17 CEST
Also valid in cauldron, 64bits, drakxtools-16.32-1.mga5

Whiteboard: (none) => MGA4TOO
CC: (none) => marja11
Hardware: i586 => All
Version: 4 => Cauldron

Comment 2 Thierry Vignaud 2014-06-19 17:37:58 CEST
What's the restult of the following command:
rpm -q perl-{Glib{,-Object-Introspection},Gtk3}

Keywords: (none) => NEEDINFO

Comment 3 David Walser 2014-06-19 17:47:06 CEST
As you apparently noticed, my perl-Glib was out of date.  I upgraded it and still get the same crash, but the message about "Can't locate object method" no longer appears, instead I get this message:

undefined value for mandatory argument 'str' encountered at /usr/libexec/drakclock line 49.

The Perl trace is exactly the same as before.

Sorry about the outdated package, they're all current now.
David Walser 2014-06-19 17:47:14 CEST

Keywords: NEEDINFO => (none)

Comment 4 Thierry Vignaud 2014-06-19 18:03:27 CEST
Please provide the requested info

Keywords: (none) => NEEDINFO

Comment 5 David Walser 2014-06-19 18:07:19 CEST
As if you don't know what the current versions are :P

perl-Glib-1.303.0-9.mga4
perl-Glib-Object-Introspection-0.18.0-2.mga4
perl-Gtk3-0.15.0-3.mga4

Maybe Marja can answer for her case (being Cauldron, it might actually be useful)

Keywords: NEEDINFO => (none)

Comment 6 Thierry Vignaud 2014-06-19 18:38:03 CEST
I asked b/c the message obviously showed you'd some kind of broken system and b/c I cannot reproduce the next error.
Anyway that's a different issue

Status: NEW => RESOLVED
Resolution: (none) => INVALID

Comment 7 David Walser 2014-06-19 18:42:56 CEST
OK, so it was reported to me because it also happens in omdv which shares our code, and I verified that it happens in Mandriva as well.  Even with the packages you requested being up to date, it still happens.  Marja said it even happens in Cauldron.  I'm surprised you can't reproduce it, given how easy it is to reproduce it, but if you really can't, then I guess there's nothing you can do.

Resolution: INVALID => WONTFIX

Comment 8 David Walser 2014-06-19 18:43:52 CEST
Oops, I meant I verified it happens in Mageia as well.  I tested on Mageia 4, and yes there were originally outdated packages on it, but I update it.
Comment 9 Marja Van Waes 2014-06-19 19:31:11 CEST
(In reply to Thierry Vignaud from comment #2)
> What's the restult of the following command:
> rpm -q perl-{Glib{,-Object-Introspection},Gtk3}

[root@localhost marja]# rpm -q perl-{Glib{,-Object-Introspection},Gtk3}
perl-Glib-1.305.0-2.mga5
perl-Glib-Object-Introspection-0.23.0-2.mga5
perl-Gtk3-0.16.0-1.mga5
[root@localhost marja]# 

And I confirm having seen this in fully updated Mga4 and cauldron

I agree with "WONTFIX", though. It is a very minor issue.

For the record, the cauldron trace isn't exactly the same. line numbers are different:


The "drakclock" program has crashed with the following error:

  undefined value for mandatory argument 'str' encountered at /usr/libexec/drakclock line 49.
  Perl's trace:
  standalone::bug_handler() called from /usr/lib/perl5/vendor_perl/5.18.2/Gtk3.pm:292
  Gtk3::__ANON__() called from /usr/lib/libDrakX/mygtk3.pm:1530
  mygtk3::main() called from /usr/lib/libDrakX/ugtk3.pm:859
  ugtk3::main() called from /usr/libexec/drakclock:235

Used theme: oxygen-gtk
Comment 10 Angelo Naselli 2014-06-19 22:24:37 CEST
confirming mga4 crash.

Sorry Marja, I don't agree with the wontfix... A crash is a crash imho.

CC: (none) => anaselli

Comment 11 Angelo Naselli 2014-06-19 23:25:42 CEST
Created attachment 5198 [details]
patch to avoid the crash

David could you please test this patch and see if it has regression?
Comment 12 David Walser 2014-06-19 23:44:59 CEST
Angelo,

Thanks, the fix makes sense (and it works), and I played around with it a bit and don't see any regressions.

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

Comment 13 David Walser 2014-06-20 00:07:50 CEST
(In reply to David Walser from comment #12)
> Angelo,
> 
> Thanks, the fix makes sense (and it works), and I played around with it a
> bit and don't see any regressions.

OK I found another bug.  Not really a regression, you just couldn't do this before because of the crash.  If you hit Cancel and then hit Change Time Zone again, it selects the very first one (Africa > Abidjan) instead of your current time zone.
Comment 14 David Walser 2014-06-20 00:09:39 CEST
Also if you do change the time zone to something else (or it happens by accident as I described in Comment 13) and hit OK on the pop-up dialog, but then hit Cancel to exit drakclock itself, it really should not actually save that change, but it does.
Comment 15 Angelo Naselli 2014-06-20 00:34:48 CEST
Created attachment 5199 [details]
new patch to fix the problem

Attachment 5198 is obsolete: 0 => 1

Comment 16 Angelo Naselli 2014-06-20 00:38:45 CEST
on Comment #14
You are right:
timezone::write($timezone);
this line should be performed only at last Ok pressed not after time zome changes.
But I'm too tired to look where i leave this fixing to other hands...
Comment 17 David Walser 2014-06-20 00:41:44 CEST
Thanks, this is good progress.  With the updated patch it fixes the original bug and Comment 13's bug.  Comment 14 can wait for another day I guess :o)
Comment 18 Thierry Vignaud 2014-06-20 09:00:00 CEST
That cannot be a proper fix.
If the user pick a TZ, it shouldn't be null.

On second though:
1) what desktop are you using?
2) are you just starting drakclock without even selecting a TZ?

Keywords: (none) => NEEDINFO

Comment 19 Thierry Vignaud 2014-06-20 09:03:18 CEST
Created attachment 5202 [details]
workaround gtk+ firing signals too early w/o any reason

Does this patch fix it?
Comment 20 Thierry Vignaud 2014-06-20 09:06:02 CEST
(In reply to Angelo Naselli from comment #10)
> confirming mga4 crash.
> 
> Sorry Marja, I don't agree with the wontfix... A crash is a crash imho.

I closed the bug b/c the initially reported error was obviously a not up to date system mixing mga4 with earlier packages, so when I ask not to mix different issues in the same report and to open a new bug report, please don't reopen it :-( !

Too late for this one now...
Comment 21 Thierry Vignaud 2014-06-20 09:26:38 CEST
Created attachment 5203 [details]
fix crash on cancel
Comment 22 Thierry Vignaud 2014-06-20 09:27:17 CEST
Created attachment 5204 [details]
complete fix including keeping old TZ value on cancel then reclick
Comment 23 Angelo Naselli 2014-06-20 09:29:49 CEST
Thierry i don't understand comment #18 sorry.
I'm using kde but that should not matter if I'm configuring clock souldn't it?

On comment #20, i believe that the not up2date system just hid the problem, that
indeed is present in 4 as well, in the sense that the bt was different, but the undef value was the same....
Comment 24 Mageia Robot 2014-06-20 09:31:18 CEST
commit 2d150597360738d6fdecd24a21d4ce076469b1df
Author: Thierry Vignaud <thierry.vignaud@...>
Date:   Fri Jun 20 09:28:52 2014 +0200

    fix crash on clicking Cancel after TZ selection (mga#13534)
---
 Commit Link:
   http://gitweb.mageia.org/software/drakx/commit/?id=2d150597360738d6fdecd24a21d4ce076469b1df
Comment 25 Mageia Robot 2014-06-20 09:31:20 CEST
commit d55fa70f6c5e3b2212e2eba7d9d97141efe3a4c4
Author: Thierry Vignaud <thierry.vignaud@...>
Date:   Fri Jun 20 09:30:04 2014 +0200

    fix loosing TZ choice when canceling TZ selection (mga#13534)
---
 Commit Link:
   http://gitweb.mageia.org/software/drakx/commit/?id=d55fa70f6c5e3b2212e2eba7d9d97141efe3a4c4
Comment 26 Angelo Naselli 2014-06-20 09:33:14 CEST
I think Comment #22 is the right fix as we thought last night via IRC (e.g. porting the line into the if cluase and avoid two if tests)
Comment 27 Angelo Naselli 2014-06-20 09:34:24 CEST
Thierry i think you could move the timezone::write($timezone); line properly
to fix also the last problem.
Comment 28 Thierry Vignaud 2014-06-20 10:52:18 CEST
What do you mean?
The write() call is already in the if branch

What's last problem? Selecting 1st TZ after canceling? That's covered by the second commit above.
Comment 29 Angelo Naselli 2014-06-20 11:29:47 CEST
Comment #14, select a time zone, press ok. Then press Cancel into the main dialog.
The time zone is saved as soon as the user has pressed the first ok despite of he chooses to press ok or cancel later.
Comment 30 Thierry Vignaud 2014-06-20 11:40:55 CEST
Please open a seperate bug report for this one.
This one already mixes several issues and begins to be too long.

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

Comment 31 Angelo Naselli 2014-06-20 13:26:45 CEST
hmm Thierry, a package for mga4 should be provided, and pass this bug to QA team
If I'm not wrong beofore closing this anyway...
Comment 32 Thierry Vignaud 2014-06-20 14:06:54 CEST
Humm this report is about Cauldron.
I think it's better I opened a new bug about the package when I build a new mga4 package.
Comment 33 Angelo Naselli 2014-06-20 14:42:29 CEST
Whiteboard: 	MGA4TOO
Comment 34 Marja Van Waes 2014-06-20 15:31:56 CEST
@ Angelo

I'm the one who hijacked Luigi12's Mga4 bug report and set it to cauldron. If he can't wait until tv opens a new one for Mga4, then I'll do it tonight.

I prefer a separate report for Mga4, too. This report already has 34 comments now, a new report is much nicer for QA testers.
Comment 35 Mageia Robot 2014-06-20 23:05:39 CEST
commit aeda3f38b3235dc2f60fd144b32561f746b544aa
Author: Thierry Vignaud <thierry.vignaud@...>
Date:   Fri Jun 20 09:28:52 2014 +0200

    fix crash on clicking Cancel after TZ selection (mga#13534)
    
    Conflicts:
    	perl-install/NEWS
---
 Commit Link:
   http://gitweb.mageia.org/software/drakx/commit/?id=aeda3f38b3235dc2f60fd144b32561f746b544aa
Comment 36 Mageia Robot 2014-06-20 23:05:41 CEST
commit 38acef524421072eb1e4ddb589335db44c268400
Author: Thierry Vignaud <thierry.vignaud@...>
Date:   Fri Jun 20 09:30:04 2014 +0200

    fix loosing TZ choice when canceling TZ selection (mga#13534)
---
 Commit Link:
   http://gitweb.mageia.org/software/drakx/commit/?id=38acef524421072eb1e4ddb589335db44c268400
Thierry Vignaud 2014-07-09 15:56:42 CEST

Blocks: (none) => 11778

Thierry Vignaud 2014-07-09 15:58:43 CEST

Summary: drakclock crashed => drakclock crashed (Can't locate object method "generic_exceptions_handler" via package "Glib" at Gtk3 line 295)

Comment 37 Thierry Vignaud 2015-05-14 10:51:26 CEST
*** Bug 12758 has been marked as a duplicate of this bug. ***

CC: (none) => yves.brungard_mageia

Comment 38 Thierry Vignaud 2015-05-14 10:51:30 CEST
*** Bug 13328 has been marked as a duplicate of this bug. ***

CC: (none) => mojrv

Comment 39 Thierry Vignaud 2015-05-14 10:51:38 CEST
*** Bug 13058 has been marked as a duplicate of this bug. ***

CC: (none) => gerzalnet


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