EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

[BugWrong] Вылет при работе с UAExpert


Author Message
Written on: 18. 12. 2013 [16:03]
aNdrOS
Андрей
Topic creator
registered since: 07.05.2010
Posts: 102
Ревизия OpenScada 2023, Centos 6.4 2.6.32-431.1.2.0.1.el6.x86_64 #1 SMP Fri Dec 13 13:06:13 UTC 2013 x86_64
Примерно через 20 минут после подключения UAExpert (1.2.2 175) к OpenScada произошел вылет. В UAExpert сразу после подключения выполнен был обзор и добавление атрибута в область DA View.

JAVASCRIPT
0|/sub_Transport/mod_Sockets/in_33/ | Socket write message '272'.                                                           
0|/sub_Protocol/mod_OPC_UA/ | MSG Req: 4d 53 47 46 3d 00 00 00 13 00 00 00 01 00 00 00                                      
3a 00 00 00 08 00 00 00 01 00 3a 03 00 01 56 b8                                                                             
dc 10 f7 fb ce 01 ef 27 00 00 00 00 00 00 ff ff                                                                             
ff ff 60 ea 00 00 00 00 00 00 00 00 00                                                                                      
0|/sub_Protocol/mod_OPC_UA/ | MSG Resp: 4d 53 47 46 3d 00 00 00 13 00 00 00 01 00 00 00                                     
3a 00 00 00 08 00 00 00 01 00 3a 03 00 01 56 b8                                                                             
dc 10 f7 fb ce 01 ef 27 00 00 00 00 00 00 ff ff                                                                             
ff ff 60 ea 00 00 00 00 00 00 00 00 00                                                                                      
0|/sub_Transport/mod_Sockets/in_33/ | Socket write message '85'.                                                            
0|/sub_Protocol/mod_OPC_UA/ | MSG Req: 4d 53 47 46 3d 00 00 00 13 00 00 00 01 00 00 00                                      
3b 00 00 00 09 00 00 00 01 00 3a 03 00 01 56 b8                                                                             
dc 10 f7 fb ce 01 f0 27 00 00 00 00 00 00 ff ff                                                                             
ff ff 60 ea 00 00 00 00 00 00 00 00 00                                                                                      
0|/sub_Protocol/mod_OPC_UA/ | MSG Resp: 4d 53 47 46 3d 00 00 00 13 00 00 00 01 00 00 00
3b 00 00 00 09 00 00 00 01 00 3a 03 00 01 56 b8
dc 10 f7 fb ce 01 f0 27 00 00 00 00 00 00 ff ff
ff ff 60 ea 00 00 00 00 00 00 00 00 00
0|/sub_Transport/mod_Sockets/in_33/ | Socket write message '85'.
0|/sub_Protocol/mod_OPC_UA/ | MSG Req: 4d 53 47 46 3d 00 00 00 13 00 00 00 01 00 00 00
3c 00 00 00 0a 00 00 00 01 00 3a 03 00 01 56 b8
dc 10 f7 fb ce 01 f1 27 00 00 00 00 00 00 ff ff
ff ff 60 ea 00 00 00 00 00 00 00 00 00
0|/sub_Protocol/mod_OPC_UA/ | MSG Resp: 4d 53 47 46 3d 00 00 00 13 00 00 00 01 00 00 00
3c 00 00 00 0a 00 00 00 01 00 3a 03 00 01 56 b8
dc 10 f7 fb ce 01 f1 27 00 00 00 00 00 00 ff ff
ff ff 60 ea 00 00 00 00 00 00 00 00 00
0|/sub_Transport/mod_Sockets/in_33/ | Socket write message '85'.
0|/sub_Protocol/mod_OPC_UA/ | MSG Req: 4d 53 47 46 3d 00 00 00 13 00 00 00 01 00 00 00
3d 00 00 00 0b 00 00 00 01 00 3a 03 00 01 56 b8
dc 10 f7 fb ce 01 f2 27 00 00 00 00 00 00 ff ff
ff ff 60 ea 00 00 00 00 00 00 00 00 00
0|/sub_Protocol/mod_OPC_UA/ | MSG Resp: 4d 53 47 46 3d 00 00 00 13 00 00 00 01 00 00 00
3d 00 00 00 0b 00 00 00 01 00 3a 03 00 01 56 b8
dc 10 f7 fb ce 01 f2 27 00 00 00 00 00 00 ff ff
ff ff 60 ea 00 00 00 00 00 00 00 00 00
0|/sub_Transport/mod_Sockets/in_33/ | Socket write message '85'.
0|/sub_Protocol/mod_OPC_UA/ | MSG Req: 4d 53 47 46 3d 00 00 00 13 00 00 00 01 00 00 00
3e 00 00 00 0c 00 00 00 01 00 3a 03 00 01 56 b8
dc 10 f7 fb ce 01 f3 27 00 00 00 00 00 00 ff ff
ff ff 60 ea 00 00 00 00 00 00 00 00 00
0|/sub_Protocol/mod_OPC_UA/ | MSG Resp: 4d 53 47 46 3d 00 00 00 13 00 00 00 01 00 00 00
3e 00 00 00 0c 00 00 00 01 00 3a 03 00 01 56 b8
dc 10 f7 fb ce 01 f3 27 00 00 00 00 00 00 ff ff
ff ff 60 ea 00 00 00 00 00 00 00 00 00
0|/sub_Transport/mod_Sockets/in_33/ | Socket write message '85'.
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
7|/ | OpenSCADA is aborted!
/usr/bin/openscada_Boiler: line 51: 10646 Aborted                 (core dumped) $pCmd $@
Program rezult: 134


