After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 700513 - Random/hardly reproducible crash in glib
Random/hardly reproducible crash in glib
Status: RESOLVED OBSOLETE
Product: glib
Classification: Platform
Component: win32
2.28.x
Other Windows
: Normal normal
: ---
Assigned To: gtk-win32 maintainers
gtk-win32 maintainers
Depends on:
Blocks:
 
 
Reported: 2013-05-17 10:38 UTC by Anton Fedorov
Modified: 2018-05-24 15:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Anton Fedorov 2013-05-17 10:38:26 UTC
I'm usign pyGtk to interact with GTK+ under both Linux and Windows.
Under windows used builds from latest win32 bundle (20120208) from http://gtk.org/download/win32.php

On one of computer application get crashed quite often with crash inside libglib.

It has that crash on previous version (2.28.1.0), and after upgrade to latest one it still has crash.

Crash information from windows:
 Fault Module Name: libglib-2.0-0.dll
 Fault Module Version: 2.28.8.0
 Fault Module Timestamp: 4e253544
 Exception Code: 40000015
 Exception Offset: 0004c2d8

Googling with "Exception Offset: 0004c2d8" gives several questions about that crash in other softwares, that also uses gtk: Deluge, zenmap.

I can't find any useful information about way I can debug / workaround that bug.
Since it on windows, and not on my build machine, i can't even install any debugger to try to find stack trace.

Installing of all latest OS updates doesn't make any sense.

OS: Win7 x64, CPU: Intel Core i5, memory: 4Gb, videocard: nvidia

Any way I can help to find sqrt(problem) ?
Comment 1 Anton Fedorov 2013-05-17 10:43:53 UTC
If '0004c2d8' if offset from start of library base addres, it seems that crash in g_assertion_message function.

on stdout/stderr no message printed... any way to catch that message any other way?
Comment 2 Fan, Chun-wei 2014-05-16 02:02:27 UTC
Hi Anton,

Can you let us know what you were doing that lead to your crash?

With blessings, thank you.
Comment 3 Anton Fedorov 2014-05-16 04:01:45 UTC
Oh! Forget about that filed bug.
I have got that assertions, by catching all stdout/stderr into logs.

lib\graph\base.py:333: GtkWarning: gdk_drawable_copy_to_image: assertion `src_y >= 0' failed^M
lib\graph\base.py:334: GtkWarning: gdk_drawable_copy_to_image: assertion `src_y >= 0' failed^M
gui.py:376: GtkWarning: inner_clipboard_window_procedure: assertion `success' failed

It looks to happens only in multithreaded setup. I have just hardly stick absolutely all GTK operations to single thread, and then it working fine.
Using locking to access from different threads NOT working, only access from single thread works.
Comment 4 Fan, Chun-wei 2014-12-26 02:56:43 UTC
Hi Anton,

Unfortunately at the current state of GTK+ it is not possible for multithreaded GTK+ apps to work on Windows in many cases, due to the fact that Windows has a number of implicit locks that are done internally, as we enter the GUI subsystem.  As noted in README.win32 in GTK+, it is mentioned under the sub-title: "Multi-threaded use of GTK+ on Win32"

Sorry, as possible solutions need to be investigated for this due to the way GTK+ is structured code-wise.

With blessings!
Comment 5 GNOME Infrastructure Team 2018-05-24 15:20:32 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/704.