segmentation fault on starting a new level

Bug #1089234 reported by Paul Childs on 2012-12-12
This bug affects 6 people
Affects Status Importance Assigned to Milestone
zaz (Ubuntu)

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/
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)
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.

Launchpad Janitor (janitor) wrote :

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

Changed in zaz (Ubuntu):
status: New → Confirmed
Jim Cameron (jim-cameron) wrote :

This bug was introduced by the debian no-music patch. See debian 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.

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
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).

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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