View Issue Details

IDProjectCategoryView StatusLast Update
0003166ardourbugspublic2020-04-19 20:14
Reporterdanboid Assigned Tocth103  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Summary0003166: MIDI playback broke
DescriptionCreate a MIDI track, insert some notes then connect it up to a JACK MIDI capable synth such as yoshimi or bristol and try to play the track. 7145 under lucid x64 doesn't even get as far as playing a single note before crashing with the error:

ardour-3.0: ../libs/ardour/smf_source.cc:163: virtual ARDOUR::nframes_t ARDOUR::SMFSource::read_unlocked(Evoral::EventSink<unsigned int>&, ARDOUR::sframes_t, ARDOUR::sframes_t, ARDOUR::nframes_t, ARDOUR::sframes_t, ARDOUR::sframes_t, ARDOUR::MidiStateTracker*) const: Assertion `time >= start_ticks' failed.
Aborted
TagsNo tags attached.

Activities

lincoln

2010-05-23 18:09

reporter   ~0007996

ardour-3.0: ../libs/ardour/smf_source.cc:163: virtual ARDOUR::nframes_t ARDOUR::SMFSource::read_unlocked(Evoral::EventSink<unsigned int>&, ARDOUR::sframes_t, ARDOUR::sframes_t, ARDOUR::nframes_t, ARDOUR::sframes_t, ARDOUR::sframes_t, ARDOUR::MidiStateTracker*) const: Assertion `time >= start_ticks' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe04dea30 (LWP 18885)]
0x00007fffed030f05 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
        in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) thread apply all bt

Thread 19 (Thread 0x7fffc0cf1a30 (LWP 18887)):
#0 0x00007fffed361211 in nanosleep () from /lib/libpthread.so.0
0000001 0x00007ffff35f32a8 in g_usleep () from /lib/libglib-2.0.so.0
#2 0x00007ffff6816e8a in ARDOUR::AudioEngine::meter_thread (this=0x1b1d400) at ../libs/ardour/audioengine.cc:632
#3 0x00007ffff6831481 in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator() (this=0x7fffdc14b440, p=0x1b1d400) at /usr/local/include/boost/bind/mem_fn_template.hpp:49
0000004 0x00007ffff682db10 in boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list0> (
    this=0x7fffdc14b450, f=..., a=...) at /usr/local/include/boost/bind/bind.hpp:253
0000005 0x00007ffff682a46b in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator() (
    this=0x7fffdc14b440) at /usr/local/include/boost/bind/bind_template.hpp:20
#6 0x00007ffff6826622 in sigc::adaptor_functor<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > > >::operator() (this=0x7fffdc14b440) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#7 0x00007ffff6822f52 in sigc::internal::slot_call0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >, void>::call_it (rep=0x7fffdc14b410) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
0000008 0x00007ffff29c2632 in ?? () from /usr/lib/libglibmm-2.4.so.1
0000009 0x00007ffff35f06e4 in ?? () from /lib/libglib-2.0.so.0
0000010 0x00007fffed3597aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
0000011 0x00007fffed0ca59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
0000012 0x0000000000000000 in ?? ()

Thread 18 (Thread 0x7fffe2342910 (LWP 18886)):
#0 0x00007fffed0bf633 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
0000001 0x00007ffff35cb299 in ?? () from /lib/libglib-2.0.so.0
#2 0x00007ffff35cba45 in g_main_loop_run () from /lib/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#3 0x00007ffff7b354fb in BaseUI::main_thread (this=0x325f6a0) at ../libs/pbd/base_ui.cc:76
0000004 0x00007ffff7b369ad in sigc::bound_mem_functor0<void, BaseUI>::operator() (this=0x31a65d8) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
0000005 0x00007ffff7b36808 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, BaseUI> >::operator() (this=0x31a65d0)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#6 0x00007ffff7b36561 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, BaseUI>, void>::call_it (rep=0x31a65a0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#7 0x00007ffff29c2632 in ?? () from /usr/lib/libglibmm-2.4.so.1
0000008 0x00007ffff35f06e4 in ?? () from /lib/libglib-2.0.so.0
0000009 0x00007fffed3597aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
0000010 0x00007fffed0ca59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
0000011 0x0000000000000000 in ?? ()

Thread 17 (Thread 0x7fffe04dea30 (LWP 18885)):
#0 0x00007fffed030f05 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
0000001 0x00007fffed033d10 in *__GI_abort () at abort.c:88
#2 0x00007fffed029faa in *__GI___assert_fail (assertion=0x7ffff6de490e "time >= start_ticks", file=<value optimized out>, line=163,
    function=0x7ffff6de89a0 "virtual ARDOUR::nframes_t ARDOUR::SMFSource::read_unlocked(Evoral::EventSink<unsigned int>&, ARDOUR::sframes_t, ARDOUR::sframes_t, ARDOUR::nframes_t, ARDOUR::sframes_t, ARDOUR::sframes_t, ARDOUR::Midi"...) at assert.c:78
