Bug 3699 - InterfaceRepo/Persistence_Test crashes the IFR
Summary: InterfaceRepo/Persistence_Test crashes the IFR
Status: ASSIGNED
Alias: None
Product: TAO
Classification: Unclassified
Component: Interface Repository (show other bugs)
Version: 2.4.0
Hardware: All Linux
: P3 normal
Assignee: DOC Center Support List (internal)
URL:
Depends on:
Blocks:
 
Reported: 2009-06-12 09:44 CDT by Adam Mitz
Modified: 2018-01-15 11:21 CST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Mitz 2009-06-12 09:44:39 CDT
When the 2nd IFR instance is cleaning up the data, valgrind reports an error here:

==7017== Invalid read of size 4
==7017==    at 0x49C8F5A: ACE_Hash_Map_Manager_Ex<ACE_Configuration_ExtId, ACE_Configuration_Value_IntId, ACE_Hash<ACE_Configuration_ExtId>, ACE_Equal_To<ACE_Configuration_ExtId>, ACE_Null_Mutex>::unbind_all_i() (in /build/isisbuilds/NoInline/ACE_wrappers/ace/libACE.so.5.6.9)
==7017==    by 0x49C902C: ACE_Hash_Map_Manager_Ex<ACE_Configuration_ExtId, ACE_Configuration_Value_IntId, ACE_Hash<ACE_Configuration_ExtId>, ACE_Equal_To<ACE_Configuration_ExtId>, ACE_Null_Mutex>::close_i() (in /build/isisbuilds/NoInline/ACE_wrappers/ace/libACE.so.5.6.9)
==7017==    by 0x49C90EC: ACE_Hash_Map_Manager_Ex<ACE_Configuration_ExtId, ACE_Configuration_Value_IntId, ACE_Hash<ACE_Configuration_ExtId>, ACE_Equal_To<ACE_Configuration_ExtId>, ACE_Null_Mutex>::close() (in /build/isisbuilds/NoInline/ACE_wrappers/ace/libACE.so.5.6.9)
==7017==    by 0x49C611A: ACE_Configuration_Heap::remove_section(ACE_Configuration_Section_Key const&, char const*, bool) (in /build/isisbuilds/NoInline/ACE_wrappers/ace/libACE.so.5.6.9)
==7017==    by 0x41268E9: TAO_Container_i::destroy_defintions_i() (in /build/isisbuilds/NoInline/ACE_wrappers/TAO/orbsvcs/orbsvcs/libTAO_IFRService.so.1.6.9)
==7017==    by 0x4124799: TAO_Container_i::destroy_i() (in /build/isisbuilds/NoInline/ACE_wrappers/TAO/orbsvcs/orbsvcs/libTAO_IFRService.so.1.6.9)
==7017==    by 0x4198D5D: TAO_StructDef_i::destroy_i() (in /build/isisbuilds/NoInline/ACE_wrappers/TAO/orbsvcs/orbsvcs/libTAO_IFRService.so.1.6.9)
==7017==    by 0x41995C3: TAO_StructDef_i::destroy() (in /build/isisbuilds/NoInline/ACE_wrappers/TAO/orbsvcs/orbsvcs/libTAO_IFRService.so.1.6.9)

Followed by a crash here:
==7017== Jump to the invalid address stated on the next line
==7017==    at 0x3B: ???
==7017==    by 0x49C902C: ACE_Hash_Map_Manager_Ex<ACE_Configuration_ExtId, ACE_Configuration_Value_IntId, ACE_Hash<ACE_Configuration_ExtId>, ACE_Equal_To<ACE_Configuration_ExtId>, ACE_Null_Mutex>::close_i() (in /build/isisbuilds/NoInline/ACE_wrappers/ace/libACE.so.5.6.9)
Comment 1 Jeff Parsons 2009-06-12 13:57:54 CDT
In my Linux workspace, I get a COMM_FAILURE exception, which I suppose means that the IFR has crashed and doesn't reply to the destroy() call in question. In my Windows workspace, the test runs fine.

