Сообщение создано: 16. 01. 2014 [15:38]
|
rxs5
Дмитрий Лыков
In tech support
Создатель темы
Зарегистрирован(а) с: 06.11.2013
Сообщения: 205
|
Еще один dump.
Работал OPC UA сервер, и было 2 клиента как обычно, шел обмен (видно по логу). И вдруг "terminate called after throwing an instance of 'std::bad_alloc' "
Лог из консоли
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket write message '256'.
0|/sub_Protocol/mod_OPC_UA/ | MSG Req
0|/sub_Protocol/mod_OPC_UA/ | MSG Resp
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket write message '196'.
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
7|/ | OpenSCADA is aborted!
/usr/bin/openscada_start: line 114: 20749 Aborted (core dumped) $pCmd $@
Program rezult: 134
Core dump process for back trace purchase to file core.20749_Boiler_2014-01-16_17:18.crash
И файл отчета во вложении.
[Сообщение редактировалось 1 раз(а), в последний раз 16.01.2014 в 15:39.]
Вложенный файл
|
Сообщение создано: 16. 01. 2014 [17:44]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"rxs5" wrote:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Если памяти потреблял не много то наверное попытка прочитать "publish" запрос из пустой очереди, что исправил.
Learn, learn and learn better than work, work and work.
|
Сообщение создано: 19. 01. 2014 [13:23]
|
rxs5
Дмитрий Лыков
In tech support
Создатель темы
Зарегистрирован(а) с: 06.11.2013
Сообщения: 205
|
"roman" wrote:
"rxs5" wrote:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Если памяти потреблял не много то наверное попытка прочитать "publish" запрос из пустой очереди, что исправил.
Тестировал по условиям из соседней темы http://oscada.org/ru/forum/posts/otslezhivanie_oshibok/crash_core_c_libopc_uacpp/%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B/2/#pid6105
Без своего модуля. OPC UA сервер опрашивается 3-мя клиентами: UAExpert, IWS, контроллер Openscada.
Результат - bad_alloc
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket write message '161'.
0|/sub_Transport/mod_Sockets/in_OPCUA_4848/ | Socket received message '61' from '192.168.195.192'.
0|/sub_Protocol/mod_OPC_UA/ | MSG Req
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
7|/ | OpenSCADA is aborted!
/usr/bin/openscada_start: line 114: 6895 Aborted (core dumped) $pCmd $@
Program rezult: 134
Core dump process for back trace purchase to file core.18115
Файл отчета во вложении.
И по самим файлам отчета.
Кроме файла .crash еще создается файл .txt вида
core.5693_Boiler_2014-01-17_19:56.crash_Boiler_2014-01-17_19:59.crash_Boiler_2014-01-17_20:04.crash_Boiler_2014-01-17_20:09.crash_Boiler_2014-01-18_21:44.crash.txt
Размер которого 0 байт и этот файл имеет странное имя. Такое началось с 17.01.2014.
И в консоли тоже странный лог.
Program rezult: 134
Core dump process for back trace purchase to file core.18115_Boiler_2014-01-17_16_28.crash_Boiler_2014-01-17_19:34.crash_Boiler_2014-01-17_19:55.crash_Boiler_2014-01-17_19:56.crash_Boiler_2014-01-17_19:59.crash_Boiler_2014-01-17_20:04.crash_Boiler_2014-01-17_20:09.crash_Boiler_2014-01-18_21:43.crash
"/home/Dmitry-L/.openscada/Boiler/core.18115_Boiler_2014-01-17_16_28.crash_Boiler_2014-01-17_19:34.crash_Boiler_2014-01-17_19:55.crash_Boiler_2014-01-17_19:56.crash_Boiler_2014-01-17_19:59.crash_Boiler_2014-01-17_20:04.crash_Boiler_2014-01-17_20:09.crash" is not a core dump: File format not recognized
Core dump process for back trace purchase to file core.20749_Boiler_2014-01-16_17_18.crash_Boiler_2014-01-17_16:28.crash_Boiler_2014-01-17_19:34.crash_Boiler_2014-01-17_19:55.crash_Boiler_2014-01-17_19:56.crash_Boiler_2014-01-17_19:59.crash_Boiler_2014-01-17_20:04.crash_Boiler_2014-01-17_20:09.crash_Boiler_2014-01-18_21:44.crash
/usr/bin/openscada_start: line 122: core.20749_Boiler_2014-01-16_17_18.crash_Boiler_2014-01-17_16:28.crash_Boiler_2014-01-17_19:34.crash_Boiler_2014-01-17_19:55.crash_Boiler_2014-01-17_19:56.crash_Boiler_2014-01-17_19:59.crash_Boiler_2014-01-17_20:04.crash_Boiler_2014-01-17_20:09.crash_Boiler_2014-01-18_21:44.crash: File name too long
Core dump process for back trace purchase to file core.31200_Boiler_2014-01-17_19:34.crash_Boiler_2014-01-17_19:55.crash_Boiler_2014-01-17_19:56.crash_Boiler_2014-01-17_19:59.crash_Boiler_2014-01-17_20:04.crash_Boiler_2014-01-17_20:09.crash_Boiler_2014-01-18_21:44.crash
"/home/Dmitry-L/.openscada/Boiler/core.31200_Boiler_2014-01-17_19:34.crash_Boiler_2014-01-17_19:55.crash_Boiler_2014-01-17_19:56.crash_Boiler_2014-01-17_19:59.crash_Boiler_2014-01-17_20:04.crash_Boiler_2014-01-17_20:09.crash" is not a core dump: File format not recognized
Core dump process for back trace purchase to file core.5693_Boiler_2014-01-17_19:56.crash_Boiler_2014-01-17_19:59.crash_Boiler_2014-01-17_20:04.crash_Boiler_2014-01-17_20:09.crash_Boiler_2014-01-18_21:44.crash
"/home/Dmitry-L/.openscada/Boiler/core.5693_Boiler_2014-01-17_19:56.crash_Boiler_2014-01-17_19:59.crash_Boiler_2014-01-17_20:04.crash_Boiler_2014-01-17_20:09.crash" is not a core dump: File format not recognized
Core dump process for back trace purchase to file core.6895_Boiler_2014-01-18_21:44.crash
Missing separate debuginfo for /usr/lib/liboscada.so.2
Можно это тоже поправить ?
Вложенный файл
|
Сообщение создано: 19. 01. 2014 [14:46]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
Так, а с памятью то что?
Ошибка выделения памяти обычно при её отсутствии!
"rxs5" wrote:
Core dump process for back trace purchase to file core.18115[/js]
Файл отчета во вложении.
Файл бесполезный, поскольку проблемный модуль стрипнутый (без отладочной информации) почему-то.
"rxs5" wrote:
Можно это тоже поправить ?
Исправил и выгрузил!
Learn, learn and learn better than work, work and work.
|