Bug 16231 - drakxtools crashing (missing Atk)
Summary: drakxtools crashing (missing Atk)
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal critical
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-27 23:17 CEST by Nikita Krupenko
Modified: 2016-02-28 16:41 CET (History)
4 users (show)

See Also:
Source RPM: drakxtools-16.104-3.mga6.src.rpm
CVE:
Status comment:


Attachments

Description Nikita Krupenko 2015-06-27 23:17:55 CEST
Description of problem:
After recent updates, drakxtools started to crash. For example, output for drakhardware:

Ignore the following Glib::Object::Introspection & Gtk3 warnings
Typelib file for namespace 'Atk', version '1.0' not found at /usr/lib/perl5/vendor_perl/5.22.0/x86_64-linux-thread-multi/Glib/Object/Introspection.pm line 91.
BEGIN failed--compilation aborted at /usr/lib/libDrakX/mygtk3.pm line 15.
Compilation failed in require at /usr/libexec/drakhardware line 15.
BEGIN failed--compilation aborted at /usr/libexec/drakhardware line 15.

Though mcc can start, it cannot launch this tools too.

Reproducible: 

Steps to Reproduce:
Comment 1 Jani Välimaa 2015-06-28 08:48:29 CEST
I've seen other errors about missing typelib(Atk) too. This might be related to fact that lib(|64)gtk-gir3.0 in current Cauldron has way less requires than one in mga5.

In Cauldron:
$ urpmq --requires lib64gtk-gir3.0
lib64gtk+3_0[== 3.17.4-1.mga6]
libgdk-3.so.0()(64bit)
libgtk-3.so.0()(64bit)
typelib(cairo)[== 1.0]
typelib(xlib)[== 2.0]

In Mga5:
$ urpmq --requires lib64gtk-gir3.0
lib64gtk+3_0[== 3.14.8-5.mga5]
libgdk-3.so.0()(64bit)
libgtk-3.so.0()(64bit)
typelib(Atk)[== 1.0]
typelib(Gdk)[== 3.0]
typelib(GdkPixbuf)[== 2.0]
typelib(Gio)[== 2.0]
typelib(Pango)[== 1.0]
typelib(cairo)[== 1.0]
typelib(xlib)[== 2.0]

I'll investigate what's causing this.

CC: (none) => jani.valimaa

Comment 2 Jani Välimaa 2015-06-28 09:43:26 CEST
Seems g-ir-dep-tool doesn't find deps correctly when using 'lazy loading'.

To use strict loading we'll have to add requires for gir pkgs (pkgs providing .typelib file) to all devel pkgs which are providing .gir file(s). Suse is actually doing it like this.

g-ir-dep-tool using our 'lazy loading' patch:
=============================================
$ g-ir-dep-tool Gtk 3.0

** (process:4822): CRITICAL **: get_typelib_dependencies_transitive: assertion 'typelib != NULL' failed
typelib: xlib-2.0
shlib: libgtk-3.so.0
shlib: libgdk-3.so.0

self-built g-ir-dep-tool without our 'lazy loading' patch:
==========================================================
$ ./g-ir-dep-tool Gtk 3.0
typelib: Pango-1.0
typelib: GObject-2.0
typelib: xlib-2.0
typelib: cairo-1.0
typelib: Gdk-3.0
typelib: Gio-2.0
typelib: Atk-1.0
typelib: GdkPixbuf-2.0
typelib: GModule-2.0
typelib: GLib-2.0
shlib: libgtk-3.so.0
shlib: libgdk-3.so.0

In both cases all required -gir pkgs are installed.
Jani Välimaa 2015-06-28 09:46:19 CEST

CC: (none) => thierry.vignaud

Comment 3 Jani Välimaa 2015-06-29 18:39:31 CEST
The isssue should be fixed with gtk+3.0-3.17.4-2.mga6. Closing as FIXED, feel free to reopen if needed.

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

Comment 4 Olivier Blin 2015-06-30 01:23:50 CEST
For the record, there was a similar issue with gnome-shell that failed to start:

juin 29 05:57:47 harmonia.blino.org gnome-session[2109]: (gnome-shell:4141): Gjs-WARNING **: JS ERROR: Error: Requiring Clutter, version 1.0: Typelib file for namespace 'CoglPango', version '1.0' not found
juin 29 05:57:47 harmonia.blino.org gnome-session[2109]: @resource:///org/gnome/shell/ui/environment.js:11
juin 29 05:57:47 harmonia.blino.org gnome-session[2109]: @<main>:1
juin 29 05:57:47 harmonia.blino.org gnome-session[2109]: ** Message: Execution of main.js threw exception: JS_EvaluateScript() failed
juin 29 05:57:48 harmonia.blino.org gnome-session[2109]: (gnome-settings-daemon:2960): GLib-GIO-CRITICAL **: g_dbus_proxy_call_internal: assertion 'GIS_DBUS_PROXY (proxy)' failed

lib64cogl-pango-gir1.0 was not required automatically by gnome-shell (or clutter),

CC: (none) => mageia

Comment 5 Jani Välimaa 2015-06-30 06:31:01 CEST
(In reply to Olivier Blin from comment #4)
> For the record, there was a similar issue with gnome-shell that failed to
> start:
> 
..snip
> 
> lib64cogl-pango-gir1.0 was not required automatically by gnome-shell (or
> clutter),

I'll check this later, hopefully rebuild is all it needs.
Comment 6 Thierry Vignaud 2015-06-30 09:44:57 CEST
BTW does this only affects Cauldron or mga5 too?
Comment 7 Thierry Vignaud 2015-06-30 09:45:16 CEST
Forgot that, I've the answer
Comment 8 Edward d'Auvergne 2016-02-28 14:44:26 CET
Any chance of a backport to mga5?  I see this with mgaapplet, which I assume to be the same bug:

$ mgaapplet
Ignore the following Glib::Object::Introspection & Gtk3 warnings
Typelib file for namespace 'Gtk', version '3.0' not found at /usr/lib/perl5/vendor_perl/5.20.1/x86_64-linux-thread-multi/Glib/Object/Introspection.pm line 91.
BEGIN failed--compilation aborted at /usr/lib/libDrakX/mygtk3.pm line 15.
Compilation failed in require at /usr/bin/mgaapplet line 34.
BEGIN failed--compilation aborted at /usr/bin/mgaapplet line 34.
$

This is strangely user dependent - this error happens only for one user, but not for root or any other users.

CC: (none) => true.bugman

Comment 9 Edward d'Auvergne 2016-02-28 16:41:13 CET
Assuming this is the same bug, the script failure can be reproduced with a single lined perl script containing:

use Gtk3;

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