- gras_msg_handle(600.0);
- /* 6. Wait for the exception raiser incomming messages */
- gras_msg_handle(600.0);
- /* doxygen_ignore */
- for (i=0; i<5; i++)
- gras_msg_handle(600.0);
- /* doxygen_resume */
-
- /* 7. Wait for the exception forwarder incomming messages (twice, to see if it triggers bugs) */
- gras_msg_handle(600.0);
- gras_msg_handle(600.0);
+
+ /* BUG: if the server is gone before the forwarder tries to connect,
+ it dies awfully with :
+==15875== Invalid read of size 4
+==15875== at 0x408B805: find_port (transport_plugin_sg.c:68)
+==15875== by 0x408BD64: gras_trp_sg_socket_client (transport_plugin_sg.c:115)
+==15875== by 0x404A38B: gras_socket_client_ext (transport.c:255)
+==15875== by 0x404A605: gras_socket_client (transport.c:288)
+==15875== by 0x804B49D: forwarder (rpc.c:245)
+==15875== by 0x80491FB: launch_forwarder (_rpc_simulator.c:52)
+==15875== by 0x406780B: __context_wrapper (context.c:164)
+==15875== by 0x41A6CB3: pthread_start_thread (manager.c:310)
+==15875== by 0x42AA549: clone (clone.S:119)
+==15875== Address 0x433B49C is 44 bytes inside a block of size 48 free'd
+==15875== at 0x401CF46: free (vg_replace_malloc.c:235)
+==15875== by 0x408F1FA: gras_process_exit (sg_process.c:117)
+==15875== by 0x4049386: gras_exit (gras.c:64)
+==15875== by 0x804B936: server (rpc.c:345)
+==15875== by 0x80492B1: launch_server (_rpc_simulator.c:69)
+==15875== by 0x406780B: __context_wrapper (context.c:164)
+==15875== by 0x41A6CB3: pthread_start_thread (manager.c:310)
+==15875== by 0x42AA549: clone (clone.S:119)
+ */
+ while (!sdata->done) {
+ gras_msg_handle(600.0);
+ exception_catching();
+ }