#3 0x00007ffff6bf0384 in ARDOUR::SMFSource::read_unlocked (this=0x4762310, destination=..., source_start=705600, start=165375, duration=3072, stamp_offset=705600,
    negative_stamp_offset=0, tracker=0x7fffdc279000) at ../libs/ardour/smf_source.cc:163

0000004 0x00007ffff69e0a3c in ARDOUR::MidiSource::midi_read (this=0x4762310, dst=..., source_start=705600, start=165375, cnt=3072, stamp_offset=705600, negative_stamp_offset=0,
    tracker=0x7fffdc279000) at ../libs/ardour/midi_source.cc:185
0000005 0x00007ffff69d7c52 in ARDOUR::MidiRegion::_read_at (this=0x3881a90, dst=..., position=870975, dur=3072, chan_n=0, mode=ARDOUR::Sustained, tracker=0x7fffdc279000)
    at ../libs/ardour/midi_region.cc:176
#6 0x00007ffff69d78cb in ARDOUR::MidiRegion::read_at (this=0x3881a90, out=..., position=870975, dur=3072, chan_n=0, mode=ARDOUR::Sustained, tracker=0x7fffdc279000)
---Type <return> to continue, or q <return> to quit---
    at ../libs/ardour/midi_region.cc:110
#7 0x00007ffff69cfe7c in ARDOUR::MidiPlaylist::read (this=0x387f640, dst=..., start=870975, dur=3072, chan_n=0) at ../libs/ardour/midi_playlist.cc:169
0000008 0x00007ffff69b978f in ARDOUR::MidiDiskstream::read (this=0x3c8bb90, start=@0x3c8be10, dur=3072, reversed=false) at ../libs/ardour/midi_diskstream.cc:726
0000009 0x00007ffff69b9be5 in ARDOUR::MidiDiskstream::do_refill (this=0x3c8bb90) at ../libs/ardour/midi_diskstream.cc:813
0000010 0x00007ffff6c1efe6 in ARDOUR::Track::do_refill (this=0x3af0990) at ../libs/ardour/track.cc:451
0000011 0x00007ffff6889522 in ARDOUR::Butler::thread_work (this=0x2f2db80) at ../libs/ardour/butler.cc:236
0000012 0x00007ffff6888f0a in ARDOUR::Butler::_thread_work (arg=0x2f2db80) at ../libs/ardour/butler.cc:123
0000013 0x00007ffff7b69474 in fake_thread_start (arg=0x325f080) at ../libs/pbd/pthread_utils.cc:81
0000014 0x00007fffed3597aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#15 0x00007fffed0ca59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
0000016 0x0000000000000000 in ?? ()

