Opened 17 months ago
Closed 17 months ago
#805 closed Bug Report (fixed)
ingen segfaults on exit
| Reported by: | agraef | Owned by: | dave |
|---|---|---|---|
| Priority: | major | Component: | Ingen |
| Keywords: | Cc: |
Description
This isn't 100% reproducible, but quite often ingen, if I load a patch with it and then immediately quit ingen, segfaults in main() at main.cpp:248 (gdb backtrace attached). Sometimes it also bails out with an assertion like this:
ingen: /usr/include/boost/intrusive/detail/utilities.hpp:356: void boost::intrusive::detail::destructor_impl(Hook&, boost::intrusive::detail::link_dispatch<(boost::intrusive::link_mode_type)1u>) [with Hook = boost::intrusive::detail::generic_hook<boost::intrusive::get_list_node_algo<void*>, boost::intrusive::default_tag, (boost::intrusive::link_mode_type)1u, 1>]: Assertion `!hook.is_linked()' failed. Aborted
In either case, commenting out the 'delete world;' at main.cpp:248 fixes the problem. It seems that there's some double deallocation going on there, but I haven't looked into this very deeply.
I've been able to reproduce this issue fairly reliably with the attached patch, created with the latest ingen revision.
Attachments (3)
Change History (5)
Changed 17 months ago by agraef
comment:1 Changed 17 months ago by agraef
Addendum: I don't know whether that's related, but I get a very similar segfault when _window_factory->clear() gets called in App::detach() at App.cpp:184. This is 100% reproducible for me. Simply open a patch (test.ingen from above will do) and disconnect the engine (Windows / Engine / Disconnect).
Also, when starting ingen -eg without a patch, the disconnect works, but then trying to reconnect gives the following assertion:
ingen: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T* boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T = Ingen::ServerInterface]: Assertion `px != 0' failed. Aborted
BTW, I'm running all this on Ubuntu 11.04 (x86_64) with the latest lv2 and ingen + support libraries from svn. Jack is version 0.121.3.
comment:2 Changed 17 months ago by dave
- Resolution set to fixed
- Status changed from new to closed
Fixed in r3942.

gdb backtrace