[tao-bugs] Odp: Re: tao imr locator seg fault

Tomasz Mikolajczyk miksiublues at wp.pl
Wed Jul 4 17:13:26 CDT 2018


Recently I observed the following seg fault:

(gdb) bt
#0 0x00002aaaad88b5e7 in TAO_Exclusive_TMS::connection_closed (this=0x1d32c60) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/Exclusive_TMS.cpp:170
#1 0x00002aaaad925ca9 in TAO_Transport::send_connection_closed_notifications (this=0x1c76480) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/Transport.cpp:1387
#2 0x00002aaaad88673c in TAO_Connection_Handler::close_connection_eh (this=0x1dcac78, eh=0x1dcabb0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/Connection_Handler.cpp:406
#3 0x00002aaaad8acd1a in TAO_IIOP_Connection_Handler::close_connection (this=0x1dcabb0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/IIOP_Connection_Handler.cpp:399
#4 0x00002aaaad886172 in TAO_Connection_Handler::handle_input_eh (this=0x1dcac78, h=43, eh=0x1dcabb0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/Connection_Handler.cpp:257
#5 0x00002aaaad8acd53 in TAO_IIOP_Connection_Handler::handle_input (this=0x1dcabb0, h=43) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/IIOP_Connection_Handler.cpp:405
#6 0x00002aaaadcbb309 in ACE_Dev_Poll_Reactor::upcall (this=0x641a50, event_handler=0x1dcabb0, callback=&virtual table offset 48, handle=43)
at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Dev_Poll_Reactor.inl:84
#7 0x00002aaaadcb8a2e in ACE_Dev_Poll_Reactor::dispatch_io_event (this=0x641a50, guard=...) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Dev_Poll_Reactor.cpp:1299
#8 0x00002aaaadcb858c in ACE_Dev_Poll_Reactor::dispatch (this=0x641a50, guard=...) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Dev_Poll_Reactor.cpp:1076
#9 0x00002aaaadcb8539 in ACE_Dev_Poll_Reactor::handle_events_i (this=0x641a50, max_wait_time=0x0, guard=...) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Dev_Poll_Reactor.cpp:1053
#10 0x00002aaaadcb838d in ACE_Dev_Poll_Reactor::handle_events (this=0x641a50, max_wait_time=0x0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Dev_Poll_Reactor.cpp:1009
#11 0x00002aaaad8c69b8 in ACE_Reactor::handle_events (this=0x641cb0, max_wait_time=0x0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Reactor.inl:185
#12 0x00002aaaad8df2ac in TAO_ORB_Core::run (this=0x63b730, tv=0x0, perform_work=0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/ORB_Core.cpp:2320
#13 0x00002aaaad8d3dc7 in CORBA::ORB::run (this=0x641cd0, tv=0x0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/ORB.cpp:188
#14 0x00002aaaad8d3d5f in CORBA::ORB::run (this=0x641cd0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/ORB.cpp:174
#15 0x00002aaaaacff469 in ImR_Locator_i::run (this=0x7fffffffc0d0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp:288
#16 0x000000000040202a in run_standalone (opts=...) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp:54
#17 0x00000000004022dd in main (argc=9, argv=0x7fffffffc608) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp:191
(gdb) list
1392 {
1393 this->cleanup_queue_i ();
1394 }
1395
1396 int
1397 TAO_Transport::send_message_shared_i (TAO_Stub *stub,
1398 TAO_Message_Semantics message_semantics,
1399 const ACE_Message_Block *message_block,
1400 ACE_Time_Value *max_wait_time)
1401 {
(gdb) list
165
166 void
167 TAO_Exclusive_TMS::connection_closed (void)
168 {
169 if (this->rd_ != 0)
170 this->rd_->connection_closed ();
171 }
172
173 TAO_END_VERSIONED_NAMESPACE_DECL
(gdb) print rd_
$6 = {_vptr.ACE_Intrusive_Auto_Ptr = 0x2aaaadbb0430 <vtable for ACE_Intrusive_Auto_Ptr<TAO_Reply_Dispatcher>+16>, rep_ = 0x1c1f920}
(gdb) up
#1 0x00002aaaad925ca9 in TAO_Transport::send_connection_closed_notifications (this=0x1c76480) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/Transport.cpp:1387
1387 this->tms ()->connection_closed ();
(gdb) p this
$8 = (TAO_Transport * const) 0x1c76480
(gdb) print tms()
$9 = (TAO_Transport_Mux_Strategy *) 0x1d32c60
(gdb) up
#2 0x00002aaaad88673c in TAO_Connection_Handler::close_connection_eh (this=0x1dcac78, eh=0x1dcabb0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/Connection_Handler.cpp:406
406 this->transport ()->send_connection_closed_notifications ();
(gdb) print this
$10 = (TAO_Connection_Handler * const) 0x1dcac78
(gdb) print transport()
$11 = (TAO_Transport *) 0x1c76480
(gdb) up
#3 0x00002aaaad8acd1a in TAO_IIOP_Connection_Handler::close_connection (this=0x1dcabb0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/IIOP_Connection_Handler.cpp:399
399 return this->close_connection_eh (this);
(gdb) print this
$14 = (TAO_IIOP_Connection_Handler * const) 0x1dcabb0
(gdb) up
#4 0x00002aaaad886172 in TAO_Connection_Handler::handle_input_eh (this=0x1dcac78, h=43, eh=0x1dcabb0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/Connection_Handler.cpp:257
257 this->close_connection ();
(gdb) print this
$15 = (TAO_Connection_Handler * const) 0x1dcac78
(gdb) up
#5 0x00002aaaad8acd53 in TAO_IIOP_Connection_Handler::handle_input (this=0x1dcabb0, h=43) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/IIOP_Connection_Handler.cpp:405
405 return this->handle_input_eh (h, this);
(gdb) print this
$16 = (TAO_IIOP_Connection_Handler * const) 0x1dcabb0
(gdb) up
#6 0x00002aaaadcbb309 in ACE_Dev_Poll_Reactor::upcall (this=0x641a50, event_handler=0x1dcabb0, callback=&virtual table offset 48, handle=43) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Dev_Poll_Reactor.inl:84
84 status = (event_handler->*callback) (handle);
(gdb) p event_handler
$18 = (ACE_Event_Handler *) 0x1dcabb0
(gdb) up
#7 0x00002aaaadcb8a2e in ACE_Dev_Poll_Reactor::dispatch_io_event (this=0x641a50, guard=...) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Dev_Poll_Reactor.cpp:1299
1299 status = this->upcall (eh, callback, handle);
(gdb) print this
$19 = (ACE_Dev_Poll_Reactor * const) 0x641a50
(gdb) print eh
$20 = (ACE_Event_Handler *) 0x1dcabb0
(gdb) print callback
$21 = &virtual table offset 48
(gdb) print handle
$22 = 43
(gdb) up
#8 0x00002aaaadcb858c in ACE_Dev_Poll_Reactor::dispatch (this=0x641a50, guard=...) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Dev_Poll_Reactor.cpp:1076
1076 result = this->dispatch_io_event (guard);
(gdb) print guard
$23 = (ACE_Dev_Poll_Reactor::Token_Guard &) @0x7fffffffbcf0: {token_ = @0x641a70, owner_ = 0}
(gdb) print this
$24 = (ACE_Dev_Poll_Reactor * const) 0x641a50 
(gdb) up
#9 0x00002aaaadcb8539 in ACE_Dev_Poll_Reactor::handle_events_i (this=0x641a50, max_wait_time=0x0, guard=...) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Dev_Poll_Reactor.cpp:1053
1053 return this->dispatch (guard);
(gdb) print this
$25 = (ACE_Dev_Poll_Reactor * const) 0x641a50
(gdb) print guard
$26 = (ACE_Dev_Poll_Reactor::Token_Guard &) @0x7fffffffbcf0: {token_ = @0x641a70, owner_ = 0}
(gdb) up
#10 0x00002aaaadcb838d in ACE_Dev_Poll_Reactor::handle_events (this=0x641a50, max_wait_time=0x0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Dev_Poll_Reactor.cpp:1009
1009 return this->handle_events_i (max_wait_time, guard);
(gdb) print this
$27 = (ACE_Dev_Poll_Reactor * const) 0x641a50
(gdb) print max_wait_time
$28 = (ACE_Time_Value *) 0x0
(gdb) print guard
$29 = {token_ = @0x641a70, owner_ = 0}
(gdb) up
#11 0x00002aaaad8c69b8 in ACE_Reactor::handle_events (this=0x641cb0, max_wait_time=0x0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/ace/Reactor.inl:185
185 return this->implementation ()->handle_events (max_wait_time);
(gdb) p this
$30 = (ACE_Reactor * const) 0x641cb0
(gdb) p implementation()
$31 = (ACE_Reactor_Impl *) 0x641a50
(gdb) p max_wait_time
$32 = (ACE_Time_Value *) 0x0
(gdb) up
#12 0x00002aaaad8df2ac in TAO_ORB_Core::run (this=0x63b730, tv=0x0, perform_work=0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/ORB_Core.cpp:2320
2320 result = r->handle_events (tv);
(gdb) p r
$33 = (ACE_Reactor *) 0x641cb0
(gdb) print tv
$34 = (ACE_Time_Value *) 0x0
(gdb) print result
$35 = 0
(gdb) up
#13 0x00002aaaad8d3dc7 in CORBA::ORB::run (this=0x641cd0, tv=0x0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/ORB.cpp:188
188 this->orb_core ()->run (tv, 0);
(gdb) p this
$36 = (CORBA::ORB * const) 0x641cd0
(gdb) up
#14 0x00002aaaad8d3d5f in CORBA::ORB::run (this=0x641cd0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/tao/ORB.cpp:174
174 this->run (0);
(gdb) p this
$37 = (CORBA::ORB * const) 0x641cd0
(gdb) up
#15 0x00002aaaaacff469 in ImR_Locator_i::run (this=0x7fffffffc0d0) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp:288
288 this->orb_->run ();
(gdb) p this
$38 = (ImR_Locator_i * const) 0x7fffffffc0d0
(gdb) p orb_
$39 = {<TAO_Base_var> = {<No data fields>}, ptr_ = 0x641cd0}
(gdb) up
#16 0x000000000040202a in run_standalone (opts=...) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp:54
54 server.run ();
(gdb) p server
$40 = {<POA_ImplementationRepository::AMH_Locator> = {<POA_ImplementationRepository::AMH_AdministrationExt> = {<POA_ImplementationRepository::AMH_Administration> = {<TAO_ServantBase> = {<TAO_Abstract_ServantBase> = {_vptr.TAO_Abstract_ServantBase = 0x2aaaaaf4eb20 <vtable for ImR_Locator_i+312>}, ref_count_ = {<ACE_Atomic_Op_GCC<unsigned long>> = {value_ = 2}, <No data fields>}, 
optable_ = 0x2aaaab41bef8 <tao_ImplementationRepository_AMH_Locator_optable>}, <No data fields>}, <No data fields>}, <No data fields>}, static debug_ = 0, 
dsi_forwarder_ = {<TAO_DynamicImplementation> = {<TAO_ServantBase> = {<TAO_Abstract_ServantBase> = {_vptr.TAO_Abstract_ServantBase = 0x2aaaaaf4d858 <vtable for ImR_DSI_Forwarder+184>}, 
ref_count_ = {<ACE_Atomic_Op_GCC<unsigned long>> = {value_ = 201}, <No data fields>}, optable_ = 0x0}, <No data fields>}, locator_ = @0x7fffffffc0d0, 
poa_current_var_ = {<TAO_Base_var> = {<No data fields>}, ptr_ = 0x6617a0}, orb_ = 0x641cd0}, adapter_ = {<PortableServer::AdapterActivator> = {<CORBA::Object> = {
_vptr.Object = 0x2aaaaaf4c758 <vtable for ImR_Adapter+424>, refcount_ = {<ACE_Atomic_Op_GCC<unsigned long>> = {value_ = 202}, <No data fields>}, is_local_ = true, is_evaluated_ = true, 
ior_ = {<TAO_Var_Base_T<IOP::IOR>> = {ptr_ = 0x0}, <No data fields>}, orb_core_ = 0x0, protocol_proxy_ = 0x0, object_init_lock_ = {lock_ = {__data = {__lock = 0, __count = 0, __owner = 0, 
__nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}, removed_ = false}}, 
_vptr.AdapterActivator = 0x2aaaaaf4c5c8 <vtable for ImR_Adapter+24>}, <CORBA::LocalObject> = {_vptr.LocalObject = 0x2aaaaaf4c610 <vtable for ImR_Adapter+96>}, default_servant_ = 0x7fffffffc0f8}, 
ins_locator_ = {<TAO_Base_var> = {<No data fields>}, ptr_ = 0x627630}, pinger_ = {<ACE_Event_Handler> = {_vptr.ACE_Event_Handler = 0x2aaaaaf50010 <vtable for LiveCheck+16>, 
reference_count_ = {<ACE_Atomic_Op_GCC<long>> = {value_ = 1}, <No data fields>}, priority_ = 0, reactor_ = 0x641cb0, reference_counting_policy_ = {<ACE_Event_Handler::Policy> = {
_vptr.Policy = 0x2aaaadfb0b10 <vtable for ACE_Event_Handler::Reference_Counting_Policy+16>}, value_ = ACE_Event_Handler::Reference_Counting_Policy::DISABLED}}, entry_map_ = {
table_allocator_ = 0x2aaaadfc2ce0 <ACE_Allocator::instance()::allocator_instance>, entry_allocator_ = 0x2aaaadfc2ce0 <ACE_Allocator::instance()::allocator_instance>, lock_ = {lock_ = 0}, 
hash_key_ = {<No data fields>}, compare_keys_ = {<No data fields>}, table_ = 0x6279b0, total_size_ = 1024, cur_size_ = 12}, 
per_client_ = {<ACE_Unbounded_Set_Ex<LiveEntry*, ACE_Unbounded_Set_Default_Comparator<LiveEntry*> >> = {head_ = 0x6274c0, cur_size_ = 0, 
allocator_ = 0x2aaaadfc2ce0 <ACE_Allocator::instance()::allocator_instance>, comp_ = {<No data fields>}}, <No data fields>}, poa_ = {<TAO_Base_var> = {<No data fields>}, ptr_ = 0x661920}, 
ping_interval_ = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, static zero = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, 
static zero = <same as static member of an already seen type>, static max_time = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, 
static zero = <same as static member of an already seen type>, static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 9223372036854775807, tv_usec = 999999}}, tv_ = {
tv_sec = 0, tv_usec = 0}}, static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 0, tv_usec = 0}}, running_ = true, token_ = 15202, handle_timeout_busy_ = 1, 
want_timeout_ = false, deferred_timeout_ = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, static zero = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, 
static zero = <same as static member of an already seen type>, static max_time = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, 
static zero = <same as static member of an already seen type>, static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 9223372036854775807, tv_usec = 999999}}, tv_ = {
tv_sec = 0, tv_usec = 0}}, static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 0, tv_usec = 0}}, 
removed_entries_ = {<ACE_Unbounded_Set_Ex<ACE_String_Base<char>, ACE_Unbounded_Set_Default_Comparator<ACE_String_Base<char> > >> = {head_ = 0x627590, cur_size_ = 0, 
allocator_ = 0x2aaaadfc2ce0 <ACE_Allocator::instance()::allocator_instance>, comp_ = {<No data fields>}}, <No data fields>}}, 
aam_active_ = {<ACE_Unbounded_Set_Ex<TAO_Intrusive_Ref_Count_Handle<AsyncAccessManager>, ACE_Unbounded_Set_Default_Comparator<TAO_Intrusive_Ref_Count_Handle<AsyncAccessManager> > >> = {head_ = 0x1d4b6a0, 
cur_size_ = 20, allocator_ = 0x2aaaadfc2ce0 <ACE_Allocator::instance()::allocator_instance>, comp_ = {<No data fields>}}, <No data fields>}, 
aam_terminating_ = {<ACE_Unbounded_Set_Ex<TAO_Intrusive_Ref_Count_Handle<AsyncAccessManager>, ACE_Unbounded_Set_Default_Comparator<TAO_Intrusive_Ref_Count_Handle<AsyncAccessManager> > >> = {
head_ = 0x6275f0, cur_size_ = 0, allocator_ = 0x2aaaadfc2ce0 <ACE_Allocator::instance()::allocator_instance>, comp_ = {<No data fields>}}, <No data fields>}, 
orb_ = {<TAO_Base_var> = {<No data fields>}, ptr_ = 0x641cd0}, root_poa_ = {<TAO_Base_var> = {<No data fields>}, ptr_ = 0x661920}, imr_poa_ = {<TAO_Base_var> = {<No data fields>}, ptr_ = 0x674dc0}, 
repository_ = {counter_ = 0x6bfdf0, ptr_ = 0x68bb30}, opts_ = 0x7fffffffc3c0, lock_ = {lock_ = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {
__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}, removed_ = false}, shutdown_handler_ = {<ACE_Event_Handler> = {
_vptr.ACE_Event_Handler = 0x2aaaaaf4e940 <vtable for ImR_Locator_i::Shutdown_Handler+16>, reference_count_ = {<ACE_Atomic_Op_GCC<long>> = {value_ = 1}, <No data fields>}, priority_ = 0, 
reactor_ = 0x0, reference_counting_policy_ = {<ACE_Event_Handler::Policy> = {_vptr.Policy = 0x2aaaadfb0b10 <vtable for ACE_Event_Handler::Reference_Counting_Policy+16>}, 
value_ = ACE_Event_Handler::Reference_Counting_Policy::DISABLED}}, owner_ = 0x7fffffffc0d0}}
(gdb) up
#17 0x00000000004022dd in main (argc=9, argv=0x7fffffffc608) at /tmp/tmp.DpUOGGQ919/ACE_wrappers/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp:191
191 return run_standalone (opts);
(gdb) p opts
$41 = {repo_mode_ = Options::REPO_XML_FILE, erase_repo_ = false, debug_ = 0, ior_output_file_ = {<ACE_String_Base_Const> = {static npos = 18446744073709551615}, 
allocator_ = 0x2aaaadfc2ce0 <ACE_Allocator::instance()::allocator_instance>, len_ = 0, buf_len_ = 0, rep_ = 0x2aaaaaf533d0 <ACE_String_Base<char>::NULL_String_> "", release_ = false, 
static NULL_String_ = 0 '\000'}, multicast_ = false, service_ = false, ping_external_ = false, ping_interval_ = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, static zero = {
_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, static zero = <same as static member of an already seen type>, static max_time = {
_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, static zero = <same as static member of an already seen type>, 
static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 9223372036854775807, tv_usec = 999999}}, tv_ = {tv_sec = 0, tv_usec = 0}}, 
static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 0, tv_usec = 0}}, ping_timeout_ = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, 
static zero = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, static zero = <same as static member of an already seen type>, static max_time = {
_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, static zero = <same as static member of an already seen type>, 
static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 9223372036854775807, tv_usec = 999999}}, tv_ = {tv_sec = 0, tv_usec = 0}}, 
static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 1, tv_usec = 0}}, startup_timeout_ = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, 
static zero = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, static zero = <same as static member of an already seen type>, static max_time = {
_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, static zero = <same as static member of an already seen type>, 
static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 9223372036854775807, tv_usec = 999999}}, tv_ = {tv_sec = 0, tv_usec = 0}}, 
static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 60, tv_usec = 0}}, readonly_ = false, service_command_ = Options::SC_NONE, cmdline_ = {<ACE_String_Base_Const> = {
static npos = 18446744073709551615}, allocator_ = 0x2aaaadfc2ce0 <ACE_Allocator::instance()::allocator_instance>, len_ = 283, buf_len_ = 303, 
rep_ = 0x627870 "/ACE+TAO/6.5.0/bin/tao_imr_locator -ORBListenEndpoints iiop://1.2@host1:59695 -ORBSvcConf /home/tmikola"..., release_ = true, static NULL_String_ = 0 '\000'}, persist_file_name_ = {<ACE_String_Base_Const> = {static npos = 18446744073709551615}, 
allocator_ = 0x2aaaadfc2ce0 <ACE_Allocator::instance()::allocator_instance>, len_ = 115, buf_len_ = 116, 
rep_ = 0x627510 "/taosvc/impl_repo.xml", release_ = true, static NULL_String_ = 0 '\000'}, 
unregister_if_address_reused_ = false, lockout_ = false, imr_type_ = Options::STANDALONE_IMR, throw_shutdown_exceptions_ = false, pinger_ = 0x7fffffffc190, threads_ = 1, 
ft_endpoint_ = {<ACE_String_Base_Const> = {static npos = 18446744073709551615}, allocator_ = 0x2aaaadfc2ce0 <ACE_Allocator::instance()::allocator_instance>, len_ = 0, buf_len_ = 0, 
rep_ = 0x2aaaaaf533d0 <ACE_String_Base<char>::NULL_String_> "", release_ = false, static NULL_String_ = 0 '\000'}, ft_update_delay_ = {
_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, static zero = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, 
static zero = <same as static member of an already seen type>, static max_time = {_vptr.ACE_Time_Value = 0x2aaaadfbab50 <vtable for ACE_Time_Value+16>, 
static zero = <same as static member of an already seen type>, static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 9223372036854775807, tv_usec = 999999}}, tv_ = {
tv_sec = 0, tv_usec = 0}}, static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 0, tv_usec = 0}}}
(gdb)





