Segfaults when clicked File Menu

Bug #3497 reported by Og Maciel
2
Affects Status Importance Assigned to Milestone
Serpentine
Invalid
Undecided
Unassigned

Bug Description

I had just finished building a playlist to burn to a CD, and decided to click on the File menu to see what other features were available.

Am running: 2.6.12-9-amd64-generic and playlist consisted of an even mix of .mp3 and .ogg.

Music files were added via drag-drop from RhythmBox to Serpentine.

[242130.622146] /dev/scsi/host2/bus0/target0/lun3: p1
[247444.915023] cdrom: This disc doesn't have any tracks I recognize!
[248874.976619] python[25820]: segfault at 00002aaa00000001 rip 00002aaaabce9bd9 rsp 00007fffff9 433e0 error 4

Hope this info will be of help!

Og

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks for your bug. Could you get a backtrace with gdb?
- gdb python
(gdb) run /usr/bin/serpentine
... crash
(gdb) thread apply all bt

What architecture do you use?

Just a note, you can record an audio CD from rhythmbox by right clicking on the playlist

Changed in serpentine:
assignee: nobody → gnome
Revision history for this message
Og Maciel (ogmaciel) wrote : Re: [Bug 3497] Segfaults when clicked File Menu

Hi Sebastien,

Thanks for your reply. Unfortunately, I was unable to replicate the crash as
Serpentine proceeded to write my audio CD... Mind boggling, isn't it? ;)

Anyhow, my plataform is Ubuntu Breezy running on AMD64... I think this is
what you've asked me... ;)

Thank you for the tip on using Rhythmbox too... Will give it a try next
time...

Cheers,

Og

On 10/23/05, Sebastien Bacher <email address hidden> wrote:
>
> Public bug report changed:
> https://launchpad.net/malone/bugs/3497
>
> Comment:
> Thanks for your bug. Could you get a backtrace with gdb?
> - gdb python
> (gdb) run /usr/bin/serpentine
> ... crash
> (gdb) thread apply all bt
>
> What architecture do you use?
>
> Just a note, you can record an audio CD from rhythmbox by right clicking
> on the playlist
>

--
"There's no place like 127.0.0.1 <http://127.0.0.1>"

Og B. Maciel

.NET / Oracle Developer by day
Linux Evangelist by night

Linux Registered User 286200

Revision history for this message
Tiago Cogumbreiro (cogumbreiro) wrote :

This is a duplicate of http://bugzilla.ubuntu.com/show_bug.cgi?id=16829 however I can't replicated on my system, so the backtrace would be really handy. Thanks.

The recording is done in a new thread (a new loop) maybe there's some PIL state that's missing on nautilus-cd-burner bindings.

Revision history for this message
Tiago Cogumbreiro (cogumbreiro) wrote :

I am almost sure it's a PIL lock issue, this affects the python-gnome-extras package (nautilusburn extension), I'll have to have a talk with gjc to confirm this.

Revision history for this message
Tiago Cogumbreiro (cogumbreiro) wrote :

Of course I meant GIL ;)

Revision history for this message
Og Maciel (ogmaciel) wrote :

I'd like to provide you with the backtrace but don't really know how to. Can someone point me to some documentation?

Cheers,

Og

Revision history for this message
Tiago Cogumbreiro (cogumbreiro) wrote :

Are you using the latest upstream 0.6.4? I've made some changes that should correct that problem. However if it still segfaults you can do the following, make sure you have the 'gdb' package and then:

gdb python

This will show you a prompt (presented here with the '>' char):

> r /usr/bin/serpentine

This will make the debugger run serpentine, when the program segfaults the prompt will appear again:

> bt

By running "bt" (or "backtrace") the backtrace is shown, copy and paste it here.
Thank you very much for your cooperation.

Revision history for this message
Og Maciel (ogmaciel) wrote :

Hi Tiago,

Following your instructions, the following is the output presented:

(gdb) r /usr/bin/serpentine
Starting program: /usr/bin/python /usr/bin/serpentine
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 46912504432336 (LWP 6508)]
(no debugging symbols found)

<--- several lines of the same output --->

