Hello Sebastian, I moved sigh to the member attributes [1], but without success. I also tried to use a heap to store the Signal_handler, also without success.
[1] https://github.com/702nADOS/genode-CheckpointRestore-SharedMemory/blob/93eaec436ce9b6d3b3a6663558bff9af925ae70f/src/test/fault_handler/main.cc#L19 I am using run script [2], if it helps. [2] https://github.com/702nADOS/genode-CheckpointRestore-SharedMemory/blob/93eaec436ce9b6d3b3a6663558bff9af925ae70f/run/fault_handler.run Kind regards, Denis On 30.08.2016 14:36, Sebastian Sumpf wrote: > Hi Denis, > >> Signal_handler<Main> sigh = {env.ep(), *this, &Main::_handle_fault}; > > The line above, creates the Signal_handler on the stack and destructs > this handler as soon as the 'Main' constructor is finished. > > Therefore, 'sigh' should be a member of the 'Main' class. > > Regards, > > Sebastian > > On 08/30/2016 02:10 PM, Denis Huber wrote: >> Dear Genode community, >> >> in Genode 16.05 the old usage of Signal_receivers and Signal_contexts is >> considered deprecated. Instead Signal_handler and Signal_transmitter >> shall be used. >> >> I am trying to use a Signal_handler as a fault handler for env's address >> space. I wrote a short test to illustrate the problem [1]. >> >> [1] >> https://github.com/702nADOS/genode-CheckpointRestore-SharedMemory/blob/c9a5a1f999a2ce1c6ffd5c316eee127c93d87308/src/test/fault_handler/main.cc >> >> The output of [1] is as follows: >> " >> [init -> pf-signal_handler] --- pf-signal_handler started --- >> no RM attachment (WRITE pf_addr=1000 pf_ip=100061c from 2ae000) >> Genode::Pager_entrypoint::entry()::<lambda(Genode::Pager_object*)>: >> Could not resolve pf=1000 ip=100061c >> " >> >> The signal handler was registered correctly, because the line >> " >> Genode::Core_pd_session_component::submit(Genode::Capability<Genode::Signal_context>, >> unsigned int)::<lambda(Genode::Signal_context_component*)>: invalid >> signal-context capability >> " >> is missing. However, the method _handle_fault() is never entered. What >> am I doing wrong? >> >> >> Kind regards, >> Denis >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> genode-main mailing list >> genode-main@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/genode-main >> > > > ------------------------------------------------------------------------------ > _______________________________________________ > genode-main mailing list > genode-main@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/genode-main > ------------------------------------------------------------------------------ _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main