! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Segmentation fault on start
Status:
RESOLVED: FIXED

Comments

Description Cristian Marchi 2013-12-30 22:58:40 CET
I'm compiling Parole from master but I got a segmentation fault error on start.
I found out that the offending commit is the following one:
http://git.xfce.org/apps/parole/commit/?id=a2eed21e9c2c6404f7ee17d8bd9a722109220c92

Any revision before the one above is good. Any revision after the one above gives the segfault when starting Parole
Comment 1 Simon Steinbeiss editbugs 2014-01-13 02:18:22 CET
Have you tried to compile in a clean git tree?

Can't really reproduce your issue here.
Comment 2 Cristian Marchi 2014-01-15 22:29:59 CET
(In reply to Simon Steinbeiss from comment #1)
> Have you tried to compile in a clean git tree?
> 
Yes, but the problem persist

> Can't really reproduce your issue here.
I don't know how can I help...in command line I only see (after a flash of the parole window):

Segmentation fault (core dump created)
Comment 3 Simon Steinbeiss editbugs 2014-01-16 03:42:45 CET
Ok, since the problem persists, please give us more information on your build system, so we can get closer to reproducing it.
What version of Gtk are you building against? What version of gstreamer? What distribution? etc.
Comment 4 Matias De lellis 2014-01-16 17:37:14 CET
Hi,
Please, attach a debug:

In a terminal launch:
$ gdb parole
$ run
..and when crash type: bt

ps: If your compile from git prepare the sources with:
./autogen.sh --enable-debug --prefix=/usr --libdir=/usr/lib64
(If not use x86_64 PC ignore --libdir=/usr/lib64)

Also please: Test edit the file: HOME:/.config/xfce4/xfconf/xfce-perchannel-xml/parole.xml, and remove the lines:

<property name="parole" type="empty">
<property name="plugins" type="string" value="/usr/lib64/parole-0/parole-mpris2.so"/>
</property>

This is to check that the mpri2 plugin is disabled..

Regards.
Comment 5 Matias De lellis 2014-01-16 17:43:31 CET
Ohhh...
To check parole whitout any plugin you can use:

$ parole --no-plugins 

So, ignore editing the file.. ;)

But please.. try to get the debug and attach the result,
Comment 6 Cristian Marchi 2014-01-16 21:18:42 CET
(In reply to Matias De lellis from comment #4)
> Hi,
> Please, attach a debug:
> 
> In a terminal launch:
> $ gdb parole
> $ run
> ..and when crash type: bt
> 
> ps: If your compile from git prepare the sources with:
> ./autogen.sh --enable-debug --prefix=/usr --libdir=/usr/lib64
> (If not use x86_64 PC ignore --libdir=/usr/lib64)
> 
> Also please: Test edit the file:
> HOME:/.config/xfce4/xfconf/xfce-perchannel-xml/parole.xml, and remove the
> lines:
> 
> <property name="parole" type="empty">
> <property name="plugins" type="string"
> value="/usr/lib64/parole-0/parole-mpris2.so"/>
> </property>
> 
> This is to check that the mpri2 plugin is disabled..
> 
> Regards.

Thanks! now I can run parole again.
I run these commands as suggested:
> $ gdb parole
> $ run

Parole hung and from the command line I read this:
TRACE[parole-pl-parser.c:795] parole_pl_parser_parse_from_file_by_extension(): playlist /home/prova/.local/share/xfce4/parole/auto-saved-playlist.m3u : ((ParolePlFormat) PAROLE_PL_FORMAT_M3U)

So I deleted the above m3u file and parole is working again as expected.

I don't know if this should classify as a bug...
BTW thanks for the assistence!
Comment 7 Matias De lellis 2014-01-17 00:30:25 CET
Ok. Nice. =)
Not seem related to the plugin mpris2 ..

A tips.. When reports your next bug, please attach full backtrace..
It is useful to know how the code will behave before breaking.. =)

The problem seems related to the opening of m3u playlists..

Open parole and test open any m3u playlist.
Comment 8 Matias De lellis 2014-01-17 00:46:29 CET
Created attachment 5317 
Fix multiple free when open a bad m3u playlist

Please test it.
Not broke in the same position you backtrace, but I think this solve the bug.
Comment 9 Matias De lellis 2014-01-17 00:59:00 CET
Created attachment 5318 
Fix open m3u playlists with all absolute paths

D'Oh!.
Comment 10 Cristian Marchi 2014-01-18 11:14:00 CET
Sorry, here is the complete backtrace:
prova@V-CIGNO:~/Xfce/parole$ gdb parole
GNU gdb (GDB) 7.6.1-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/parole...done.
(gdb) run
Starting program: /usr/local/bin/parole 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb672ab40 (LWP 12532)]
[New Thread 0xb5a6eb40 (LWP 12533)]
TRACE[parole-pl-parser.c:795] parole_pl_parser_parse_from_file_by_extension(): playlist /home/prova/.local/share/xfce4/parole/auto-saved-playlist.m3u : ((ParolePlFormat) PAROLE_PL_FORMAT_M3U)

Program received signal SIGSEGV, Segmentation fault.
0xb73c9fa4 in g_match_info_unref () from /lib/i386-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0  0xb73c9fa4 in g_match_info_unref ()
   from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0xb73c9fff in g_match_info_free ()
   from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0x08071a84 in parole_pl_parser_parse_m3u (
    filename=filename@entry=0x84523f0 "/home/prova/.local/share/xfce4/parole/auto-saved-playlist.m3u") at parole-pl-parser.c:404
#3  0x08072d02 in parole_pl_parser_parse (
    filename=0x84523f0 "/home/prova/.local/share/xfce4/parole/auto-saved-playlist.m3u", format=<optimized out>) at parole-pl-parser.c:523
#4  parole_pl_parser_parse_from_file_by_extension (
    filename=filename@entry=0x84523f0 "/home/prova/.local/share/xfce4/parole/auto-saved-playlist.m3u") at parole-pl-parser.c:796
#5  0x0806493a in parole_media_list_load (list=0x83c6100)
    at parole-medialist.c:1693
#6  0x0805f8cd in parole_player_init (player=0x8356130) at parole-player.c:3368
#7  0xb74a48a3 in g_type_create_instance ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#8  0xb74876be in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#9  0xb7489b57 in g_object_new_valist ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#10 0xb7489db0 in g_object_new ()
   from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#11 0x08061268 in parole_player_new (client_id=0x0) at parole-player.c:3390
#12 0x08058673 in main (argc=1, argv=0xbffff144) at main.c:377


I can confirm that with your patch parole starts and the bug is gone. Thankss for the help!
Comment 11 Simon Steinbeiss editbugs 2014-01-20 22:27:16 CET
Thanks for the backtrace Christian, and thanks even more for the patch Matias! :)

Merged in master.

Bug #10589

Reported by:
Cristian Marchi
Reported on: 2013-12-30
Last modified on: 2014-01-20

People

Assignee:
Simon Steinbeiss
CC List:
2 users

Version

Version:
unspecified

Attachments

Additional information