gkarsay / parlatype

GNOME audio player for transcription
https://www.parlatype.xyz
GNU General Public License v3.0
168 stars 20 forks source link

Can't launch on Debian Buster #64

Closed galafuz closed 5 years ago

galafuz commented 5 years ago

Summary after solving the issue

The cause for the issue was either a not supported repository (deb-multimedia-org) and/or a blacklisted GStreamer plugin. Please make sure you have only official Debian repositories enabled and there are no blacklisted plugins shown with gst-inspect-1.0 -b.

Original bug report follows:

Installation and version

1.5.6-1

How did you install Parlatype? From distro package in debian buster, using apt command.

Your desktop environment

Recently upgraded to Debian Buster because I saw this program was included in it's packages and I'm really in need of a tool for transcribing audios. Upgrade went smooth, but after I installed parlatype, it just simply won't launch.

Issue

Can't launch.

Trying from terminal I get:

(parlatype:9449): GLib-GObject-CRITICAL **: 23:17:10.042: g_object_set: assertion 'G_IS_OBJECT (object)' failed

(parlatype:9449): GStreamer-CRITICAL **: 23:17:10.042: gst_bin_add: assertion 'GST_IS_ELEMENT (element)' failed

(parlatype:9449): GStreamer-CRITICAL **: 23:17:10.042: gst_element_get_static_pad: assertion 'GST_IS_ELEMENT (element)' failed

(parlatype:9449): GStreamer-CRITICAL **: 23:17:10.042: gst_object_unref: assertion 'object != NULL' failed

(parlatype:9449): Gtk-CRITICAL **: 23:17:10.045: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(parlatype:9449): Gtk-CRITICAL **: 23:17:10.045: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(parlatype:9449): Gtk-CRITICAL **: 23:17:10.045: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed Segmentation fault

Can anyone help me?

galafuz commented 5 years ago

Update:

Just saw the instruction on the code page to run the following command for installing on Debian distros:

$ sudo apt-get install meson build-essential appstream libgirepository1.0-dev libgladeui-dev gtk-doc-tools yelp-tools libgtk-3-dev libgtk-3-0 libgstreamer1.0-dev libgstreamer1.0-0 libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly libreoffice-script-provider-python libatspi2.0-dev libsphinxbase-dev libpocketsphinx-dev

I ran it, it went smooth, i rebooted, but am still getting the same error.

gkarsay commented 5 years ago

Thank you for your bug report! I will give you later instructions how to debug Parlatype on Debian but now I'm short on time and just want to make sure you have a "clean" Debian setup. The question is: Do you have any unofficial repos, self built software or other software installed than official Debian packages? Especially GStreamer and GStreamer plugins should be the official ones.

gkarsay commented 5 years ago

Getting a backtrace is a bit more complicated I thought. Here are some instructions, valid for Debian Buster only:

Add these lines to /etc/apt/sources.list:

deb http://debug.mirrors.debian.org/debian-debug/ buster-debug main
deb http://debug.mirrors.debian.org/debian-debug/ buster-proposed-updates-debug main

Then:

$ sudo apt update
$ sudo apt install gdb debian-goodies

This also asks you if you want to take part in the popularity contest, answer yes or no.

The command find-dbgsym-packages /usr/bin/parlatype gives all debug packages, but at the moment libsystemd0-dbgsym is not installable. We remove it from the command and wrap it up into an install command:

$ sudo apt install $(find-dbgsym-packages /usr/bin/parlatype | sed 's/libsystemd0-dbgsym//')

Now run

$ gdb parlatype

Enter run, after the crash enter bt full. Copy & paste the output here. Enter quit.

galafuz commented 5 years ago

Thank you for your attention. I do believe the problem is with GStreamer, as I have now discovered that rhythmbox is also not playing mp3 files because of a missing plugin. I had a "deb-multimedia.org" repo in my sources.list from some older installation, the GStreamer packages where coming from that repo. I removed it and reinstalled all GStreamer packages with the official Buster version, but the issue persists. I'm sure there must be something else I need to do, but I'm not very knowledgeable on package building, configuring, programming and that sort of stuff. Even though I think this is not the proper place to ask for help with GStreamer, if you could provide any, I'd be very grateful.

I also ran the debug instructions you posted. I should mention that when I ran the sudo apt install $(find-dbgsym-packages /usr/bin/parlatype | sed 's/libsystemd0-dbgsym//') command, I got a version error for libglib2.0-0; it required version 2.58.3-2+something, but the Buster version is 2.58.3-2. Still, I ran the last instructions and got:

0 0x00007ffff7b62af0 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

1 0x00007ffff7a10f04 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

2 0x00007ffff7a30a74 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

3 0x00007ffff7a1c2ca in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

4 0x00007ffff7a309ac in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

5 0x00007ffff7a30a05 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

6 0x00007ffff7a1cc62 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

7 0x00007ffff75bd0cc in g_type_create_instance () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0

8 0x00007ffff759f548 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0

9 0x00007ffff75a0cc5 in g_object_new_with_properties () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0

10 0x00007ffff75a1731 in g_object_new () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0

11 0x00007ffff7a38dda in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

12 0x00007ffff7c0ec61 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

13 0x00007ffff75bd0cc in g_type_create_instance () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0

14 0x00007ffff759f548 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0

15 0x00007ffff75a13d4 in g_object_new_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0

16 0x00007ffff75a1709 in g_object_new () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0

17 0x00007ffff7aeb71d in gtk_message_dialog_new () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

18 0x000055555555b0eb in main ()

Does that help?

gkarsay commented 5 years ago

Removing all packages from deb-multimedia-org (dmo) is a bit tricky. You can find several explanations on the web how to remove them, e.g. a good one seems to be (although for Linux Mint) https://forums.linuxmint.com/viewtopic.php?t=227270. According to this you can find out whether you still have some dmo packages with dpkg -l | grep dmo. Please make sure you have only official Debian packages, I'm quite sure that's the cause of your crash.

galafuz commented 5 years ago

I've ran all the instructions on the link you posted. dpkg -l | grep dmo now presents me no dmo packages. I've also purged and reinstalled GStreamer, Parlatype and Rhythmbox. Still, I get the same error running parlatype from command line, and the same debug lines when running the instructions in gdb parlatype. Rhythmbox still won't play mp3s either, complaining about a missing plugin.

Any ideas? Maybe I need to purge and reinstall some other stuff? Should I post this issue on GStreamer board?

galafuz commented 5 years ago

Searched around and found these instructions on a similar bug:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866339

On running gst-inspect-1.0 -b there was a blacklisted plugin. rm ~/.cache/gstreamer-1.0/registry.*.bin did the trick!

Thanks again for the attention and help, Parlatype is running ok now, soon I'll be using it!

gkarsay commented 5 years ago

I'm glad you could solve the issue! The backtrace didn't help me, it would have been difficult to diagnose this from here.