Discussion:
[omniORB] [Caught CORBA::PERSIST_STORE]
sheena kansal
2013-05-31 09:30:54 UTC
Permalink
Hi,

omniORB-4.1.6, c++

omniORB config (other than defaults)-

clientCallTimeOutPeriod = 0
clientConnectTimeOutPeriod = 15000
supportPerThreadTimeOut = 0
resetTimeOutOnRetries = 0
outConScanPeriod = 30
maxGIOPConnectionPerServer = 5
oneCallPerConnection = 0
serverCallTimeOutPeriod = 0
inConScanPeriod = 0
threadPerConnectionPolicy = 0
maxServerThreadPerConnection = 100
maxServerThreadPoolSize = 50

We are hitting the CORBA::PERSIST_STORE exception while trying to add a
object reference.

1. First we are doing bind() for a service, then we got a warning message
that object is arleady bound.
2. then when adding another object using bind(), then we are seeing
PERSIST_STORE exception.

here is the code for reference

try
{
// Bind a context
CosNaming::Name contextName;
contextName.length(1);
contextName[0].id = iv_AppName.c_str(); // string copied
contextName[0].kind = iv_Context.c_str(); // string copied
CosNaming::NamingContext_var newContext;

try
{
// Bind the context to root.
1. newContext =
iv_pNSRoot->bind_new_context(contextName);

}
catch(CosNaming::NamingContext::AlreadyBound& ex)
{
CORBA::Object_var obj;
2. obj = iv_pNSRoot->resolve(contextName);
3. newContext = CosNaming::NamingContext::_narrow(obj);
4. if(CORBA::is_nil(newContext))
{
cout<< "Failed to narrow naming context:"
<<":" <<__FUNCTION__
<<__LINE__;
}
}

// Bind objref with input name to the context
CosNaming::Name objectName;
objectName.length(1);
objectName[0].id = "ServerReady";
objectName[0].kind = iv_Kind.c_str();

try
{
cout<< "register object Name:" << i_ObjectName;

5. newContext->bind(objectName, i_ObjRef);
}
catch(CosNaming::NamingContext::AlreadyBound& ex)
{
cout<< "WARNING: Nameservice reports that the
object is already "
<< "bound: Reregister object Name:" <<
i_ObjectName; <<<<<<<<<<<<<<<<<<getting this Warning at
first time
6. newContext->rebind(objectName, i_ObjRef);
}

}
catch(...)
{
// Handle all other exceptions
pError = handleExceptions(FORB_SERV_REGISTER_OBJECT,
false, __LINE__,
0, 0, 0, __FUNCTION__,
strlen(__FUNCTION__)); <<<<<<<<<<<<<<<<<<<getting
this exception secnd time
ForbUDC_STRING_DATA data(i_ObjectName.c_str());

}

Any idea why we are getting it. We are seeing it for the first time. What
should we do to resolve it?
--
Regards,
Sheena
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20130531/027c68e6/attachment.html>
sheena kansal
2013-05-31 11:36:18 UTC
Permalink
the complete configuration of the omniNames server is:

$ omniORB: My addresses are:
omniORB: 127.0.0.1
omniORB: 10.0.2.147
omniORB: 10.0.3.147
omniORB: ::1
omniORB: 11:2233:4455:6677:204:acff:fee3:288c
omniORB: Skip link local address fe80::204:acff:fee3:288c on interface eth0.
omniORB: Skip link local address fe80::204:acff:fee3:288d on interface eth1.
omniORB: My addresses are:
omniORB: 127.0.0.1
omniORB: 10.0.2.147
omniORB: 10.0.3.147
omniORB: ::1
omniORB: 11:2233:4455:6677:204:acff:fee3:288c
omniORB: Current configuration is as follows:
omniORB: DefaultInitRef (file) =
omniORB: DefaultInitRef (args) =
omniORB: abortOnInternalError = 0
omniORB: abortOnNativeException = 0
omniORB: acceptBiDirectionalGIOP = 0
omniORB: acceptMisalignedTcIndirections = 0
omniORB: bootstrapAgentHostname =
omniORB: bootstrapAgentPort = 900
omniORB: clientCallTimeOutPeriod = 0
omniORB: clientConnectTimeOutPeriod = 0
omniORB: clientTransportRule = * unix,ssl,tcp,sctp
omniORB: configFile = /etc/omniORB.cfg
omniORB: connectionWatchImmediate = 0
omniORB: connectionWatchPeriod = 1
omniORB: copyValuesInLocalCalls = 1
omniORB: diiThrowsSysExceptions = 0
omniORB: dumpConfiguration = 1
omniORB: endPoint = giop:unix:/tmp/forb.socket.fsp.a.omninames
omniORB: endPoint = giop:unix:/tmp/forb.socket.fsp.local.omninames
omniORB: endPoint = giop:tcp::32809
omniORB: endPointPublish =
giop:unix:/tmp/forb.socket.fsp.a.omninames,giop:tcp
:9.6.28.1:32809,giop:tcp:9.6.28.2:32809,giop:tcp:9.6.24.10:32809
,giop:tcp:9.6.25
.10:32809
omniORB: giopMaxMsgSize = 2097152
omniORB: giopTargetAddressMode = KeyAddr
omniORB: id = omniORB4
omniORB: idleThreadTimeout = 10
omniORB: immediateAddressSwitch = 0
omniORB: inConScanPeriod = 0
omniORB: lcdMode = 0
omniORB: maxGIOPConnectionPerServer = 5
omniORB: maxGIOPVersion = 1.2
omniORB: maxInterleavedCallsPerConnection = 5
omniORB: maxServerThreadPerConnection = 100
omniORB: maxServerThreadPoolSize = 100
omniORB: maxSocketRecv = 2147483647
omniORB: maxSocketSend = 2147483647
omniORB: nativeCharCodeSet = ISO-8859-1
omniORB: nativeWCharCodeSet = UTF-16
omniORB: objectTableSize = 0
omniORB: offerBiDirectionalGIOP = 0
omniORB: oneCallPerConnection = 0
omniORB: outConScanPeriod = 0
omniORB: poaHoldRequestTimeout = 0
omniORB: poaUniquePersistentSystemIds = 1
omniORB: principal = [Null]
omniORB: resetTimeOutOnRetries = 0
omniORB: scanGranularity = 5
omniORB: serverCallTimeOutPeriod = 0
omniORB: serverTransportRule = * unix,ssl,tcp,sctp
omniORB: socketSendBuffer = -1
omniORB: strictIIOP = 1
omniORB: supportBootstrapAgent = 0
omniORB: supportCurrent = 1
omniORB: supportPerThreadTimeOut = 0
omniORB: tcAliasExpand = 0
omniORB: threadPerConnectionLowerLimit = 9000
omniORB: threadPerConnectionPolicy = 0
omniORB: threadPerConnectionUpperLimit = 10000
omniORB: threadPoolWatchConnection = 0
omniORB: traceExceptions = 0
omniORB: traceFile = [stderr]
omniORB: traceInvocationReturns = 0
omniORB: traceInvocations = 0
omniORB: traceLevel = 1
omniORB: traceThreadId = 0
omniORB: traceTime = 0
omniORB: unixTransportDirectory = /tmp/omni-%u
omniORB: unixTransportPermission = 777
omniORB: useTypeCodeIndirections = 1
omniORB: validateUTF8 = 0
omniORB: verifyObjectExistsAndType = 1
Post by sheena kansal
Hi,
omniORB-4.1.6, c++
omniORB config (other than defaults)-
clientCallTimeOutPeriod = 0
clientConnectTimeOutPeriod = 15000
supportPerThreadTimeOut = 0
resetTimeOutOnRetries = 0
outConScanPeriod = 30
maxGIOPConnectionPerServer = 5
oneCallPerConnection = 0
serverCallTimeOutPeriod = 0
inConScanPeriod = 0
threadPerConnectionPolicy = 0
maxServerThreadPerConnection = 100
maxServerThreadPoolSize = 50
We are hitting the CORBA::PERSIST_STORE exception while trying to add a
object reference.
1. First we are doing bind() for a service, then we got a warning message
that object is arleady bound.
2. then when adding another object using bind(), then we are seeing
PERSIST_STORE exception.
here is the code for reference
try
{
// Bind a context
CosNaming::Name contextName;
contextName.length(1);
contextName[0].id = iv_AppName.c_str(); // string copied
contextName[0].kind = iv_Context.c_str(); // string copied
CosNaming::NamingContext_var newContext;
try
{
// Bind the context to root.
1. newContext =
iv_pNSRoot->bind_new_context(contextName);
}
catch(CosNaming::NamingContext::AlreadyBound& ex)
{
CORBA::Object_var obj;
2. obj = iv_pNSRoot->resolve(contextName);
3. newContext =
CosNaming::NamingContext::_narrow(obj);
4. if(CORBA::is_nil(newContext))
{
cout<< "Failed to narrow naming context:"
<<":" <<__FUNCTION__
<<__LINE__;
}
}
// Bind objref with input name to the context
CosNaming::Name objectName;
objectName.length(1);
objectName[0].id = "ServerReady";
objectName[0].kind = iv_Kind.c_str();
try
{
cout<< "register object Name:" << i_ObjectName;
5. newContext->bind(objectName, i_ObjRef);
}
catch(CosNaming::NamingContext::AlreadyBound& ex)
{
cout<< "WARNING: Nameservice reports that the
object is already "
<< "bound: Reregister object Name:" <<
i_ObjectName; <<<<<<<<<<<<<<<<<<getting this Warning at
first time
6. newContext->rebind(objectName, i_ObjRef);
}
}
catch(...)
{
// Handle all other exceptions
pError = handleExceptions(FORB_SERV_REGISTER_OBJECT,
false, __LINE__,
0, 0, 0, __FUNCTION__,
strlen(__FUNCTION__)); <<<<<<<<<<<<<<<<<<<getting
this exception secnd time
ForbUDC_STRING_DATA data(i_ObjectName.c_str());
}
Any idea why we are getting it. We are seeing it for the first time. What
should we do to resolve it?
--
Regards,
Sheena
--
Regards,
Sheena
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20130531/5813ae12/attachment.html>
sheena kansal
2013-06-06 09:26:05 UTC
Permalink
Hi,

