Date: Tue, 24 Nov 2015 15:56:14 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 204786] devel/libcxxrt: crash when mixing different languages with exceptions Message-ID: <bug-204786-13@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204786 Bug ID: 204786 Summary: devel/libcxxrt: crash when mixing different languages with exceptions Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: freebsd-ports-bugs@FreeBSD.org Reporter: mejedi@gmail.com Unwind API was specifically designed to allow mixed language environments where exceptions from different runtimes interoperate. One particular example is C++/LuaJit combination. Due to the issues in libcxxrt, databases/tarantool crashes when linked against libcxxrt. __cxa_free_exception does the math wrong when converting from _Unwind_Exception* to __cxx_exception*. _Unwind_Exception instance is actually enclosed within __cxx_exception structure, the last member. The resulting pointer is off by -32 bytes. Leads to a crash in _Unwind_DeleteException when LuaJIT is releasing a C++ exception. -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-204786-13>