УкраїнськаEnglishmRussian
Вхід/Новий
У темі багато повідомлень

[BugFixed] Падение 0.8.17 LTS входящий SSL транспорт


Автор Повідомлення
Повідомлення створено: 10. 05. 2017 [14:26]
fido_max
Maxim Kochetkov
Contributor
Автор теми
Зареєстрован(а) с: 28.10.2010
Повідомлення: 129
CentOS из репозитория установлена LTS версия 0.8.17
После создания двух входящих SSL транспортов начались регулярные падения.
На одном транспорте HTTP, на другом SelfSystem.
Падение происходит в момент отображения свойств транспорта в конфигураторе (не имеет значения QT или Web), причем не сразу, а спустя какое-то время.
Некоторое время все работает пормально, затем SSL транспорты перестают отвечать, а при попытке посмотреть свойства SSL транспорта - падение.
Вкладений файл

crash_2017-05-10_11:25.txt (Тип файлу: text/plain, Розмір: 17.24 кілобайтів) — 1327 завантажень
Повідомлення створено: 10. 05. 2017 [15:17]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"fido_max" wrote:

Падение происходит в момент отображения свойств транспорта в конфигураторе (не имеет значения QT или Web), причем не сразу, а спустя какое-то время.
Некоторое время все работает пормально, затем SSL транспорты перестают отвечать, а при попытке посмотреть свойства SSL транспорта - падение.

Пока не падало!
Пакет отладки ставьте иначе этот дамп фактически бесполезен.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 10. 05. 2017 [15:30]
fido_max
Maxim Kochetkov
Contributor
Автор теми
Зареєстрован(а) с: 28.10.2010
Повідомлення: 129
Новый отчет

P.S. я так понял, что падает оно в момент формирования строки о состоянии транспорта (подключен, количество подключений, траффик...), но к этому моменту транспорт уже сломан и не работает.

[Повідомлення редагувалось 1 раз(ів), останній раз 10.05.2017 в 15:41.]
Вкладений файл

crash_2017-05-10_15:34.txt (Тип файлу: text/plain, Розмір: 128.68 кілобайтів) — 1298 завантажень
Повідомлення створено: 10. 05. 2017 [15:54]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"fido_max" wrote:

openscada-debuginfo.x86_64 ?

Да

"fido_max" wrote:

в скрипте запуска менять ничего не надо?

Ничего не нужно менять.

Однако падение я получил, с таким:
Thread 1 (Thread 0x7fc74aff5700 (LWP 11852)):
#0 0x00007fc7f5b12dcc in vfprintf () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1 0x00007fc7f5b3a409 in vsnprintf () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2 0x00007fc7f66cd7f4 in OSCADA::TSYS::strMess (fmt=<optimized out>) at tsys.cpp:343
str = "1029767362-43-32711T22:45:39 -1(", '###Quote_BUFFER_MARKER_MMCMS###0' <repeats 1776 times>...
argptr = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fc74aff21f0, reg_save_area = 0x7fc74aff2120}}
#3 0x00007fc7da657425 in MSSL::TSocketIn::cntrCmdProc (this=0x16064b0, opt=0x7fc790000bd0) at modssl.cpp:651

Откуда взялось такое "1029767362-43-32711T22:45:39" в качестве метки времени я даже не представляю, причём учитывая, что оно само по себе не меняется нигде.

Зависаний у меня нет, хотя не исключено, что в SSL есть нечто общее, посмотрю через valgrind.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 10. 05. 2017 [16:10]
fido_max
Maxim Kochetkov
Contributor
Автор теми
Зареєстрован(а) с: 28.10.2010
Повідомлення: 129
Сейчас заткнулся транспорт на HTTP.
Транспорт на SelfSystem работал, до того момента как не посмотрел статистику транспорта SelfSystem (именно SelfSystem, а не HTTP!)
Повідомлення створено: 10. 05. 2017 [17:01]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"fido_max" wrote:

Сейчас заткнулся транспорт на HTTP.
Транспорт на SelfSystem работал, до того момента как не посмотрел статистику транспорта SelfSystem (именно SelfSystem, а не HTTP!)

Если транспорт SSL то это те-же яйца и он где-то портит память.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 10. 05. 2017 [17:03]
fido_max
Maxim Kochetkov
Contributor
Автор теми
Зареєстрован(а) с: 28.10.2010
Повідомлення: 129
"roman" wrote:

Если транспорт SSL то это те-же яйца и он где-то портит память.

Именно так. Оба транспорта - SSL.
На рабочей версии воспроизвести пока не могу.
Повідомлення створено: 10. 05. 2017 [17:38]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"fido_max" wrote:

На рабочей версии воспроизвести пока не могу.

Я добился:
Thread 1 (Thread 0x7fe0abff7700 (LWP 25689)):
#0 0x00007fe15e465dcc in vfprintf () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1 0x00007fe15e48d409 in vsnprintf () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2 0x00007fe15f2543e4 in OSCADA::TSYS::strMess (fmt=<optimized out>) at tsys.cpp:346
str = "4457593-12-13T03:42:24 1010558112(", '###Quote_BUFFER_MARKER_MMCMS###0' <repeats 3214 times>...
argptr = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fe0abff3dd0, reg_save_area = 0x7fe0abff3d00}}


Learn, learn and learn better than work, work and work.
Повідомлення створено: 10. 05. 2017 [21:40]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
Да, там OpenSSL версии более 1, как и почти везде, где с большинством шифров иногда возникает ошибка, причём хоть для SSL, хоть для TLS:
BIO_should_retry: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

Обработка этой ошибки была некорректна, в результате чего объект подключения удалялся, но не снимался с регистрации, что и приводило к неизбежному заходу по его старому адресу и падению, как минимум.

Также накапливались хандлеры сокетов, что приводило к их полной "выборке" и невозможности открыть ещё что-то.

Собственно прекращение отклика и падение исправил, а вот с причиной я ничего не сделаю.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 10. 05. 2017 [22:45]
fido_max
Maxim Kochetkov
Contributor
Автор теми
Зареєстрован(а) с: 28.10.2010
Повідомлення: 129
http://openssl.6102.n7.nabble.com/error-1408F10B-SSL-routines-SSL3-GET-RECORD-wrong-version-number-td22477.html

Тут тоже про эту ситуацию говорят.

А пакеты LTS в ближайшее время будут обновлены?



2485