Assert error from UaPlatformLayer::init() at line:438 UA_ASSERT( OpcUa_IsGood(uStatus) ); after upgrading to opcuasdk1.

Questions regarding the use of the C++ SDK for Server or Client development or integration into customer products ...

Moderator: uasdkcpp

Post Reply
Sai Akash
Jr. Member
Jr. Member
Posts: 1
Joined: 22 Feb 2024, 10:04

Assert error from UaPlatformLayer::init() at line:438 UA_ASSERT( OpcUa_IsGood(uStatus) ); after upgrading to opcuasdk1.

Post by Sai Akash »

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.

angesim
Jr. Member
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

Post by angesim »

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

User avatar
Support Team
Hero Member
Hero Member
Posts: 3072
Joined: 18 Mar 2011, 15:09

Re: Assert error from UaPlatformLayer::init() at line:438 UA_ASSERT( OpcUa_IsGood(uStatus) ); after upgrading to opcuas

Post by Support Team »

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.
Best regards
Unified Automation Support Team

Post Reply