multiSnow / mcomix3

End of Fork
Other
97 stars 39 forks source link

Segmentation error starting mcomicstarter.py ------------ Gtk-CRITICAL **: 13:40:25.653: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed #89

Closed nnadd closed 3 years ago

nnadd commented 5 years ago

Tried just running directly and after the install instructions, get the same error.

$ python3 ~/usrbin/mcomix3/mcomix/mcomixstarter.py

(process:16838): Gtk-CRITICAL **: 13:40:25.653: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(process:16838): Gtk-CRITICAL **: 13:40:25.653: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(process:16838): Gtk-CRITICAL **: 13:40:25.653: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
Segmentation fault (core dumped)

OS: OpenSuse tumbleweed I also installed, python3-gobject, python3-gobject2, python-gtk, libgirara-gtk3-3 and python3-Pillow for the dependencies you said, but the same issue persists.

multiSnow commented 5 years ago

Sorry, I'm not familiar with opensuse. python3-gobject2, python-gtk and libgirara-gtk3-3 are not needed. Please ensure the packages are correctly installed and containing files like below:

/usr/lib/python3/dist-packages/gi/__init__.py
/usr/lib/x86_64-linux-gnu/girepository-1.0/Gdk-3.0.typelib
/usr/lib/x86_64-linux-gnu/girepository-1.0/GdkPixbuf-2.0.typelib
/usr/lib/x86_64-linux-gnu/girepository-1.0/Gtk-3.0.typelib
/usr/lib/x86_64-linux-gnu/girepository-1.0/PangoCairo-1.0.typelib
moozaad commented 5 years ago

opensuse paths are different.

/usr/lib64/girepository-1.0/Gdk-3.0.typelib
/usr/lib64/girepository-1.0/GdkPixbuf-2.0.typelib
/usr/lib64/girepository-1.0/Gtk-3.0.typelib
/usr/lib64/girepository-1.0/Pango-1.0.typelib
/usr/lib64/girepository-1.0/PangoCairo-1.0.typelib

gi is

<snip lots, just the top level>

/usr/lib64/python3.7/site-packages/gi/__init__.py
/usr/lib64/python3.7/site-packages/gi/_compat.py
/usr/lib64/python3.7/site-packages/gi/_constants.py
/usr/lib64/python3.7/site-packages/gi/_error.py
/usr/lib64/python3.7/site-packages/gi/_gi.cpython-37m-x86_64-linux-gnu.so
/usr/lib64/python3.7/site-packages/gi/_option.py
/usr/lib64/python3.7/site-packages/gi/_ossighelper.py
/usr/lib64/python3.7/site-packages/gi/_propertyhelper.py
/usr/lib64/python3.7/site-packages/gi/_signalhelper.py
/usr/lib64/python3.7/site-packages/gi/docstring.py

Spot any issues with that?

moozaad commented 5 years ago

nnadd was running with python2. If you explicitly use python3, it gives this output

python3 mcomixstarter.py 
Traceback (most recent call last):
  File "mcomixstarter.py", line 21, in <module>
    import mcomix.run
  File "/home/moozaad/bin/mcomix3-1.2.1/mcomix/run.py", line 32
    print constants.APPNAME + ' ' + constants.VERSION

SyntaxError: Missing parentheses in call to 'print'. Did you mean print(constants.APPNAME + ' ' + constants.VERSION)?

edit: I guess you've not releases yet then for python 3? These look like the original mcomics. I'll grab master and recheck.

edit2: yes that works fine here.

nnadd commented 5 years ago

I wish that was the problem.. I was using the instructions from the start..

Screenshot_20190424_211451

This is using git clone https://github.com/multiSnow/mcomix3 tho

Tried the master here https://github.com/multiSnow/mcomix3/archive/gtk3.zip , still getting the same gtk segmentation error

moozaad commented 5 years ago

Sorry. Long day! Getting confused between the reddit info and this thread.

The question then is what is the difference between your install and mine? I had a quick look through a strace and couldn't see any calls or loads to anything with provider in the name.

Does look like it's touching this near a css load but that might be just enumerating the site packages. libcanberra-gtk3-module

nnadd commented 5 years ago

No idea, really I'm not the type to install a lot of packages in the first place, especially not ones with a lot of gtk3 libs that would change too much stuff.

nnadd commented 5 years ago

Did a strace of python3 mcomix/mcomixstarter.py The gtk errors are at the bottom..

https://pastebin.com/QKqXMbcJ

nnadd commented 5 years ago

dmesg seems has some info as well.

[ 5870.421127] python3[3829]: segfault at 18 ip 00007fdc894e9f80 sp 00007ffd5c670498 error 4 in libgtk-3.so.0.2404.4[7fdc892a3000+353000]
[ 5870.421132] Code: dc ff 48 8b 44 24 08 64 48 33 04 25 28 00 00 00 75 0f 48 83 c4 18 5b 5d 41 5c 41 5d 41 5e 41 5f c3 e8 b4 dc db ff 0f 1f 40 00 <48> 8b 47 18 48 8b 40 10 c3 0f 1f 80 00 00 00 00 53 48 8b 5f 18 48
moozaad commented 5 years ago

Are you running wayland? Could you try in a X session?

nnadd commented 5 years ago

Are you running wayland? Could you try in a X session?

No dice, unfortunately. I was running X already.

pirate486743186 commented 5 years ago

"OpenSuse tumbleweed" that's a rolling release, they tend to be a bit unstable. The bug is probably in your system.

marcosrdac commented 5 years ago

I'm having the same issue on Arch Linux. Did you manage to solve the problem, @nnadd ?

nnadd commented 5 years ago

I'm having the same issue on Arch Linux. Did you manage to solve the problem, @nnadd ?

I found the solution here. https://www.reddit.com/r/openSUSE/comments/bgt9y3/mcomix_stopped_working_after_tumbleweed_update/

https://www.reddit.com/r/openSUSE/comments/bgt9y3/mcomix_stopped_working_after_tumbleweed_update/eloha4h/

EDIT: That's for python2 version, I haven't tried to fix the python3 problem, last I checked it didn't work

marcosrdac commented 5 years ago

Thanks for sharing! Although the error message was the same, my problem is actually with lightdm... I'm going to investigate it!

vinyanalista commented 2 years ago

I was facing the same error message (... assertion ... failed) with another application on openSUSE Leap 15.3.

What solved for me was installing the python3-gobject-Gdk package.

# zypper in python3-gobject-Gdk
yhojann-cl commented 2 years ago

Same error message when set application to window as ref using c++, the function only works without pointers and without after connect_activate(). Window need activate before build the window.