Bug 20404 - mgaapplet crashed (Typelib file for namespace 'StatusNotifier', version '0.1' not found)
Summary: mgaapplet crashed (Typelib file for namespace 'StatusNotifier', version '0.1'...
Status: RESOLVED WORKSFORME
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Rémi Verschelde
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-06 06:47 CET by aguador
Modified: 2017-03-06 19:56 CET (History)
2 users (show)

See Also:
Source RPM: mgaonline-3.19-1.mga6
CVE:
Status comment:


Attachments

Description aguador 2017-03-06 06:47:33 CET
The "mgaapplet" program crashed during boot. Drakbug-17.72 caught it.

Typelib file for namespace 'StatusNotifier', version '0.1' not found at /usr/lib/perl5/vendor_perl/5.22.2/x86_64-linux-thread-multi/Glib/Object/Introspection.pm line 108.
Perl's trace:
drakbug::bug_handler() called from /usr/lib/perl5/vendor_perl/5.22.2/x86_64-linux-thread-multi/Glib/Object/Introspection.pm:108
Glib::Object::Introspection::setup() called from /usr/bin/mgaapplet:45

Theme name: Vertex-Dark
Kernel version = 4.9.13-desktop-1.mga6
Distribution=Mageia release 6 (Cauldron) for x86_64
CPU=Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz

DE: Enlightenment 0.21.6

Internet access working properly. For E21 users, this error is not a problem, but the one reported in Bug 19344 is.
Comment 1 Rémi Verschelde 2017-03-06 07:40:51 CET
Can you post the output of `rpm -qa | grep statusnotifier`?

CC: (none) => LpSolit, mageiatools
Assignee: bugsquad => rverschelde

Rémi Verschelde 2017-03-06 07:42:18 CET

Summary: mgaapplet crashed => mgaapplet crashed (Typelib file for namespace 'StatusNotifier', version '0.1' not found)

Comment 2 aguador 2017-03-06 12:34:16 CET
$ rpm -qa | grep statusnotifier
libstatusnotifier-gir0.1-0.1.0-3.mga6
libstatusnotifier0-0.1.0-3.mga6

The error popped in the automatic bug reporter this morning, so I did not think it though. It may be related to the fact that at the moment I do not have a functioning systray. (Xembed is no longer supported in E and I have not tried in the last year or so to load the libappindicator components that should produce a functional systray.

I see that libstatusnotifier is described as being KDE specific . . . or is it used by other DEs?
Comment 3 Rémi Verschelde 2017-03-06 12:57:12 CET
(In reply to Roy Reese from comment #2)
> $ rpm -qa | grep statusnotifier
> libstatusnotifier-gir0.1-0.1.0-3.mga6
> libstatusnotifier0-0.1.0-3.mga6

So I gather you have the 32-bit version of the library installed on a x86_64 system? That might be why Glib::Object::Introspection can't find it.

Can you confirm that replacing the above two libs by their lib64 equivalents fixes the error?

> The error popped in the automatic bug reporter this morning, so I did not
> think it though. It may be related to the fact that at the moment I do not
> have a functioning systray. (Xembed is no longer supported in E and I have
> not tried in the last year or so to load the libappindicator components that
> should produce a functional systray.
> 
> I see that libstatusnotifier is described as being KDE specific . . . or is
> it used by other DEs?

libstatusnotifier implements the SNI spec for the systray, and is so far only used on Plasma (other DEs still use the legacy XEmbed systray).

If E supports SNI, we could add it to the list of DEs that should use that version instead.
Comment 4 Rémi Verschelde 2017-03-06 13:10:18 CET
Just to be sure, can you check that you have Core Release (64-bit) enabled? If not that would explain the bug.
Comment 5 Rémi Verschelde 2017-03-06 13:34:16 CET
(In reply to Rémi Verschelde from comment #4)
> Just to be sure, can you check that you have Core Release (64-bit) enabled?
> If not that would explain the bug.

Another variant of it could have been that your Core Release (64-bit) repo was outdated when you got the update, and it picked the typelib(StatusNotifier) dependency in the up-to-date Core Release (32-bit) repo.

If that's the case, uninstalling mgaonline and libstatusnotifier{0,-gir0.1}, and installing mgaonline again should hopefully pull in the 64-bit libs.

If so that would just be a transient Cauldron bug due to mirrors being slow to sync, and hopefully no longer reproducible.
Comment 6 aguador 2017-03-06 18:49:19 CET
(In reply to Rémi Verschelde from comment #5)
> (In reply to Rémi Verschelde from comment #4)
> > Just to be sure, can you check that you have Core Release (64-bit) enabled?
> > If not that would explain the bug.
> 
> Another variant of it could have been that your Core Release (64-bit) repo
> was outdated when you got the update, and it picked the
> typelib(StatusNotifier) dependency in the up-to-date Core Release (32-bit)
> repo.
> 

Weird, but it was, indeed, a repo update problem. The Core Release was correctly enabled. I have now removed the 32-bit versions (and drakconf, etc!), replaced them with the 64-bit, reinstalled drakconf, etc. and all is well.

I updated a second 64-bit system today with no problem. The update (on the same mirror) properly picked the 64-bit version.

On the separate issue:

> If E supports SNI, we could add it to the list of DEs that should use that 
> version instead.

I will communicate separately.
Comment 7 Rémi Verschelde 2017-03-06 19:56:21 CET
Closing as WORKSFORME then.

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


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