Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 357673 - <media-video/cinelerra-20111223: crash on playback (when no output device is selected yet)
Summary: <media-video/cinelerra-20111223: crash on playback (when no output device is ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal minor (vote)
Assignee: Gentoo Media-video project
URL: http://bugs.cinelerra.org/
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-06 16:31 UTC by Martin von Gagern
Modified: 2011-12-28 12:05 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (media-video:cinelerra-20101104.emerge--info,6.69 KB, text/plain)
2011-03-06 16:32 UTC, Martin von Gagern
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin von Gagern 2011-03-06 16:31:40 UTC
Playing a mpg video with cinelerra results in a program crash for me.

Steps to reproduce:
1. Get an mpg test video, e.g. Aliensong or whatever
2. Open in cinelerra
3. Place marker anywhere within the video
4. Click play from toolbar

Running things in gdb gives this location for the SIGSEGV:

in AudioDevice::current_position at audioodevice.C:314
314   hardware_result = get_lowlevel_out()->device_position();

Looking at assembly code and registers, get_lowlevel_out returned NULL, which in turn seems to indicate that the output device wasn't opened for writing.

The backtrace:
#0  in AudioDevice::current_position (this=0x7fffcc29f350) at audioodevice.C:314
#1  in VRender::run (this=0x1f631f0) at vrender.C:450
#2  in Thread::entrypoint (parameters=0x1f631f0) at thread.C:69
#3  in start_thread (arg=0x7fffbe238700) at pthread_create.c:301
#4  in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Things reported by the cinelerra signal handler:

signal_entry: got SIGSEGV my pid=8698 execution table size=16:
    vrender.C: run: 576
    filempeg.C: open_file: 185
    vrender.C: run: 435
    vrender.C: process_buffer: 124
    vrender.C: process_buffer: 134
    bchash.C: copy_from: 276
    bchash.C: copy_from: 279
    bchash.C: copy_from: 288
    filempeg.C: read_frame: 1181
    filempeg.C: read_frame: 1187
    filempeg.C: read_frame: 1216
    bchash.C: copy_from: 276
    bchash.C: copy_from: 279
    bchash.C: copy_from: 288
    vrender.C: run: 437
    vrender.C: run: 448
signal_entry: lock table size=19
    0x1d165b0 CWindowTool::input_lock CWindowTool::run 
    0x1e26110 TransportQue::output_lock PlaybackEngine::run 
    0x1e26b20 MainIndexes::input_lock MainIndexes::run 1 
    0xadd9d0 BC_Synchronous::next_command BC_Synchronous::run 
    0x1ebc2b0 ResourceThread::draw_lock ResourceThread::run 
    0x1f96540 BC_WindowBase::event_condition BC_WindowBase::get_event 
    0x1d77ca0 BC_WindowBase::event_condition BC_WindowBase::get_event 
    0x1a19280 BC_WindowBase::event_condition BC_WindowBase::get_event 
    0x1d3d290 BC_WindowBase::event_condition BC_WindowBase::get_event 
    0x1ef83b0 BC_WindowBase::event_condition BC_WindowBase::get_event 
    0x1c522e0 BC_WindowBase::event_condition BC_WindowBase::get_event 
    0x1e28d10 BC_WindowBase::event_condition BC_WindowBase::get_event 
    0x7fffd40105e0 AudioDevice::play_lock AudioDevice::run 1 
    0x1f86750 CICache::total_lock CICache::check_out *
    0x1d3b8a0 TransportQue::output_lock PlaybackEngine::run 
    0x1f56220 LoadClient::input_lock LoadClient::run 
    0x1f88b60 LoadClient::input_lock LoadClient::run 
    0x1f88aa0 LoadClient::input_lock LoadClient::run 
    0xb44b10 LoadClient::input_lock LoadClient::run 
BC_Signals::dump_buffers: buffer table size=0
BC_Signals::delete_temps: deleting 0 temp files
SigHandler::signal_handler total files=0

Program received signal SIGABRT, Aborted.
Comment 1 Martin von Gagern 2011-03-06 16:32:15 UTC
Created attachment 264967 [details]
emerge --info
Comment 2 Martin von Gagern 2011-08-30 23:24:14 UTC
OK, this is in part a configuration issue: as you can see from the attached info, I built cinelerra without oss support. But the OSS output driver apparently is selected by default. As a result, AudioDevice::create_lowlevel will return 0.

So the following steps made things work for me:
1. Start cinelerra
2. In the "Program" window, select menu item "Settings" / "Preferences..."
3. Choose the "Playback" tab
4. Set "Audio Driver" to "ALSA"

Still, having the app crash on a simple config error isn't something to inspire trust in said application. Do you want me to take this upstream?
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2011-12-23 03:07:00 UTC
(In reply to comment #2)
> Still, having the app crash on a simple config error isn't something to inspire
> trust in said application. Do you want me to take this upstream?

Yes, please.   Try cinelerra-20111223 before doing so however.
Comment 4 Martin von Gagern 2011-12-28 11:00:22 UTC
(In reply to comment #3)
> > Do you want me to take this upstream?
> 
> Yes, please.   Try cinelerra-20111223 before doing so however.

Seems to work out of the box now: renamed my ~/.bcast directory, started cinelerra 20111223, opened a video and played it without a crash.
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2011-12-28 12:05:25 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > > Do you want me to take this upstream?
> > 
> > Yes, please.   Try cinelerra-20111223 before doing so however.
> 
> Seems to work out of the box now: renamed my ~/.bcast directory, started
> cinelerra 20111223, opened a video and played it without a crash.

Thanks for testing.  Lets close this then, you can simply reopen the bug if you still manage to reproduce it later on.