[PolyORB-users] Storage error with simple server

Frédéric Praca frederic.praca at free.fr
Wed Nov 7 23:11:47 CET 2018


Le 06/11/2018 à 15:56, Thomas Quinot a écrit :
> * Frédéric Praca, 2018-11-01 :
>
>> I have a PolyORB server which is running for a few minutes then fails
>> with the following
>>
>> polyorb.orb: ORB.Run got exception:
>> polyorb.orb: raised STORAGE_ERROR : s-intman.adb:136 explicit raise
>>
>> CBSG server raised raised STORAGE_ERROR : s-intman.adb:136 explicit raise
>>
>>
>> raised STORAGE_ERROR : s-intman.adb:136 explicit raise
>>
>>
>> It's using the Thread_Per_Session_Server setup and is quite simple.
>>
>> Is there a way to investigate the problem  or does anyone know what is
>> going on?
> Run the server under gdb, and when it breaks on segfault, print a
> backtrace to identify the origin of it.
>

Hello Thomas,

here is the backtrace.7Thread 1 "server" received signal SIGSEGV, 
Segmentation fault.
polyorb.annotations.get_note_if_present (np=..., n=...) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-annotations.adb:83
(gdb) bt
#0  polyorb.annotations.get_note_if_present (np=..., n=...) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-annotations.adb:83
#1  0x000000000056e469 in polyorb.annotations.get_note (np=..., n=...) 
at /home/fred/Dev/Ada/PolyORB/src/polyorb-annotations.adb:106
#2  0x00000000005c4256 in 
polyorb.orb.thread_per_session.handle_request_execution (p=<optimized 
out>, orb=<optimized out>, rj=0xa4e110, <pL>=<optimized out>, 
<rjL>=<optimized out>) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-orb-thread_per_session.adb:219
#3  0x00000000005ca061 in polyorb.orb.handle_message (orb=0xa253b0, 
msg=..., <orbL>=0) at /home/fred/Dev/Ada/PolyORB/src/polyorb-orb.adb:1261
#4  0x000000000059baff in polyorb.components.emit 
(port=port at entry=0xa253b0, msg=...) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-components.adb:104
#5  0x000000000059bc69 in polyorb.components.emit_no_reply 
(port=0xa253b0, msg=...) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-components.adb:121
#6  0x00000000005c5a05 in polyorb.orb.queue_request_to_handler 
(orb=<optimized out>, msg=..., <orbL>=<orbL>@entry=0) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-orb.adb:1465
#7  0x0000000000569e1a in polyorb.protocols.giop.queue_request 
(sess=sess at entry=0xa4e350, req=req at entry=0xa4eaf0, req_id=3, 
<sessL>=<sessL>@entry=0) at 
/home/fred/Dev/Ada/PolyORB/src/giop/polyorb-protocols-giop.adb:1114
#8  0x0000000000563fec in 
polyorb.protocols.giop.giop_1_2.process_request (<sL>=0, s=0xa4e350) at 
/home/fred/Dev/Ada/PolyORB/src/giop/polyorb-protocols-giop-giop_1_2.adb:624
#9  polyorb.protocols.giop.giop_1_2.process_message (implem=<optimized 
out>, s=0xa4e350, <implemL>=<optimized out>, <sL>=<optimized out>) at 
/home/fred/Dev/Ada/PolyORB/src/giop/polyorb-protocols-giop-giop_1_2.adb:244
#10 0x0000000000567d8f in polyorb.protocols.giop.handle_data_indication 
(sess=0xa4e350, data_amount=<optimized out>, error=..., 
<sessL>=<optimized out>) at 
/home/fred/Dev/Ada/PolyORB/src/giop/polyorb-protocols-giop.adb:236
#11 0x00000000005ef2e8 in polyorb.protocols.handle_message 
(sess=0xa4e350, s=..., <sessL>=0) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-protocols.adb:105
#12 0x000000000059baff in polyorb.components.emit (port=0xa4e350, 
msg=...) at /home/fred/Dev/Ada/PolyORB/src/polyorb-components.adb:104
#13 0x00000000005ab6d5 in polyorb.filters.slicers.handle_message 
(f=0xa542c0, s=..., <fL>=<optimized out>) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-filters-slicers.adb:143
#14 0x000000000059baff in polyorb.components.emit (port=0xa542c0, 
msg=...) at /home/fred/Dev/Ada/PolyORB/src/polyorb-components.adb:104
#15 0x0000000000633227 in polyorb.transport.connected.handle_message 
(te=0xa50880, msg=..., <teL>=<optimized out>) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-transport-connected.adb:154
#16 0x000000000059baff in polyorb.components.emit (port=0xa50880, 
msg=...) at /home/fred/Dev/Ada/PolyORB/src/polyorb-components.adb:104
#17 0x0000000000635301 in polyorb.transport.handlers.handle_event 
(h=0xa508e0, <hL>=<optimized out>) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-transport-handlers.adb:65
#18 0x00000000005c7516 in polyorb.orb.perform_work (<orbL>=<optimized 
out>, this_task=..., orb=<optimized out>) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-orb.adb:275
#19 polyorb.orb.run (orb=0xa253b0, request=<optimized out>, 
may_exit=<optimized out>, <orbL>=<optimized out>) at 
/home/fred/Dev/Ada/PolyORB/src/polyorb-orb.adb:519
#20 0x0000000000407286 in server ()


FYI, the code is working well with Thread_Per_Request_Server setup.


Regards

Fred



More information about the PolyORB-users mailing list