Thread 16 (Thread 0x7fffe0c33910 (LWP 18884)):
#0 0x00007fffed0bf633 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:87
0000001 0x00007ffff386ee96 in jack_client_core_wait () from /usr/lib/libjack.so.0
#2 0x00007ffff386efa9 in jack_cycle_wait () from /usr/lib/libjack.so.0
#3 0x00007ffff6816275 in ARDOUR::AudioEngine::process_thread (this=0x1b1d400) at ../libs/ardour/audioengine.cc:420
0000004 0x00007ffff6816048 in ARDOUR::AudioEngine::_process_thread (arg=0x1b1d400) at ../libs/ardour/audioengine.cc:362
0000005 0x00007ffff386f232 in jack_client_thread () from /usr/lib/libjack.so.0
#6 0x00007fffed3597aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#7 0x00007fffed0ca59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
0000008 0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7fffd93d9910 (LWP 18882)):
---Type <return> to continue, or q <return> to quit---
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
0000001 0x00007ffff387047b in mb_thread_func () from /usr/lib/libjack.so.0
#2 0x00007fffed3597aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3 0x00007fffed0ca59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
0000004 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fffd7bd6910 (LWP 18881)):
#0 0x00007fffed0bf633 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
0000001 0x00007fffe010db1f in ?? () from /usr/lib/libpulse.so.0
#2 0x00007fffe00fdbb6 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3 0x00007fffe00fef99 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
0000004 0x00007fffe00ff050 in pa_mainloop_run () from /usr/lib/libpulse.so.0
0000005 0x00007fffe010d92b in ?? () from /usr/lib/libpulse.so.0
#6 0x00007fffd6f38710 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#7 0x00007fffed3597aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
0000008 0x00007fffed0ca59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
0000009 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fffe477f910 (LWP 18870)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
0000001 0x00007ffff67aafab in ARDOUR::Analyser::work () at ../libs/ardour/analyser.cc:85
#2 0x00007ffff67aacdd in analyser_work () at ../libs/ardour/analyser.cc:49
#3 0x0000000000e224ab in sigc::pointer_functor0<void>::operator()() const ()
0000004 0x0000000000e209f6 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
---Type <return> to continue, or q <return> to quit---
0000005 0x0000000000e1e2b7 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#6 0x00007ffff29c2632 in ?? () from /usr/lib/libglibmm-2.4.so.1
#7 0x00007ffff35f06e4 in ?? () from /lib/libglib-2.0.so.0
0000008 0x00007fffed3597aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
0000009 0x00007fffed0ca59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
0000010 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fffe4f80910 (LWP 18869)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
0000001 0x00007ffff6c01ae3 in peak_thread_work () at ../libs/ardour/source_factory.cc:69
#2 0x0000000000e224ab in sigc::pointer_functor0<void>::operator()() const ()
#3 0x0000000000e209f6 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
0000004 0x0000000000e1e2b7 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
0000005 0x00007ffff29c2632 in ?? () from /usr/lib/libglibmm-2.4.so.1
#6 0x00007ffff35f06e4 in ?? () from /lib/libglib-2.0.so.0
#7 0x00007fffed3597aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
0000008 0x00007fffed0ca59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
0000009 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fffe5781910 (LWP 18868)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
0000001 0x00007ffff6c01ae3 in peak_thread_work () at ../libs/ardour/source_factory.cc:69
#2 0x0000000000e224ab in sigc::pointer_functor0<void>::operator()() const ()
#3 0x0000000000e209f6 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
---Type <return> to continue, or q <return> to quit---
0000004 0x0000000000e1e2b7 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
0000005 0x00007ffff29c2632 in ?? () from /usr/lib/libglibmm-2.4.so.1
#6 0x00007ffff35f06e4 in ?? () from /lib/libglib-2.0.so.0
#7 0x00007fffed3597aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
0000008 0x00007fffed0ca59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
0000009 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7fa0820 (LWP 18865)):
#0 0x00007fffed0bf633 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=19) at ../sysdeps/unix/sysv/linux/poll.c:87
0000001 0x00007ffff35cb299 in ?? () from /lib/libglib-2.0.so.0
#2 0x00007ffff35cba45 in g_main_loop_run () from /lib/libglib-2.0.so.0
#3 0x00007ffff1e52647 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
0000004 0x00007ffff58b77d6 in Gtkmm2ext::UI::run (this=0x17826d0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:246
0000005 0x0000000000c9cbf9 in main (argc=1, argv=0x7fffffffd588) at ../gtk2_ardour/main.cc:433
(gdb)

lincoln

2010-05-23 21:02

reporter   ~0007997

To reproduce this, edit a midi region (move a note or add a note) then save the session. On the next transport start Ardour 3 will crash.

danboid

2010-05-24 09:26

reporter   ~0007998

Last edited: 2010-05-24 09:26

I hadn't updated JACK in a couple of weeks and after doing so I can actually get A3/zyn to play back more than once but it does crash consistently with the error I posted originally in this thread if I do what lincoln described in the previous note ie save session then push play.

cth103

2010-05-24 15:00

administrator   ~0008001

Saving the session after the edit appears to be critical.

cth103

2010-05-24 16:04

administrator   ~0008003

Should be fixed in SVN.

danboid

2010-05-24 17:55

reporter   ~0008005

I get a crash consistently on the second time I play a MIDI region, after pushing play but before zyn gets to receive/play a note under 7148 and this is without making any saves, followed by an error like this:

Moving region 173
Done with TV, top = 0 from = 0
No matching note for 0x7fb59c5e1f00
No matching note for 0x7fb59c5a8a00
No matching note for 0x7fb59c5a8b50
No matching note for 0x7fb59c5e8c00
Midi 1-5.mid drop model
ardour-3.0: ../libs/ardour/smf_source.cc:168: virtual ARDOUR::nframes_t ARDOUR::SMFSource::read_unlocked(Evoral::EventSink<unsigned int>&, ARDOUR::sframes_t, ARDOUR::sframes_t, ARDOUR::nframes_t, ARDOUR::sframes_t, ARDOUR::sframes_t, ARDOUR::MidiStateTracker*) const: Assertion `time >= start_ticks' failed.
Aborted

danboid

2010-05-24 22:42

reporter   ~0008009

I do believe we have playback yet again in 7149

Thanks cth103!

cth103

2010-05-24 22:51

administrator   ~0008010

Cool.

system

2020-04-19 20:14

developer   ~0022081

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2010-05-23 13:31 danboid New Issue
2010-05-23 18:09 lincoln Note Added: 0007996
2010-05-23 21:02 lincoln Note Added: 0007997
2010-05-24 09:26 danboid Note Added: 0007998
2010-05-24 09:26 danboid Note Edited: 0007998
2010-05-24 14:59 cth103 Status new => confirmed
2010-05-24 15:00 cth103 Note Added: 0008001
2010-05-24 16:04 cth103 Note Added: 0008003
2010-05-24 16:04 cth103 Status confirmed => feedback
2010-05-24 17:55 danboid Note Added: 0008005
2010-05-24 22:42 danboid Note Added: 0008009
2010-05-24 22:51 cth103 cost => 0.00
2010-05-24 22:51 cth103 Note Added: 0008010
2010-05-24 22:51 cth103 Status feedback => resolved
2010-05-24 22:51 cth103 Resolution open => fixed
2010-05-24 22:51 cth103 Assigned To => cth103
2020-04-19 20:14 system Note Added: 0022081
2020-04-19 20:14 system Status resolved => closed