I don't see any recent entries in the changelogs, either to ace/Configuration.cpp or to the IFR code, that seems at all related to this bug. Do we know how long the test has been failing?
Comment 2 Adam Mitz 2009-06-12 14:25:39 CDT
(In reply to comment #1)
> In my Linux workspace, I get a COMM_FAILURE exception, which I suppose means
> that the IFR has crashed and doesn't reply to the destroy() call in question.
> In my Windows workspace, the test runs fine.
> 
> I don't see any recent entries in the changelogs, either to
> ace/Configuration.cpp or to the IFR code, that seems at all related to this
> bug. Do we know how long the test has been failing?
> 

At least since x.6.7 because OCI TAO 1.6a has the same behavior.  It may go back much further since I see 1.5a and even 1.4a tests failing the same way, but I don't know how much DOC IFR code has been merged into those branches.

The "last year" graph for Linux only on http://remedy.nl/test_stats is hovering around 50% for the whole year.
Comment 3 Johnny Willemsen 2016-09-15 09:16:49 CDT
Still the case

Core was generated by `/home/johnny/ACE/trunk/TAO/orbsvcs/tests/InterfaceRepo/Persistence_Test/../../.'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fa9279aa100 in unbind_all_i (this=<optimized out>) at /home/johnny/ACE/trunk/ACE/ace/Hash_Map_Manager_T.cpp:214
214               ACE_DES_FREE_TEMPLATE2 (hold_ptr, this->entry_allocator_->free,
Missing separate debuginfos, use: zypper install libgcc_s1-debuginfo-4.8.3+r212056-2.2.4.x86_64 libstdc++6-debuginfo-4.8.3+r212056-2.2.4.x86_64
(gdb) back
#0  0x00007fa9279aa100 in unbind_all_i (this=<optimized out>) at /home/johnny/ACE/trunk/ACE/ace/Hash_Map_Manager_T.cpp:214
#1  ACE_Hash_Map_Manager_Ex<ACE_Configuration_ExtId, ACE_Configuration_Value_IntId, ACE_Hash<ACE_Configuration_ExtId>, ACE_Equal_To<ACE_Configuration_ExtId>, ACE_Null_Mutex>::close_i (this=this@entry=0x4001c7e0) at /home/johnny/ACE/trunk/ACE/ace/Hash_Map_Manager_T.cpp:172
#2  0x00007fa9279a8783 in close (this=0x4001c7e0) at /home/johnny/ACE/trunk/ACE/ace/Hash_Map_Manager_T.inl:39
#3  ACE_Configuration_Heap::remove_section (this=0x1356c40, key=..., sub_section=<optimized out>, recursive=<optimized out>) at Configuration.cpp:1682
#4  0x00007fa929ab5b51 in TAO_Container_i::destroy_defintions_i (this=0x14189b0) at IFRService/Container_i.cpp:173
#5  0x00007fa929b00c93 in TAO_StructDef_i::destroy_i (this=0x1418970) at IFRService/StructDef_i.cpp:44
#6  0x00007fa929b00d19 in TAO_StructDef_i::destroy (this=0x1418970) at IFRService/StructDef_i.cpp:37
#7  0x00007fa9285a6b03 in TAO::Upcall_Wrapper::upcall (this=0x7fff0d0f92ff, server_request=..., args=0x7fff0d0f9310, nargs=1, command=..., servant_upcall=0x7fff0d0f93c0, 
    exceptions=0x0, nexceptions=0) at Upcall_Wrapper.cpp:107
#8  0x00007fa9296e1cda in POA_CORBA::IRObject::destroy_skel (server_request=..., servant_upcall=0x7fff0d0f93c0, servant=<optimized out>) at IFR_BaseS.cpp:318
#9  0x00007fa9285a027a in TAO_ServantBase::synchronous_upcall_dispatch (this=<optimized out>, req=..., servant_upcall=0x7fff0d0f93c0, derived_this=0x146c490)
    at Servant_Base.cpp:567
#10 0x00007fa9285794fa in TAO_Object_Adapter::dispatch_servant (this=this@entry=0x1330460, key=..., req=..., forward_to=...) at Object_Adapter.cpp:351
#11 0x00007fa92857964c in TAO_Object_Adapter::dispatch (this=0x1330460, key=..., request=..., forward_to=...) at Object_Adapter.cpp:764
#12 0x00007fa927d3ffc2 in TAO_Adapter_Registry::dispatch (this=0x1314178, key=..., request=..., forward_to=...) at Adapter_Registry.cpp:107
#13 0x00007fa927da7729 in TAO_Request_Dispatcher::dispatch (this=this@entry=0x13147c0, orb_core=0x1313cc0, request=..., forward_to=...) at Request_Dispatcher.cpp:19
#14 0x00007fa927d533bb in TAO_GIOP_Message_Base::process_request (this=this@entry=0x1360180, transport=transport@entry=0x1593fd0, cdr=..., output=..., parser=parser@entry=
    0x1360198) at GIOP_Message_Base.cpp:998
#15 0x00007fa927d53d48 in TAO_GIOP_Message_Base::process_request_message (this=0x1360180, transport=transport@entry=0x1593fd0, qd=qd@entry=0x7fff0d0fa100)
    at GIOP_Message_Base.cpp:728
#16 0x00007fa927dce9b8 in TAO_Transport::process_parsed_messages (this=this@entry=0x1593fd0, qd=qd@entry=0x7fff0d0fa100, rh=...) at Transport.cpp:2529
#17 0x00007fa927dcf9a8 in TAO_Transport::handle_input_parse_data (this=this@entry=0x1593fd0, rh=..., max_wait_time=max_wait_time@entry=0x0) at Transport.cpp:2453
#18 0x00007fa927dcfc06 in TAO_Transport::handle_input (this=0x1593fd0, rh=..., max_wait_time=0x0) at Transport.cpp:1769
#19 0x00007fa927d44c29 in TAO_Connection_Handler::handle_input_internal (this=this@entry=0x1593ea8, h=h@entry=7, eh=eh@entry=0x1593de0) at Connection_Handler.cpp:294
#20 0x00007fa927d44eae in TAO_Connection_Handler::handle_input_eh (this=0x1593ea8, h=7, eh=0x1593de0) at Connection_Handler.cpp:253
#21 0x00007fa927a1adfe in ACE_TP_Reactor::dispatch_socket_event (this=this@entry=0x1325060, dispatch_info=...) at TP_Reactor.cpp:543
#22 0x00007fa927a1af10 in ACE_TP_Reactor::handle_socket_events (this=this@entry=0x1325060, event_count=@0x7fff0d0fa7a0: 0, guard=...) at TP_Reactor.cpp:413
#23 0x00007fa927a1b11e in ACE_TP_Reactor::dispatch_i (this=this@entry=0x1325060, max_wait_time=max_wait_time@entry=0x0, guard=...) at TP_Reactor.cpp:242
#24 0x00007fa927a1b2ce in ACE_TP_Reactor::handle_events (this=0x1325060, max_wait_time=0x0) at TP_Reactor.cpp:171
#25 0x00007fa927d908e0 in TAO_ORB_Core::run (this=0x1313cc0, tv=tv@entry=0x0, perform_work=perform_work@entry=0) at ORB_Core.cpp:2317
#26 0x00007fa927d89a8c in CORBA::ORB::run (this=<optimized out>, tv=tv@entry=0x0) at ORB.cpp:188
#27 0x0000000000401d9e in IFR_Service::run (this=this@entry=0x7fff0d0fa960) at IFR_Service.cpp:50
#28 0x00000000004019ad in main (argc=<optimized out>, argv=0x7fff0d0fab58) at IFR_Server.cpp:50
(gdb)
Comment 4 Johnny Willemsen 2016-09-15 09:20:46 CDT
mark this bug as !FIXED_BUGS_ONLY fails on a lot of builds
Comment 5 Johnny Willemsen 2016-09-15 09:21:02 CDT
changed version