Dnia Wtorek, 3 Lipca 2018 09:44 Tomasz Mikolajczyk <miksiublues at wp.pl> napisał(a) 
> I will try to do it. Could you please review the code once again. Could you also confirm that "-v 0" option disables the ping in 6.4.7 version? It was working before, and now I observed that tao crashes even with that option used and also there are some logs related to pinging. 
> 
> Regards,
> Tomasz Mikolajczyk
> 
> 
> Dnia Piątek, 29 Czerwca 2018 09:24 Johnny Willemsen <jwillemsen at remedy.nl> napisał(a) 
> > Hi,
> > 
> > Thanks for using the PRF form. There is a lot of code in validate_ping,
> > can you use gdb to see where it exactly crashes and what the values are
> > of all variables?
> > 
> > Best regards,
> > 
> > Johnny Willemsen
> > Remedy IT
> > Postbus 81 | 6930 AB Westervoort | The Netherlands
> > http://www.remedy.nl
> > 
> > On 06/28/2018 09:47 PM, Tomasz Mikolajczyk wrote:
> > >  TAO VERSION: 2.4.6
> > >  ACE VERSION: 6.4.6
> > > 
> > > HOST MACHINE and OPERATING SYSTEM:
> > > Intel, cpu 16 cores, mem 128GB, Linux RHEL 7.3
> > > 
> > > COMPILER NAME AND VERSION (AND PATCHLEVEL):
> > > gcc 8.1
> > > 
> > > THE $ACE_ROOT/ace/config.h FILE:
> > > ace/config-linux.h
> > > 
> > > THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE
> > > include/makeinclude/platform_macros.GNU
> > > Additional flags:
> > > debug=0
> > > ssl=1
> > > zlib=1
> > > bzip2=1
> > > c++14=1
> > > install_rpath=0
> > > CPP_FLAGS += -DACE_ANY_OPS_USE_NAMESPACE
> > > 
> > > SYNOPSIS:
> > > segmentation fault of "tao imr locator"
> > > 
> > > DESCRIPTION:
> > > 
> > > The following is an OCR-ed subset of previously sent png images:
> > > gdb's backtrace:
> > > 
> > > 1 Program received signal SIGSEGV, Segmentation fault.
> > > 2 0x00007f34abfd1257 in LiveEntry::validate_ping(bool&, ACE_Time_Value&)
> > > 3 from /tao/6.4.6/lib/libTAO_1mR_Locator.so.2.4.6
> > > 4 (gdb) where
> > > 5 #0 0x00007f34abfd1257 in LiveEntry::validate_ping(bool&, ACE_Time_Value&) () from /tao/6.4.6/lib/libTAO_1mR_Locator.so.2.4.6
> > > 6 #1 0x00007f34abfd1ao1 in LiveCheck::handle_timeout(ACE_Time_Value const&, void const*) () from /tao/6.4.6/lib/libTAO_1mR_Locator.so.2.4.6
> > > 7 #2 0x00007f34a92eaa95 in ACE_Ęvent_Handler_Handle_Timeout_Upcall::timeout(ACE;Abstract_Timer_Queue<ACE_Ęvent_Handler*>&, ACE_Ęvent_Handler*, void const*,
> > > int, ACE_Time_Value const&) () from /tao/6.4.6/lib/libACE.so.6.4.6
> > > 8 #3 0x00007f34a96c615c in ACE_Iimer_Queue_T<ACE_Ęvent_Handler*, ACE_Ęvent_Handler_Handle_Timeout_Upcall, ACE_Recursive_Thread;Mutex,
> > > ACE_System;Time_Policy>::expire_single(ACE_Command;Base&) () from /tao/6.4.6/lib/libTAO.so.2.4.6
> > > 9 #4 0x00007f34a92e54fd in ACE_Dev_Poll_Reactor::dispatch_timer_handler(ACE_Dev_Poll_Reactor::Token_Guard&)
> > > 10 from /tao/6.4.6/lib/libACE.so.6.4.6
> > > 11 #5 0x00007f34a92e6711 in ACE_Dev_Poll_Reactor::dispatch(ACE_Dev_Poll_Reactor::Token_Guard&) () from /tao/6.4.6/lib/libACE.so.6.4.6
> > > 12 #6 0x00007f34a92e7d2e in ACE_Dev_Poll_Reactor::handle_events(ACE_Time_Value*) () from /tao/6.4.6/lib/libACE.so.6.4.6
> > > 13 #7 0x00007f34a969168d in TAO_ORB_Core::run(ACE_Time_Value*, int) () from /tao/6.4.6/lib/libTAO.so.2.4.6
> > > 14 #8 0x00007f34abfca580 in ImR_Locator_i::run() () from /tao/6.4.6/lib/libTAO_1mR_Locator.so.2.4.6
> > > 15 #9 0x0000000000401d16 in run_standalone(options&)
> > > 16 #10 0x0000000000401b3f in main
> > > 17 (gdb)
> > > 18
> > > 
> > > It looks like this concerns the tao pinging mechanism. With the pinging mechanism (-v 0) I do not observe the segmentation fault.
> > > The following shows all parameters when starting up the services:
> > > 
> > > $ ps aux lgrep tao
> > > 
> > > dev 7633 0.0 0.0 59128 7100 ? S Jun24 0:00 /tao/6.1.8/bin/tao_cosnaming -ORBListenEndPoints iiop://l.2@host1 -ORBDefaultInitRef corbaloc:iiop:1.2 at host1:59695 -ORBUseIMR 1 -ORBLogFile /tao/6.1.8/log/Naming_5ervice.log -u /tao/6.1.8/Name5ervice -o /tao/6.1.8/name_service.ior
> > > dev 23112 0.4 0.3 983116 922884 ? Ss Jun24 19:56 /tao/6.1.8/bin/tao_imr_locator -ORBListenEndpoints iiop://l.2@host1:59695 -x /tao/6.1.8/ImpRep/impl_repo.xm1 -ORBSvcConf /svc.conf.poll -ORBVerboseLogging 1
> > > dev 23117 0.0 0.0 64012 7504 ? Ss Jun24 0:11 /tao/6.1.8/bin/tao_imr_activator -l -ORBDefaultInitRef corbaloc:iiop:1.2 at host1:59695 -ORBSvcConf /svc.conf.poll -ORBVerboseLogging 1
> > > 
> > > 
> > > Regards,
> > > Tomasz Mikolajczyk
> > > 
> > > 
> > > 
> > > 
> > > Dnia Czwartek, 28 Czerwca 2018 08:05 Johnny Willemsen <jwillemsen at remedy.nl> napisał(a) 
> > >> Hi,
> > >>
> > >> Please us the problem-report-form that is in the root of the package and
> > >> provide the output as txt, looks the png images are dropped by the list
> > >> server but these also make it hard to do so some quick searches.  It
> > >> would help when you can extend/add a unit test under
> > >> TAO/orbsvcs/tests/ImplRepo to reproduce your problem.
> > >>
> > >> Best regards,
> > >>
> > >> Johnny Willemsen
> > >> Remedy IT
> > >> Postbus 81 | 6930 AB Westervoort | The Netherlands
> > >> http://www.remedy.nl
> > >>
> > >> On 06/27/2018 11:37 PM, Tomasz Mikolajczyk wrote:
> > >>> Hi,
> > >>>
> > >>> I encountered TAO imr locator seg fault. PFA all the possible information collected. Unfortunately due to technical reasons I'm not able to send them as a single text file. Tao processes are running on localhost. processes just talk to themselves executing simple methods defined in IDL files.
> > >>>
> > >>> Probably the most interested files at the beginning will be:
> > >>> tao_seg_fault01.png - gdb's backtrace 
> > >>> tao_seg_fault21.png  - shows options passed when starting the tao processes
> > >>>
> > >>> I was comparing the changes between ACE+TAO 6.4.7 version and ACE+TAO  6.5 and I do not see any potential fix for this issue.
> > >>>
> > >>> Should you need further details please let me know.
> > >>>
> > >>> Regards,
> > >>> Tomasz Mikolajczyk
> > >>>
> > >>>
> > >>> _______________________________________________
> > >>> tao-bugs mailing list
> > >>> tao-bugs at list.isis.vanderbilt.edu
> > >>> http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/tao-bugs
> > > 
> > > 
> > > 
> > > 
> 
> 
> 
> _______________________________________________
> tao-bugs mailing list
> tao-bugs at list.isis.vanderbilt.edu
> http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/tao-bugs





More information about the tao-bugs mailing list