[This article was edited 1 times, at last 18.12.2013 at 16:07.]
Written on: 18. 12. 2013 [16:23]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"aNdrOS" wrote:

Ревизия OpenScada 2023, Centos 6.4 2.6.32-431.1.2.0.1.el6.x86_64 #1 SMP Fri Dec 13 13:06:13 UTC 2013 x86_64
Примерно через 20 минут после подключения UAExpert (1.2.2 175) к OpenScada произошел вылет. В UAExpert сразу после подключения выполнен был обзор и добавление атрибута в область DA View.

У меня не падает, хотя надо на x86_64 проверить.
И отключите режим отладки, как-бы это не он сам вызывал падения. Надо эти сообщения заменить на более осмысленные, поскольку сейчас голый дамп не нужен и всё видно в WireShark.

"aNdrOS" wrote:

0|/sub_Transport/mod_Sockets/in_33/ | Socket write message '85'.
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc

Это скорее всего не проблема OpenSCADA, а похоже на проблему с памятью.

Кроме того высылать нужно отчёт о падении из рабочей директории.

Learn, learn and learn better than work, work and work.
Written on: 18. 12. 2013 [22:39]
aNdrOS
Андрей
Topic creator
registered since: 07.05.2010
Posts: 102
ревизия 2025. Приложил отчет о падении.

[This article was edited 1 times, at last 18.12.2013 at 22:40.]
Attachment

crash_2013-12-18_20:52.txt (File type: text/plain, Size: 28.22 kilobytes) — 2057 downloads
Written on: 19. 12. 2013 [10:18]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"aNdrOS" wrote:

ревизия 2025. Приложил отчет о падении.

Вчера собрал на x86_64. OpenSCADA как сервер с UAExpert проработала час без проблем.

Исходя из ошибки это таки проблема с памятью, а поскольку в нормальной системе проблем таких нет, то у Вас лимит на память в виртуальной машине, VPS или на саму программу лимит потребления памяти установлен. Т.е. разбирайтесь со своей системой!

P.S. Однако на x86_64 забавный момент увидел в функции:
int TMdContr::messIO( const char *obuf, int len_ob, char *ibuf, int len_ib )
{
tr.at().messIO(obuf, len_ob, ibuf, len_ib, 0, true);
}

Т.е. я упустил return перед вызовом tr.at().messIO(). И что интересно на x86 он даже возврат внутреннего вызова возвращал как внешний и всё работало, а на x86_64 клиент с таким не работал. :)
Однако с Вашей проблемой это не связано, поскольку Сервер работал нормально!

Исправил и убрал дампы в режиме отладки, через час выгружу.

Learn, learn and learn better than work, work and work.



11004