Hi,
Our application is built on opcuasdk 1.7.
As part of upgrading openssl from version 1.1.1 to 3.x, we had to also upgrade opcua sdk from 1.7 to 1.8.2
Now trying with debug build of opcuasdk(1.8) to understand the segmentation fault from opcuasdk. Since it is debug build , now getting errors from Assert in UaPlatformLayer::init() at line:438 UA_ASSERT( OpcUa_IsGood(uStatus) );
Our application is trying to start server and this is the order of the sdk methods called from our application.
#if SUPPORT_XML_PARSER
// Libxml2 must be initialized in the main thread before any calls to its api
UaXmlDocument::initParser();
#endif
UaPlatformLayer::init();
UaCoreServerApplication::setCallback(m_pServerCallback);
UaCoreServerApplication::setServerConfig()
UaCoreServerApplication::start()
.
.
.
if init is commented, getting assert error from start()
OpcUa_P_Mutex_LockImp: Assertion `hMutex != NULL' failed.
/home/edge/opcua-server/entrypoint.sh: line 2: 8 Aborted
These assert error could be something indicating something wrong in using opcuasdk methods.
This code was working for sdk 1.7 version.
Kindly help me and let me know what configurations are missing in this application .
A quick help is much appreciated.
Thanks in advance.
Assert error from UaPlatformLayer::init() at line:438 UA_ASSERT( OpcUa_IsGood(uStatus) ); after upgrading to opcuasdk1.
Moderator: uasdkcpp
-
- Jr. Member
- Posts: 1
- Joined: 22 Feb 2024, 10:04
-
- Jr. Member
- Posts: 1
- Joined: 04 Mar 2024, 12:31
Re: Assert error from UaPlatformLayer::init() at line:438 UA_ASSERT( OpcUa_IsGood(uStatus) ); after upgrading to opcuas
Hallo
I got the same error using the evaluation sdk that i got from Prosys using version 1.8.0.601
Is there any update on this?
Best Regards
Simon
I got the same error using the evaluation sdk that i got from Prosys using version 1.8.0.601
Is there any update on this?
Best Regards
Simon
- Support Team
- Hero Member
- Posts: 3078
- Joined: 18 Mar 2011, 15:09
Re: Assert error from UaPlatformLayer::init() at line:438 UA_ASSERT( OpcUa_IsGood(uStatus) ); after upgrading to opcuas
Hi,
the assertion in UaPlatformLayer::init() typically happen when you already have initialized the PL (already have endpoint open, or session open). People having Client and Server in same application, sometimes accidentially initialize the PlatformLayer twice, which ultimately ends up in Assertion.
However, this was already same in old 1.7 and is unchanged in 1.8 series.
For further investigation you should open up support ticket via support form:
https://webdav.unifiedautomation.com/support/support_form.html
We will need some reproducible example code from you for further investigation.
the assertion in UaPlatformLayer::init() typically happen when you already have initialized the PL (already have endpoint open, or session open). People having Client and Server in same application, sometimes accidentially initialize the PlatformLayer twice, which ultimately ends up in Assertion.
However, this was already same in old 1.7 and is unchanged in 1.8 series.
For further investigation you should open up support ticket via support form:
https://webdav.unifiedautomation.com/support/support_form.html
We will need some reproducible example code from you for further investigation.
Best regards
Unified Automation Support Team
Unified Automation Support Team