Hi,
I think we probably need a different malloc() implementation (or a Genode-specific __cxa_allocate_exception() implementation) in the cxx lib that doesn't cause exceptions to be thrown, because what your stack trace shows is that with the current implementation we can get an exception thrown inside init_exception_handling() itself and also potentially infinite recursive calls of malloc() .
For now, perhaps you can find out why this particular exception is thrown in Genode::Ipc_client::_call() (in base-fiasco/src/base/ipc/ipc.cc)?
Christian