Rosegarden finally crashed. Thanks to the years of diligent stabilization work by Ted Felix (am I overlooking anyone else who worked on improving stability?) crashes have become so rare that this caught me totally by surprise.
I used the eraser tool to delete a segment while the transport was rolling, and boom. I tried to repeat the crash, and failed to do so. I wasn't anticipating a crash, so I wasn't paying careful attention to my steps. I could be overlooking something I did, and it might be possible to repeat the crash, but if so, I can't figure out how. Let me also add that along the way I've noticed various things that seemed wrong to me, and I've gone off to investigate. In a couple of different cases, I backed out one of Tito's changes. Every time I did that, I found the other behavior to be worse, so I put the fix back in. Tito's work is holding up well in the face of more careful scrutiny. I'm still suspicious of the new duration-related code. I don't think that solution is fully baked yet, but it's clearly better than the alternative, so I decided to try to finish cooking it instead of reverting it. I need to file some bug reports, but I'm in a really creative mood at the moment, so I'm deferring that for another time. I'd also like to add that now that I've gotten used to the new autoscroll feel, it seems consistent and manageable. I don't think it will be necessary to adjust anything. I know the original code was full to brimming with legacy cruft, and I appreciate the lengths Ted went to in order to put together this new implementation. It's quite different, yes, but it seems to be solid, thoughtfully-designed, and consistent. #0 0x000000000047f7a0 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, Rosegarden::Track*>, std::_Select1st<std::pair<unsigned int const, Rosegarden::Track*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, Rosegarden::Track*> > >::_M_begin (this=0x8) at /usr/include/c++/4.8/bits/stl_tree.h:508 #1 0x000000000047c4c8 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, Rosegarden::Track*>, std::_Select1st<std::pair<unsigned int const, Rosegarden::Track*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, Rosegarden::Track*> > >::find (this=0x8, __k=@0x7f573b6ac994: 2) at /usr/include/c++/4.8/bits/stl_tree.h:1805 #2 0x00000000004799a1 in std::map<unsigned int, Rosegarden::Track*, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, Rosegarden::Track*> > >::find (this=0x8, __x=@0x7f573b6ac994: 2) at /usr/include/c++/4.8/bits/stl_map.h:837 #3 0x00000000004739f1 in Rosegarden::Composition::getTrackById (this=0x0, track=2) at src/base/Composition.cpp:1646 #4 0x0000000000525783 in Rosegarden::RosegardenDocument::getInstrument (this=0x1c8c150, segment=0x28e1390) at src/document/RosegardenDocument.cpp:3042 #5 0x0000000000882101 in Rosegarden::InternalSegmentMapper::makeReady (this=0x2aa19c0, inserter=..., time=...) at src/gui/seqmanager/InternalSegmentMapper.cpp:400 #6 0x00000000005d60e0 in Rosegarden::MappedEventBuffer::iterator::makeReady (this=0x2aa5c00, inserter=..., time=...) at src/gui/seqmanager/MappedEventBuffer.h:384 #7 0x00000000005d56d5 in Rosegarden::MappedBufMetaIterator::fetchEventsNoncompeting (this=0x7f573400b6b8, inserter=..., startTime=..., endTime=...) at src/sound/MappedBufMetaIterator.cpp:303 #8 0x00000000005d53d6 in Rosegarden::MappedBufMetaIterator::fetchEvents (this=0x7f573400b6b8, inserter=..., startTime=..., endTime=...) at src/sound/MappedBufMetaIterator.cpp:212 #9 0x0000000000552801 in Rosegarden::RosegardenSequencer::getSlice (this=0x7f573400b640, mappedEventList=..., start=..., end=..., firstFetch=false) at src/sequencer/RosegardenSequencer.cpp:1175 #10 0x0000000000552752 in Rosegarden::RosegardenSequencer::fetchEvents (this=0x7f573400b640, mappedEventList=..., start=..., end=..., firstFetch=false) at src/sequencer/RosegardenSequencer.cpp:1153 #11 0x0000000000552ca3 in Rosegarden::RosegardenSequencer::keepPlaying (this=0x7f573400b640) at src/sequencer/RosegardenSequencer.cpp:1254 #12 0x000000000055bb8a in Rosegarden::SequencerThread::run (this=0x1ee4fd0) at src/sequencer/SequencerThread.cpp:72 #13 0x00007f5751d8732f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #14 0x00007f57515f6182 in start_thread (arg=0x7f573b6ad700) at pthread_create.c:312 #15 0x00007f574f36247d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 -- D. Michael McIntyre ------------------------------------------------------------------------------ _______________________________________________ Rosegarden-devel mailing list Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel