Hi Johannes,
I have tracked down the issue to the Io_mem_dataspace_capability being invalid. The segfault is caused by _dataspace_size() being called on an invalid capability in region_map_mmap.cc.
just a shot in the dark: Have you called 'Rpc_entrypoint::manage(ds)' for your dataspace object? Or to put the question differently: Is the dataspace capability that you return in 'Io_mem_session_component::dataspace()' valid inside core? If not, you have most likely missed to associate your 'Dataspace_component' object with core's entrypoint.
I looked into other implementations of base-linux that use the Dataspace_capability. They all just instanciate and return it. This is also the case for the Io_mem_dataspace_capability yet it seems to be invalid by default. I tried to return a Dataspace_capability but it can't be casted. As far as I understand it I have to either validate the Io_mem_dataspace_capability or cast to it.
Could you point me to a branch where I can have look at the code and reproduce the problem?
Cheers Norman