Alfonso Acosta Gomez
2009-03-25 21:48:39 UTC
Hi,
Valgrind suggests there's a memory leak in omniORB's initialise_poa()
function. Is this right? I'm running omniORB 4.1.0
The code of MISCcorba::getRootPOA() (MISCcorba.C:496) is simply:
try {
CORBA::Object_ptr obj =
m_orb->resolve_initial_references("RootPOA");
m_poa = PortableServer::POA::_narrow(obj);
CORBA::release(obj);
}
// catching blocks skipped
return m_poa
Here's Valgrind's output.
44 (40 direct, 4 indirect) bytes in 1 blocks are definitely lost in
loss record 128 of 212
at 0x4021B38: malloc (vg_replace_malloc.c:207)
by 0x43C4F1E: operator new(unsigned int) (new.C:16)
by 0x46D6245: initialise_poa()
(in /opt/omniORB_4.1.0/lib/libomniORB4.so.1)
by 0x46D66AD: omni::omniOrbPOA::rootPOA(int)
(in /opt/omniORB_4.1.0/lib/libomniORB4.so.1)
by 0x46D66ED: omni::resolveRootPOAFn()
(in /opt/omniORB_4.1.0/lib/libomniORB4.so.1)
by 0x469EE96: omni::omniInitialReferences::resolve(char const*,
unsigned int) (in /opt/omniORB_4.1.0/lib/libomniORB4.so.1)
by 0x4686E17: omniOrbORB::resolve_initial_references(char const*)
(in /opt/omniORB_4.1.0/lib/libomniORB4.so.1)
by 0x42DCBEE: MISCcorba::getRootPOA() (MISCcorba.C:496)
by 0x42DD18A: MISCcorba::activatePOAManager() (MISCcorba.C:580)
by 0x42DD1CE: MISCcorba::startEventLoop(void (*)(void*), void*)
(MISCcorba.C:1529)
by 0x42E7AA7: MISCloop_Thr (MISCcorba.C:107)
by 0x44902AA: start_thread (in /lib/libpthread-2.4.so)
by 0x4BABA4D: clone (in /lib/libc-2.4.so)
______________________
Este mensaje, y en su caso, cualquier fichero anexo al mismo,
puede contener informacion clasificada por su emisor como confidencial
en el marco de su Sistema de Gestion de Seguridad de la
Informacion siendo para uso exclusivo del destinatario, quedando
prohibida su divulgacion copia o distribucion a terceros sin la
autorizacion expresa del remitente. Si Vd. ha recibido este mensaje
erroneamente, se ruega lo notifique al remitente y proceda a su borrado.
Gracias por su colaboracion.
______________________
This message including any attachments may contain confidential
information, according to our Information Security Management System,
and intended solely for a specific individual to whom they are addressed.
Any unauthorised copy, disclosure or distribution of this message
is strictly forbidden. If you have received this transmission in error,
please notify the sender immediately and delete it.
______________________
Valgrind suggests there's a memory leak in omniORB's initialise_poa()
function. Is this right? I'm running omniORB 4.1.0
The code of MISCcorba::getRootPOA() (MISCcorba.C:496) is simply:
try {
CORBA::Object_ptr obj =
m_orb->resolve_initial_references("RootPOA");
m_poa = PortableServer::POA::_narrow(obj);
CORBA::release(obj);
}
// catching blocks skipped
return m_poa
Here's Valgrind's output.
44 (40 direct, 4 indirect) bytes in 1 blocks are definitely lost in
loss record 128 of 212
at 0x4021B38: malloc (vg_replace_malloc.c:207)
by 0x43C4F1E: operator new(unsigned int) (new.C:16)
by 0x46D6245: initialise_poa()
(in /opt/omniORB_4.1.0/lib/libomniORB4.so.1)
by 0x46D66AD: omni::omniOrbPOA::rootPOA(int)
(in /opt/omniORB_4.1.0/lib/libomniORB4.so.1)
by 0x46D66ED: omni::resolveRootPOAFn()
(in /opt/omniORB_4.1.0/lib/libomniORB4.so.1)
by 0x469EE96: omni::omniInitialReferences::resolve(char const*,
unsigned int) (in /opt/omniORB_4.1.0/lib/libomniORB4.so.1)
by 0x4686E17: omniOrbORB::resolve_initial_references(char const*)
(in /opt/omniORB_4.1.0/lib/libomniORB4.so.1)
by 0x42DCBEE: MISCcorba::getRootPOA() (MISCcorba.C:496)
by 0x42DD18A: MISCcorba::activatePOAManager() (MISCcorba.C:580)
by 0x42DD1CE: MISCcorba::startEventLoop(void (*)(void*), void*)
(MISCcorba.C:1529)
by 0x42E7AA7: MISCloop_Thr (MISCcorba.C:107)
by 0x44902AA: start_thread (in /lib/libpthread-2.4.so)
by 0x4BABA4D: clone (in /lib/libc-2.4.so)
______________________
Este mensaje, y en su caso, cualquier fichero anexo al mismo,
puede contener informacion clasificada por su emisor como confidencial
en el marco de su Sistema de Gestion de Seguridad de la
Informacion siendo para uso exclusivo del destinatario, quedando
prohibida su divulgacion copia o distribucion a terceros sin la
autorizacion expresa del remitente. Si Vd. ha recibido este mensaje
erroneamente, se ruega lo notifique al remitente y proceda a su borrado.
Gracias por su colaboracion.
______________________
This message including any attachments may contain confidential
information, according to our Information Security Management System,
and intended solely for a specific individual to whom they are addressed.
Any unauthorised copy, disclosure or distribution of this message
is strictly forbidden. If you have received this transmission in error,
please notify the sender immediately and delete it.
______________________