Crash when using specific namespace uri

Questions regarding the use of UaModeler

Moderator: uamodeler

Post Reply
profanter
Full Member
Full Member
Posts: 5
Joined: 30 Sep 2016, 15:00

Crash when using specific namespace uri

Post by profanter »

Hi,
I'm using UaModeler Evaluation Version 1.5.0 on Ubuntu 16.04.

I found a bug where UaModeler just crashes:

1. Create a new project and use any namespace uri, e.g. "http://myorga.com/ns"
2. Right-Click on the custom model in the Models tree and select 'Model Settings'
3. Change the namespace URI to 'http://opcfoundation.org/UA/DI/' and press OK
4. Kaboum! There you have the SegFault

The model files are attached, but you can also just create a new project.

Here is the GDB output:
/o/u/u/bin $ gdb --args ./uamodeler ⏎
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./uamodeler...(no debugging symbols found)...done.
(gdb) r
Starting program: /opt/unifiedautomation/uamodeler/bin/uamodeler
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe3cd2700 (LWP 9860)]
[New Thread 0x7fffe34d1700 (LWP 9861)]
[New Thread 0x7fffe2cd0700 (LWP 9862)]
[New Thread 0x7fffe24cf700 (LWP 9863)]
[Thread 0x7fffe2cd0700 (LWP 9862) exited]
[New Thread 0x7fffe2cd0700 (LWP 9866)]
[New Thread 0x7fffd1b18700 (LWP 9867)]
[New Thread 0x7fffd0ca3700 (LWP 9868)]
[New Thread 0x7fffc7fff700 (LWP 9869)]
[Thread 0x7fffc7fff700 (LWP 9869) exited]
[Thread 0x7fffd0ca3700 (LWP 9868) exited]
[Thread 0x7fffd1b18700 (LWP 9867) exited]
[Thread 0x7fffe24cf700 (LWP 9863) exited]
"No of nodes 0"
"ProjectFile /home/profanter/test/model/opc_ua_di_nodeset2.tt2pro
"
"Loading model /opt/unifiedautomation/uamodeler/bin/models/Opc.Ua.NodeSet2.ua ..."
"Value of 15185 has invalid type
"
"Model Opc.Ua.NodeSet2.ua loaded.
"
Model loaded
"Loading model /home/profanter/test/model/opc.ua.di.nodeset2.ua ..."
"Model opc.ua.di.nodeset2.ua loaded.
"
Model loaded
"Project Loaded.
"

Thread 1 "uamodeler" received signal SIGSEGV, Segmentation fault.
0x000000000073bbb7 in UaNodeId::namespaceUri(unsigned short) ()
(gdb) bt
#0 0x000000000073bbb7 in UaNodeId::namespaceUri(unsigned short) ()
#1 0x0000000000612c95 in BinaryExporter::findNamespaceUris(unsigned short) const ()
#2 0x0000000000616039 in BinaryExporter::saveFile(QString const&, QString const&) ()
#3 0x00000000005a51ad in DialogRenameModel::sltOkButtonClicked() ()
#4 0x00007ffff5c92010 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5 0x00007ffff706dd12 in QAbstractButton::clicked(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#6 0x00007ffff6da32b3 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#7 0x00007ffff6da4664 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8 0x00007ffff6da4774 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9 0x00007ffff6a1f8d0 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007ffff69c8fdc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#11 0x00007ffff69d00d6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#12 0x00007ffff5c7d90d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#13 0x00007ffff69cf6dd in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14 0x00007ffff6a4d3f2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#15 0x00007ffff6a4cc83 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#16 0x00007ffff6a76542 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007ffff3c821a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff3c82400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff3c824ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff5cae2ae in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#21 0x00007ffff6a76616 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#22 0x00007ffff5c7c18f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#23 0x00007ffff5c7c4f5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#24 0x00007ffff6eaba3c in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#25 0x0000000000687ff0 in MainWindow::sltRenameProjectNode() ()
#26 0x00007ffff5c92010 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#27 0x00007ffff69c2d62 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007ffff69c40b3 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007ffff6e259fd in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#30 0x00007ffff6e29de9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007ffff6a1f8d0 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007ffff6e2dffb in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#33 0x00007ffff69c8fdc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007ffff69d00d6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#35 0x00007ffff5c7d90d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#36 0x00007ffff69cf6dd in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#37 0x00007ffff6a4dd7c in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#38 0x00007ffff6a4cc83 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#39 0x00007ffff6a76542 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#40 0x00007ffff3c821a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#41 0x00007ffff3c82400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007ffff3c824ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007ffff5cae2ae in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#44 0x00007ffff6a76616 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#45 0x00007ffff5c7c18f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#46 0x00007ffff5c7c4f5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#47 0x00007ffff6e2cb57 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#48 0x00000000007e0942 in TreeViewProject::contextMenuEvent(QContextMenuEvent*) ()
#49 0x00007ffff6a1f8d0 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#50 0x00007ffff6de8cee in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#51 0x00007ffff6f0e663 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#52 0x00007ffff6f4ff9c in QTreeView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#53 0x00007ffff5c7da76 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#54 0x00007ffff69c8fbc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#55 0x00007ffff69d0f0c in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#56 0x00007ffff5c7d90d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#57 0x00007ffff6a4d45c in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#58 0x00007ffff6a4cc83 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#59 0x00007ffff6a76542 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#60 0x00007ffff3c821a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#61 0x00007ffff3c82400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#62 0x00007ffff3c824ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#63 0x00007ffff5cae2ae in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#64 0x00007ffff6a76616 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#65 0x00007ffff5c7c18f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#66 0x00007ffff5c7c4f5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#67 0x00007ffff5c824b9 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#68 0x00000000004f7fef in main ()
(gdb) q
A debugging session is active.

Inferior 1 [process 9856] will be killed.

Quit anyway? (y or n) y

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

Re: Crash when using specific namespace uri

Post by Support Team »

Thank you for the detailed bug report. We could reproduce the crash and will fix it in the next hotfix release.
Best regards
Unified Automation Support Team

Post Reply