Skip to main content

VBC 5.2.1p11 - Server core dumps during shutdown

  • February 16, 2013
  • 0 replies
  • 0 views

Problem:

  • Product Name: Visibroker for C
  • Product Version: 5.2.1
  • Product Component: POA
  • Platform/OS Version: Solaris 8

VBC 5.2.1p11 - Server core dumps during shutdown

The server example is the attachment core dumped during shutdown:

@1 (l@9) terminated by signal BUS (invalid address alignment)
Current function is PortableServer_POA_var::~PortableServer_POA_var
620 ~PortableServer_POA_var() { CORBA::release(_ptr); }

stack trace:
current thread: t@1
[1] CORBA_PolicyList::freebuf_elems(0x117488, 0x2, 0xff0010fc, 0xff1436d8, 0x165d4, 0x0), at 0xfed959dc
[2] CORBA_PolicyList::~CORBA_PolicyList(0x120254, 0x1, 0x1f, 0x0, 0x11fff0, 0x11fffc), at 0xfed95c48
[3] VISPOA::~VISPOA(0x11f978, 0x0, 0x7, 0xff34a6ac, 0x19, 0x0), at 0xfeafbafc
[4] DELETER__ZD(0x11f978, 0x1, 0x120338, 0xfe7bc000, 0x2ff82c, 0x5), at 0xfeb0b6f8
[5] VISResource::_unref(0x12032c, 0x0, 0xff329a10, 0xff1436d8, 0x165d4, 0x0), at 0xff366514
=>[ 6] PortableServer_POA_var::~PortableServer_POA_var(this = 0xffbef314), line 620 in "poa_c.hh"
[7] Server::~Server(this = 0xffbef310), line 22 in "Server.C"
[ 8] main(argc = 3, argv = 0xffbef39c), line 241 in "Server.C"

Resolution:

This is the result of application code attempting to free memory that is in use by the POA. The root cause was the following snippet of user code in the application class that created the POA:

for ( int i = 0; i < policies.length(); i ) policies -> destroy();


where an attempt to release memory for the POA (possibly having observed a memory leak) was made.
However the ORB explicitly releases policy objects during shutdown for all POAs created and so the server was attempting to release memory the developer had already released causing the core dump.


Author: Michael Mennis

Related documents:
  • server_core.tar

Old KB# 26413

#Security
#VisiBroker
#VisiBrokerforC