segmentation fault on starting a new level

Bug #1089234 reported by Paul Childs
30
This bug affects 6 people
Affects Status Importance Assigned to Milestone
zaz (Ubuntu)
Fix Released
Undecided
Markus Koschany

Bug Description

This bug is quite intermittent but happens about 50% of the time. Once the game is restarted after, all unlocked levels are relocked so I have only been able to test it on the first few.
When starting a level (either directly from the main menu or by selecting next level) the game routinely crashes (randomly but frequently).
When run using gdb a segmentation fault is detected and the system is locked down (requiring ctrlaltsysrq k), The error message given is:
segfault 0xb7f177b1 in ov_raw_seek() /usr/lib/i386-linux-gnu/libvorbisfile.so.3
Unfortunately I wasn't given a chain of function calls or a line number as I'm used to.

In the source; however, I only see this function called in streamingoggsample.cpp as the restart function, which in turn is used in audiobuffer.cpp in the getMix function and the Play function. The prototype for the getMix function doesn't seem to match the way its used in mixer::enqueueSample:

Sint16 *AudioBuffer::getMix(uint requested_length, uint &returned_length)
vs
uint l2;
Sint16 *b2 = audioBuffers[b].getMix(lsamples, l2);

Perhaps the latter should be getMix(lsamples, &l2);? Seems a likely cause for a seg fault but then maybe it's my ignorance being more familiar with c.
I've got version 1.0.0~dfsg1-1 on Ubuntu 12.04. My CPU is a 64bit AMD.
I see no sign of the bug reported upstream. I am happy to pass it on if you think its not a packaging issue.

Tags: patch
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in zaz (Ubuntu):
status: New → Confirmed
Revision history for this message
Jim Cameron (jim-cameron) wrote :

This bug was introduced by the debian no-music patch. See debian bug #649017, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649017 . There are pending patches to fix the problem, although I have not tested them. Or try the alternative patch attached, which replaces the existing no-music patch and does the same thing in rather less code, without crashing.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "no_music_jc.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Revision history for this message
Paul Childs (childsey01) wrote :

I have applied the alternative patch attached above and the bug seems to be occurring less frequently (50% -> 10-25%) but it still remains (with confirmation in gdb that the segfault occurs in ov_raw_seek).

Revision history for this message
Markus Koschany (apoleon) wrote :

I consider this issue fixed in version 1.0.1-1. The music files are free now and we can ship them again. Everything should work as expected now.

Changed in zaz (Ubuntu):
assignee: nobody → Markus Koschany (apoleon)
status: Confirmed → Fix Released
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.