Did you got the chance to look at this mail.

Is there anything that can be done in the code/ configuration I pasted
above to avoid this exception.

We have not seen this exception anytime in past. This is the first time we
saw it, so wondering what could be the possible reason for this and can it
be fixed?
Post by sheena kansal
omniORB: 127.0.0.1
omniORB: 10.0.2.147
omniORB: 10.0.3.147
omniORB: ::1
omniORB: 11:2233:4455:6677:204:acff:fee3:288c
omniORB: Skip link local address fe80::204:acff:fee3:288c on interface eth0.
omniORB: Skip link local address fe80::204:acff:fee3:288d on interface eth1.
omniORB: 127.0.0.1
omniORB: 10.0.2.147
omniORB: 10.0.3.147
omniORB: ::1
omniORB: 11:2233:4455:6677:204:acff:fee3:288c
omniORB: DefaultInitRef (file) =
omniORB: DefaultInitRef (args) =
omniORB: abortOnInternalError = 0
omniORB: abortOnNativeException = 0
omniORB: acceptBiDirectionalGIOP = 0
omniORB: acceptMisalignedTcIndirections = 0
omniORB: bootstrapAgentHostname =
omniORB: bootstrapAgentPort = 900
omniORB: clientCallTimeOutPeriod = 0
omniORB: clientConnectTimeOutPeriod = 0
omniORB: clientTransportRule = * unix,ssl,tcp,sctp
omniORB: configFile = /etc/omniORB.cfg
omniORB: connectionWatchImmediate = 0
omniORB: connectionWatchPeriod = 1
omniORB: copyValuesInLocalCalls = 1
omniORB: diiThrowsSysExceptions = 0
omniORB: dumpConfiguration = 1
omniORB: endPoint = giop:unix:/tmp/forb.socket.fsp.a.omninames
omniORB: endPoint = giop:unix:/tmp/forb.socket.fsp.local.omninames
omniORB: endPoint = giop:tcp::32809
omniORB: endPointPublish =
giop:unix:/tmp/forb.socket.fsp.a.omninames,giop:tcp
:9.6.28.1:32809,giop:tcp:9.6.28.2:32809,giop:tcp:9.6.24.10:32809
,giop:tcp:9.6.25
.10:32809
omniORB: giopMaxMsgSize = 2097152
omniORB: giopTargetAddressMode = KeyAddr
omniORB: id = omniORB4
omniORB: idleThreadTimeout = 10
omniORB: immediateAddressSwitch = 0
omniORB: inConScanPeriod = 0
omniORB: lcdMode = 0
omniORB: maxGIOPConnectionPerServer = 5
omniORB: maxGIOPVersion = 1.2
omniORB: maxInterleavedCallsPerConnection = 5
omniORB: maxServerThreadPerConnection = 100
omniORB: maxServerThreadPoolSize = 100
omniORB: maxSocketRecv = 2147483647
omniORB: maxSocketSend = 2147483647
omniORB: nativeCharCodeSet = ISO-8859-1
omniORB: nativeWCharCodeSet = UTF-16
omniORB: objectTableSize = 0
omniORB: offerBiDirectionalGIOP = 0
omniORB: oneCallPerConnection = 0
omniORB: outConScanPeriod = 0
omniORB: poaHoldRequestTimeout = 0
omniORB: poaUniquePersistentSystemIds = 1
omniORB: principal = [Null]
omniORB: resetTimeOutOnRetries = 0
omniORB: scanGranularity = 5
omniORB: serverCallTimeOutPeriod = 0
omniORB: serverTransportRule = * unix,ssl,tcp,sctp
omniORB: socketSendBuffer = -1
omniORB: strictIIOP = 1
omniORB: supportBootstrapAgent = 0
omniORB: supportCurrent = 1
omniORB: supportPerThreadTimeOut = 0
omniORB: tcAliasExpand = 0
omniORB: threadPerConnectionLowerLimit = 9000
omniORB: threadPerConnectionPolicy = 0
omniORB: threadPerConnectionUpperLimit = 10000
omniORB: threadPoolWatchConnection = 0
omniORB: traceExceptions = 0
omniORB: traceFile = [stderr]
omniORB: traceInvocationReturns = 0
omniORB: traceInvocations = 0
omniORB: traceLevel = 1
omniORB: traceThreadId = 0
omniORB: traceTime = 0
omniORB: unixTransportDirectory = /tmp/omni-%u
omniORB: unixTransportPermission = 777
omniORB: useTypeCodeIndirections = 1
omniORB: validateUTF8 = 0
omniORB: verifyObjectExistsAndType = 1
Post by sheena kansal
Hi,
omniORB-4.1.6, c++
omniORB config (other than defaults)-
clientCallTimeOutPeriod = 0
clientConnectTimeOutPeriod = 15000
supportPerThreadTimeOut = 0
resetTimeOutOnRetries = 0
outConScanPeriod = 30
maxGIOPConnectionPerServer = 5
oneCallPerConnection = 0
serverCallTimeOutPeriod = 0
inConScanPeriod = 0
threadPerConnectionPolicy = 0
maxServerThreadPerConnection = 100
maxServerThreadPoolSize = 50
We are hitting the CORBA::PERSIST_STORE exception while trying to add a
object reference.
1. First we are doing bind() for a service, then we got a warning message
that object is arleady bound.
2. then when adding another object using bind(), then we are seeing
PERSIST_STORE exception.
here is the code for reference
try
{
// Bind a context
CosNaming::Name contextName;
contextName.length(1);
contextName[0].id = iv_AppName.c_str(); // string copied
contextName[0].kind = iv_Context.c_str(); // string copied
CosNaming::NamingContext_var newContext;
try
{
// Bind the context to root.
1. newContext =
iv_pNSRoot->bind_new_context(contextName);
}
catch(CosNaming::NamingContext::AlreadyBound& ex)
{
CORBA::Object_var obj;
2. obj = iv_pNSRoot->resolve(contextName);
3. newContext =
CosNaming::NamingContext::_narrow(obj);
4. if(CORBA::is_nil(newContext))
{
cout<< "Failed to narrow naming context:"
<<":" <<__FUNCTION__
<<__LINE__;
}
}
// Bind objref with input name to the context
CosNaming::Name objectName;
objectName.length(1);
objectName[0].id = "ServerReady";
objectName[0].kind = iv_Kind.c_str();
try
{
cout<< "register object Name:" << i_ObjectName;
5. newContext->bind(objectName, i_ObjRef);
}
catch(CosNaming::NamingContext::AlreadyBound& ex)
{
cout<< "WARNING: Nameservice reports that the
object is already "
<< "bound: Reregister object Name:" <<
i_ObjectName; <<<<<<<<<<<<<<<<<<getting this Warning at
first time
6. newContext->rebind(objectName, i_ObjRef);
}
}
catch(...)
{
// Handle all other exceptions
pError = handleExceptions(FORB_SERV_REGISTER_OBJECT,
false, __LINE__,
0, 0, 0, __FUNCTION__,
strlen(__FUNCTION__)); <<<<<<<<<<<<<<<<<<<getting
this exception secnd time
ForbUDC_STRING_DATA data(i_ObjectName.c_str());
}
Any idea why we are getting it. We are seeing it for the first time. What
should we do to resolve it?
--
Regards,
Sheena
--
Regards,
Sheena
--
Regards,
Sheena
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20130606/0ae3db6a/attachment.html>
Duncan Grisby
2013-06-06 14:24:07 UTC
Permalink
Post by sheena kansal
We are hitting the CORBA::PERSIST_STORE exception while trying to add
a object reference.
omniNames throws CORBA::PERSIST_STORE when it has an error writing its
transaction log file. Did the filesystem fill up or something like that?

Duncan.
--
Duncan Grisby <duncan at grisby.org>
Loading...