Skip site navigation (1)Skip section navigation (2)
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>