View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001855 | ardour | bugs | public | 2007-09-04 11:23 | 2007-09-09 19:14 |
Reporter | seablade | Assigned To | panic | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | assigned | Resolution | open | ||
Product Version | 2.0 | ||||
Summary | 0001855: Crash on Playback of Automation Data | ||||
Description | Ardour 2.0.5 When you are playing back automation data on a track, and touch a fader, or several faders, that are on playback only mode, ardour crashes with an error about witing to port mcu: 0Success which I am fairly sure is not the right port;) Touching the fader in my case is necessary as for some reason, not sure if it is ardour or not at this point, some of the strips do not get updated like they should upon startup and do not update until they are modified. I tried switching automation to manual, and did the same procedure of touching all my strips upon startup, and did not have a crash, however when switching back to playback mode on the automation, it crashed again. Seablade | ||||
Tags | No tags attached. | ||||
|
Ok I am going to have to take a look at this myself it seems, as I can't work any more on this session until it is fixed, SVN just crashes on startup. The console message is as follows... MackiePort::connect_any already connected MackiePort::connect_any already connected Surface: couldn't write to port mcu: 0SuccessSurface: couldn't write to port 0Success Copied over by hand, so while I was careful in my typing there may be a typo in there somewhere. Seablade |
|
Uh yea I just realised I forgot to mention that the faders I reference are on the Mackie Control Universal Pro, so not in ardour itself. Though that is probably obvious from the error message;) Seablade |
|
More Info: From Debug Build, console output: updating N6Mackie3PotE { name: vpot, id: 0xb015, type: 0xb0, raw_id: 0x15, ordinal: 6, group: strip_6 } SurfacePort::write: [b0 35 03] SurfacePort::wrote 3 updating N6Mackie5FaderE { name: gain, id: 0xe006, type: 0xe0, raw_id: 0x06, ordinal: 7, group: strip_7 } SurfacePort::write: [e6 1d 71] SurfacePort::wrote 3 updating N6Mackie3PotE { name: vpot, id: 0xb016, type: 0xb0, raw_id: 0x16, ordinal: 7, group: strip_7 } SurfacePort::write: [b0 36 09] Surface: couldn't write to port mcu: 0Success~MackiePort MackiePort::close MackiePort::close finished ~MackiePort finished ~SurfacePort::SurfacePort() ~SurfacePort::SurfacePort() finished Surface: couldn't write to port mcu: 0Success updating N6Mackie5FaderE { name: gain, id: 0xe007, type: 0xe0, raw_id: 0x07, ordinal: 8, group: strip_8 } SurfacePort::write: [e7 08 64] BackTrace to come. Seablade |
|
Backtrace via ardbg... (gdb) thread apply all bt Thread 6 (Thread -1329906496 (LWP 20400)): #0 0x0000002a in ?? () 0000001 0xb0cbd913 in MackieControlProtocol::notify_gain_changed (this=0x9e60e38, route_signal=0x9e7b5d0) at libs/surfaces/mackie/mackie_control_protocol.cc:974 #2 0xb0cbda0c in MackieControlProtocol::update_automation (this=0x9e60e38, rs=@0x9e7b5d0) at libs/surfaces/mackie/mackie_control_protocol.cc:1045 #3 0xb0cbdaab in MackieControlProtocol::poll_automation (this=0x9e60e38) at libs/surfaces/mackie/mackie_control_protocol.cc:1062 0000004 0xb0cab2d9 in MackieControlProtocol::monitor_work (this=0x9e60e38) at libs/surfaces/mackie/mackie_control_protocol_poll.cc:66 0000005 0xb0cbe1f9 in MackieControlProtocol::_monitor_work (arg=0x9e60e38) at libs/surfaces/mackie/mackie_control_protocol.cc:742 #6 0xb6a34294 in start_thread () from /lib/libpthread.so.0 #7 0xb69cc32e in clone () from /lib/libc.so.6 Thread 5 (Thread -1273996096 (LWP 20399)): #0 0xb7f0e410 in ?? () 0000001 0xb4105478 in ?? () #2 0xffffffff in ?? () #3 0x00000002 in ?? () 0000004 0x00000002 in ?? () 0000005 0x00000000 in ?? () Thread 4 (Thread -1273492288 (LWP 20398)): #0 0xb7f0e410 in ?? () 0000001 0xb4180428 in ?? () #2 0xffffffff in ?? () #3 0x00000001 in ?? () 0000004 0x00000000 in ?? () Thread 3 (Thread -1264346208 (LWP 20397)): #0 0xb7f0e410 in ?? () 0000001 0xb4a38408 in ?? () #2 0x000003e8 in ?? () #3 0x00000002 in ?? () 0000004 0x00000000 in ?? () Thread 2 (Thread -1263670080 (LWP 20396)): #0 0xb7f0e410 in ?? () 0000001 0xb4ade4b8 in ?? () #2 0xb76a41e4 in ?? () from /usr/lib/libglib-2.0.so.0 #3 0xb4ade49c in ?? () 0000004 0xb6a3a7f6 in ?? () from /lib/libpthread.so.0 0000005 0xb765eb92 in g_usleep () from /usr/lib/libglib-2.0.so.0 #6 0xb6ec263d in Glib::usleep (microseconds=10000) at libs/glibmm2/glibmm/timer.cc:68 #7 0xb7d00f68 in ARDOUR::AudioEngine::meter_thread (this=0x8bdb128) at libs/ardour/audioengine.cc:412 0000008 0xb7d03c6e in sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>::operator() (this=0x8bd28f4) at libs/sigc++2/sigc++/functors/mem_fun.h:1781 0000009 0xb7d03c90 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine> >::operator() (this=0x8bd28f0) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251 0000010 0xb7d03cbc in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>, void>::call_it (rep=0x8bd28d8) at libs/sigc++2/sigc++/functors/slot.h:103 0000011 0x08370a6a in sigc::slot0<void>::operator() (this=0x8bcc458) at libs/sigc++2/sigc++/functors/slot.h:440 0000012 0xb6edc77b in call_thread_entry_slot (data=0x8bcc458) at libs/glibmm2/glibmm/thread.cc:43 0000013 0xb765cbef in ?? () from /usr/lib/libglib-2.0.so.0 0000014 0x08bcc458 in ?? () #15 0x08bd9fd8 in ?? () 0000016 0xb6a2f000 in ?? () #17 0x000100e8 in ?? () 0000018 0xb691bffc in ?? () from /lib/libc.so.6 0000019 0xb6a3eff4 in ?? () from /lib/libpthread.so.0 0000020 0xb6a362d0 in ?? () from /lib/libpthread.so.0 0000021 0xb6a3eff4 in ?? () from /lib/libpthread.so.0 0000022 0x00000000 in ?? () Thread 1 (Thread -1234630992 (LWP 20393)): #0 0xb68ac564 in FcStrFree () from /usr/lib/libfontconfig.so.1 0000001 0xb68a9fae in FcValueDestroy () from /usr/lib/libfontconfig.so.1 #2 0xb689e340 in FcConfigSubstituteWithPat () from /usr/lib/libfontconfig.so.1 #3 0xb68a853b in FcFontRenderPrepare () from /usr/lib/libfontconfig.so.1 0000004 0xb756d09e in ?? () from /usr/lib/libpangoft2-1.0.so.0 0000005 0x00000000 in ?? () #0 0x0000002a in ?? () (gdb) Seablade |
|
Added some code to further reduce bytes that result in no change to the surface control, and an explicit check for write overflow which doesn't throw and exception. |
Date Modified | Username | Field | Change |
---|---|---|---|
2007-09-04 11:23 | seablade | New Issue | |
2007-09-04 12:07 | seablade | Note Added: 0004329 | |
2007-09-04 12:23 | seablade | Note Added: 0004330 | |
2007-09-04 13:11 | seablade | Note Added: 0004331 | |
2007-09-04 13:13 | seablade | Note Added: 0004332 | |
2007-09-09 19:12 | panic | Note Added: 0004348 | |
2007-09-09 19:14 | panic | Status | new => acknowledged |
2007-09-09 19:14 | panic | Status | acknowledged => assigned |
2007-09-09 19:14 | panic | Assigned To | => panic |