(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---

Typing return only gives me the same exact output as if in a loop.
Eventually, after pressing Enter 3 times, I get:

(no debugging symbols found)
[New Thread 1074006368 (LWP 6560)]
[New Thread 1074272608 (LWP 6561)]

I then proceeded to select 14 MP3 files from an external USB drive. When I
clicked the Open button, none of the files had been loaded into Serpentine
and I received the following message:

Program received signal SIG33, Real-time event 33.
[Switching to Thread 1074272608 (LWP 6561)]
0x00002aaaaabcaa9a in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib/libpthread.so.0

I hope this information will be helpfull. Please let me know if I can
provide anything else and thank you for taking care of it! =)

Cheers,

Og

Revision history for this message
Tiago Cogumbreiro (cogumbreiro) wrote :

Just to make sure, are you using serpentine 0.6.3 (the one available on Breezy) or the latest version (0.6.4)?

That back trace has no usefull info, please run this command instead of '> bt':

> thread apply all bt

Thank you, for your cooperation

Revision history for this message
Og Maciel (ogmaciel) wrote :

Hi Tiago,

Am running the one in Breezy so I can only assume it is 0.6.3 (I'm not at
home right now). Will re-run the backtrace and post back the results.

Out of curiosity, if I were to generate a backtrace for something else, say
gnome-server-connect (I think that is the command), would I still use gdb
python or something else in front of gdb? I assume Serpentine was written in
python and that is why you told me to plug it to gdb...

Cheers,

Og

Revision history for this message
Tiago Cogumbreiro (cogumbreiro) wrote : serpentine wich corrects threads problem

One liner correction to help solve the threads segfault problem.

Revision history for this message
Tiago Cogumbreiro (cogumbreiro) wrote :

Run the above script (after turning it executable) and see if the problem persists.

Revision history for this message
Og Maciel (ogmaciel) wrote :

Tiago,

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/serpentine/audio.py", line 207, in __on_found_tag
    self.__metadata[key] = tags.get(key)
TypeError: object does not support item assignment
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/serpentine/audio.py", line 207, in __on_found_tag
    self.__metadata[key] = tags.get(key)
TypeError: object does not support item assignment
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/serpentine/audio.py", line 207, in __on_found_tag
    self.__metadata[key] = tags.get(key)
TypeError: object does not support item assignment
Segmentation fault

Revision history for this message
Tiago Cogumbreiro (cogumbreiro) wrote : New audio.py

Replace /usr/lib/python2.4/site-packages/serpentine/audio.py with this file.

After this run python with 'gdb' as I've asked you before. Does this problem still happens when you access the file menu while recording? Or is it when converting? Which stage is it?

Revision history for this message
Og Maciel (ogmaciel) wrote :
Download full text (6.2 KiB)

Tiago,

omaciel@houdini:~$ sudo mv /usr/lib/python2.4/site-packages/serpentine/audio.py
audio.py audio.pyc audio.pyo
omaciel@houdini:~$ sudo mv /usr/lib/python2.4/site-packages/serpentine/audio.py /usr/lib/python2.4/site-packages/serpentine/audio.py_back
Password:
omaciel@houdini:~$ sudo cp audio.py /usr/lib/python2.4/site-packages/serpentine/omaciel@houdini:~$ gdb python
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r /usr/bin/serpentine
Starting program: /usr/bin/python /usr/bin/serpentine
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 46912504432336 (LWP 29455)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging...

Read more...

Revision history for this message
Tiago Cogumbreiro (cogumbreiro) wrote :

I think serpentine 0.7 solves this problem. I suspect this is due to gnomevfs bindings. They are a bit unstable. I will try to create a non gnomevfs serpentine version and let's see if it still happens.

Revision history for this message
Sebastien Bacher (seb128) wrote :

If you upgrade to dapper could you comment on the bug to say if you still have the issue with it?

Revision history for this message
Tiago Cogumbreiro (cogumbreiro) wrote :

Assuming that it's a gnomevfs related bug could you try running 'serpentine -n' and see if the error persists?

Changed in serpentine:
assignee: gnome → nobody
Changed in serpentine:
status: New → Incomplete
Revision history for this message
rusivi2 (rusivi2-deactivatedaccount) wrote :

We are closing this bug report because it lacks the information we need to investigate the problem, as described in the previous comments. Please reopen it if you can give us the missing information, and don't hesitate to submit bug reports in the future. To reopen the bug report you can click on the current status, under the Status column, and change the Status back to "New". Thanks again!

Changed in serpentine:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.