Christian Schoenebeck wrote: > Es geschah am Tuesday 03 June 2008 als Juuso Alasuutari schrieb: >> When I load a gig file in Qsampler and then click the instrument editing >> button, linuxsampler or possibly some other thing crashes. Here's a >> paste of the output from Qsampler's message window (line 47 is the first >> one after clicking on 'Edit'): >> >> http://pastebin.ca/1038163 >> >> All components of LinuxSampler and Qsampler are fresh from cvs. > > The output is not very helpful because LS wasn't compiled with debugging > support (symbols). However in most cases the crash you described is caused by > a version inconsistency between gigedit and LS. My guess is you updated LS > without updating gigedit afterwards. Another possibility might be that > there's still (another) old gigedit plugin > under /usr/lib/linuxsampler/plugins/, if so delete it!
Hi, and sorry for taking so long to respond. I'd blame the summertime, but of course I carry the same head on my shoulders through the year, so... :) I'm positive that this isn't caused by a version mismatch; I've built both gigedit and LS directly from cvs. I once again tried to use the Edit functionality, this time from JSampler, and got the same crash. Closer inspection reveals that LinuxSampler segfaults, but luckily I have proper debugging info this time. Here's the output from LS leading up to the crash, copied & pasted from gdb: RenderAudio(Samples=64) Condition:: constructor, bInitialCondition=0 RenderAudio(Samples=64) OK Condition:: constructor, bInitialCondition=0 Found matching editor 'gigedit' for instrument ('/media/samples/drum/sets/psy_909.gig', 0) having data structure ('libgig','3.2.1') Condition:: constructor, bInitialCondition=0 gig::Engine: Received instrument update message. gig::Engine: disabling conditionserver:Push() requesting change to 1 Condition::WaitIf: bCondition=0 TimeoutSeconds=2 TimeoutNanoSeconds=0 Condition::Waitif() -> LOCK() Condition::Waitif() -> LOCK() passed Condition::Waitif() -> waiting for 'true' condition with timeout RenderAudio(Samples=64) conditionserver:Pop() change requested Condition::Set() -> LOCK() Condition::Set() -> LOCK() passed Condition::Set() -> broadcasting 'true' condition conditionserver:Pop() condition now: 1 gig::Engine: engine disabled (val=1) Condition::Waitif() -> awakened from 'true' condition waiting Condition::WaitAndUnlockIf() -> UNLOCK() Condition::WaitAndUnlockIf() -> UNLOCK() passed Condition::WaitIf: bCondition=1 TimeoutSeconds=0 TimeoutNanoSeconds=0 Condition::Waitif() -> LOCK() Condition::Waitif() -> LOCK() passed Condition::Set() -> LOCK() Condition::Waitif() -> waiting for 'false' condition Condition::Set() -> LOCK() passed Condition::Set() -> broadcasting 'false' condition Condition::Waitif() -> awakened from 'false' condition waiting [Thread 0xb0c37b90 (LWP 7018) exited] RenderAudio(Samples=64) gig::Engine: engine disabled (val=1) [New Thread 0xafd23b90 (LWP 7020)] RenderAudio(Samples=64) gig::Engine: engine disabled (val=1) Condition::WaitIf: bCondition=0 TimeoutSeconds=0 TimeoutNanoSeconds=0 Condition::Waitif() -> LOCK() Condition::Waitif() -> LOCK() passed Condition::Waitif() -> waiting for 'true' condition Condition::Set() -> LOCK() Condition::Set() -> LOCK() passed Condition::Set() -> broadcasting 'true' condition Disk thread running Condition::Waitif() -> awakened from 'true' condition waiting Freeing gig file from memory...RenderAudio(Samples=64) gig::Engine: engine disabled (val=1) OK Loading gig file '/media/samples/drum/sets/psy_909.gig'...OK Loading gig instrument ('/media/samples/drum/sets/psy_909.gig',0)...gig::InstrumentResourceManager: progress 0.000000gig::EngineChannel: progress 0gig::InstrumentResourceManager: progress 0.000000gig::EngineChannel: progress 0RenderAudio(Samples=64) gig::Engine: engine disabled (val=1) RenderAudio(Samples=64) gig::Engine: engine disabled (val=1) RenderAudio(Samples=64) gig::Engine: engine disabled (val=1) gig::InstrumentResourceManager: progress 0.055556gig::EngineChannel: progress 5gig::InstrumentResourceManager: progress 0.111111gig::EngineChannel: progress 10gig::InstrumentResourceManager: progress 0.166667gig::EngineChannel: progress 15gig::InstrumentResourceManager: progress 0.222222gig::EngineChannel: progress 20gig::InstrumentResourceManager: progress 0.277778gig::EngineChannel: progress 25RenderAudio(Samples=64) gig::Engine: engine disabled (val=1) gig::InstrumentResourceManager: progress 0.333333gig::EngineChannel: progress 30gig::InstrumentResourceManager: progress 0.333333gig::EngineChannel: progress 30gig::InstrumentResourceManager: progress 0.333333gig::EngineChannel: progress 30gig::InstrumentResourceManager: progress 0.333333gig::EngineChannel: progress 30gig::InstrumentResourceManager: progress 0.333333gig::EngineChannel: progress 30gig::InstrumentResourceManager: progress 0.444444gig::EngineChannel: progress 40gig::InstrumentResourceManager: progress 0.555556gig::EngineChannel: progress 50RenderAudio(Samples=64) gig::Engine: engine disabled (val=1) gig::InstrumentResourceManager: progress 0.666667gig::EngineChannel: progress 60gig::InstrumentResourceManager: progress 0.777778gig::EngineChannel: progress 69gig::InstrumentResourceManager: progress 0.888889gig::EngineChannel: progress 80RenderAudio(Samples=64) gig::Engine: engine disabled (val=1) gig::InstrumentResourceManager: progress 1.000000gig::EngineChannel: progress 89gig::InstrumentResourceManager: progress 1.000000gig::EngineChannel: progress 89gig::InstrumentResourceManager: progress 1.000000gig::EngineChannel: progress 89OK Caching initial samples...gig::EngineChannel: progress 89C Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb6d7eb90 (LWP 6865)] 0xb7fdab94 in LinuxSampler::gig::InstrumentResourceManager::CacheInitialSamples (this=0xb808eba0, pSample=0x80a7428, pEngineChannel=0x811fc98) at InstrumentResourceManager.cpp:624 624 InstrumentResourceManager.cpp: No such file or directory. in InstrumentResourceManager.cpp And here's the backtrace: #0 0xb7fdab94 in LinuxSampler::gig::InstrumentResourceManager::CacheInitialSamples (this=0xb808eba0, pSample=0x80a7428, pEngineChannel=0x811fc98) at InstrumentResourceManager.cpp:624 pEngine = <value optimized out> #1 0xb7fdd876 in LinuxSampler::gig::InstrumentResourceManager::Create (this=0xb808eba0, Key= {FileName = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb6d7a824 "�S\n\b"}}, Index = 135396552}, pConsumer=0x811fcc8, [EMAIL PROTECTED]) at InstrumentResourceManager.cpp:515 localProgress = 0.899999976 pGig = (struct gig::File *) 0x80a5240 callbackArg = {pManager = 0xb808eba0, pInstrumentKey = 0xb6d7a824} progress = { callback = 0xb7fdb578 <LinuxSampler::gig::InstrumentResourceManager::OnInstrumentLoadingProgress(gig::progress_t*)>, factor = 4.37106472e-34, custom = 0xb6d7a79c, __range_min = 0, __range_max = 1} pInstrument = (struct gig::Instrument *) 0x80a9bf0 iRegion = 0 pRgn = (struct gig::Region *) 0x80aa778 pEntry = <value optimized out> #2 0xb7fdc106 in LinuxSampler::gig::InstrumentResourceManager::OnBorrow (this=0xb808eba0, pResource=0x80ab1e0, pConsumer=0x811fcc8, [EMAIL PROTECTED]) at ../../common/ResourceManager.h:314 maxSamplesPerCycle = 1886545260 #3 0xb7fe3555 in LinuxSampler::ResourceManager<LinuxSampler::InstrumentManager::instrument_id_t, gig::Instrument>::Borrow (this=0xb808eba4, Key= {FileName = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb6d7a984 "�S\n\b"}}, Index = 135396552}, pConsumer=0x811fcc8, bLock=true) at ../../common/ResourceManager.h:241 No locals. #4 0xb7fdccb2 in LinuxSampler::gig::InstrumentResourceManager::LaunchInstrumentEditor (this=0xb808eba0, ID= {FileName = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb6d7aa30 "�S\n\b"}}, Index = 135348480}) at InstrumentResourceManager.cpp:198 sDataType = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x811410c "libgig"}} sDataVersion = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x80a5334 "3.2.1"}} vEditors = {<std::_Vector_base<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >> = { _M_impl = {<std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<__gnu_cxx::new_allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >> = {<No data fields>},<No data fields>}, _M_start = 0x8114478, _M_finish = 0x811447c, _M_end_of_storage = 0x811447c}}, <No data fields>} pEditor = (class LinuxSampler::InstrumentEditor *) 0x811fce0 pProxy = (LinuxSampler::gig::InstrumentEditorProxy *) 0x811fcc8 pInstrument = (struct gig::Instrument *) 0xb6d7aa10 engineChannels = {_M_t = { _M_impl = {<std::allocator<std::_Rb_tree_node<LinuxSampler::gig::EngineChannel*> >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<LinuxSampler::gig::EngineChannel*> >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<LinuxSampler::gig::EngineChannel*, LinuxSampler::gig::EngineChannel*, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x0, _M_right = 0xb6d7aa08}, _M_node_count = 0}}} #5 0xb7f9d1e2 in LSCPServer::EditSamplerChannelInstrument (this=0x7072656c, uiSamplerChannel=3067587120) at lscpserver.cpp:2463 pSamplerChannel = (class LinuxSampler::SamplerChannel *) 0x7072656c pInstrumentManager = (class LinuxSampler::InstrumentManager *) 0xb808eba0 instrumentID = {FileName = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x80a53d4 "/media/samples/drum/sets/psy_909.gig"}}, Index = 0} pEngineChannel = (class LinuxSampler::EngineChannel *) 0xb6d7aa30 pEngine = (class LinuxSampler::Engine *) 0x7072656c result = {storage = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb7dd5634 ""}}, count = 0, result_type = 0, result_index = -1} Thanks, Juuso ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Linuxsampler-devel mailing list Linuxsampler-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel