LINUX.ORG.RU

Расследование бага приложении на Qt

 , chrome embedded, , ,


0

1

Есть одно коммерческое приложение, разработчики которого вроде как поддерживают линукс, но говорят, что прям щас у них нет линукс-поддержки. Но билды собирают.

А у них бажина при открытии окна для cloud-синхронизации.

➜  ~ mindmaster
[1028/165417.446192:ERROR:data_pack.cc(209)] Bad data pack version: got 5, expected 4
[1028/165417.447664:ERROR:resource_bundle_qt.cpp(123)] failed to load locale.pak
[1028/165417.491629:ERROR:data_pack.cc(209)] Bad data pack version: got 5, expected 4
[1028/165417.492010:ERROR:resource_bundle_qt.cpp(123)] failed to load locale.pak
[1:1:1028/165417.602873:ERROR:data_pack.cc(209)] Bad data pack version: got 5, expected 4
Received signal 11 SEGV_MAPERR 000000000000
#0 0x7f5be5e200a5 <unknown>
#1 0x7f5be4b61141 <unknown>
#2 0x7f5be5e2043d <unknown>
#3 0x7f5be1f7ea90 <unknown>
#4 0x7f5be6773f70 <unknown>
#5 0x7f5be676e248 <unknown>
#6 0x7f5be676bb3d <unknown>
#7 0x7f5be4b7e30b <unknown>
#8 0x7f5be6e93be4 <unknown>
#9 0x7f5be6f95716 <unknown>
#10 0x7f5be71b1da2 <unknown>
#11 0x7f5be71421c2 <unknown>
#12 0x7f5be715947d <unknown>
#13 0x7f5be8adf1a3 <unknown>
#14 0x7f5be7136b21 <unknown>
#15 0x7f5be7136c11 <unknown>
#16 0x7f5be8ad5047 <unknown>
#17 0x7f5be8adf5e0 <unknown>
#18 0x7f5be8ae1fe2 <unknown>
#19 0x7f5be872dc25 <unknown>
#20 0x7f5be55ab503 <unknown>
#21 0x7f5be5633527 <unknown>
#22 0x7f5be5633cc7 <unknown>
#23 0x0adbd5d0463d <unknown>
  r8: 00007ffe06277600  r9: 0000000000000000 r10: 0000000000000000 r11: 00007ffe062775cc
 r12: 00007ffe06277600 r13: 00007ffe06277810 r14: 0000000000004e8b r15: 0000000000000000
  di: 0000000000000000  si: 0000000000004e8b  bp: 0000000000000000  bx: 0000000001850900
  dx: 00007ffe06277600  ax: 00007f5bea732468  cx: 0000000000004e8b  sp: 00007ffe06277400
  ip: 00007f5be6773f70 efl: 0000000000010206 cgf: 002b000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.

Я им это все предоставил, но они ссылаются на Qt и CEF (Chrome Embedded). Мол, где-то что-то у майнтейнера.

Может, сталкивался кто? Может там есть какой-то хак с настройками? В чем там вообще дело?

★★★★★

Недавно тоже ловил сегфолт на этом CEF в его JCEF-редакции. Было в IDEA при просмотре Markdown-файлов.

Fedora 32

Возможно это не особо связано, но всё же.

EXL ★★★★★
()

надо отладочные символы, однако. без них мало чо понятно в этом трейсе..

aol ★★★★★
()
Ответ на: комментарий от bhfq

каковы твои предложения, на-ноль-делятор?

aol ★★★★★
()

Не плати им денег пока не починят тебе программу.

Зачем ты вообще взял такое «коммерческое» приложение, которое не работает?

Пожалуйся в общество защиты прав потребителей…

fsb4000 ★★★★★
()

В чем там вообще дело? failed to load locale.pak [1:1:1028/165417.602873:ERROR:data_pack.cc(209)] Bad data pack version: got 5, expected 4

Так она же прямо пишет, что не может загрузить locale.pak версии 5, ожидает найти в нем 4-ю версию.

sigurd ★★★★★
()

ERROR:data_pack.cc(209)] Bad data pack version: got 5, expected 4

А что за data pack cc? Сериализатор? Различаются версии стримов и всё валится?

Если честно, не усматриваю связи собственно с фреймфорком Qt 5

I-Love-Microsoft ★★★★★
()

Bad data pack version: got 5, expected 4

Разве это не первое на что надо копать, ожидается одно, а суётся ему другое

anonymous
()
Ответ на: комментарий от BceM_IIpuBeT

Да, на растете нету графического софта =) Нет софта нет проблем следовательно раз нет проблем то дела лучше

anonymous
()
Ответ на: комментарий от anonymous

Да у них на все такой ответ. Нет динамических библиотек - и не надо. И т.д. и т.п.

annulen ★★★★★
()

эту ошибку можно расшифровать и без трасировки. Все ПО на базе хромиума использует файлы ресурсов наподобие browser_100_percent.pak и browser_200_percent.pak (названия могут быть другие), в том числе и cef. Смотри
https://chromium.googlesource.com/chromium/src/+/master/ui/base/resource/data_pack.cc#356. Проверить версию можно простым hexdump - первый байт. Но я сомневаюсь, что ошибки на этом закончатся.

arrecck ★★★
()
Ответ на: комментарий от arrecck

как ему подсунуть нужную версию? и где взять? :)

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от sigurd

дык все верно. а как подсунуть нужную и где ее взять? это версия Qt? как запустить на нужной версии?

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

вот по этой ошибке я связал с кутями

[1028/165417.447664:ERROR:resource_bundle_qt.cpp(123)] failed to load locale.pak
bvn13 ★★★★★
() автор топика
Ответ на: комментарий от x905

вот такая шляпа

access("/opt/MindMaster-8/translations/qtwebengine_locales/en-US.pak", F_OK) = 0
access("/opt/MindMaster-8/translations/qtwebengine_locales/en-US.pak", F_OK) = 0
openat(AT_FDCWD, "/opt/MindMaster-8/translations/qtwebengine_locales/en-US.pak", O_RDONLY) = 163
fstat(163, {st_mode=S_IFREG|0664, st_size=171130, ...}) = 0
mmap(NULL, 171130, PROT_READ, MAP_SHARED, 163, 0) = 0x7f40ac007000
write(2, "[1029/111907.003117:ERROR:data_p"..., 86[1029/111907.003117:ERROR:data_pack.cc(209)] Bad data pack version: got 5, expected 4
) = 86
munmap(0x7f40ac007000, 171130)          = 0
close(163)                              = 0
write(2, "[1029/111907.004250:ERROR:resour"..., 81[1029/111907.004250:ERROR:resource_bundle_qt.cpp(123)] failed to load locale.pak
) = 81
socketpair(AF_UNIX, SOCK_SEQPACKET, 0, [163, 164]) = 0
shutdown(163, SHUT_RD)                  = 0
shutdown(164, SHUT_WR)                  = 0
pipe([165, 166])                        = 0
clone(child_stack=0x7f40ce1cbc70, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[2952930], tls=0x7f40ce1cc700, child_tidptr=0x7f40ce1cc9d0) = 2952930
futex(0x7fffcb367e88, FUTEX_WAIT_PRIVATE, 0, NULL) = 0
futex(0x7fffcb367e38, FUTEX_WAKE_PRIVATE, 1) = 0
access("/opt/MindMaster-8/libexec/chrome-sandbox", F_OK) = -1 ENOENT (No such file or directory)
stat("/proc/self/exe", {st_mode=S_IFREG|0775, st_size=13195816, ...}) = 0
getuid()                                = 1000
getresuid([1000], [1000], [1000])       = 0
getresgid([1000], [1000], [1000])       = 0
clone(child_stack=0x7fffcb367c50, flags=CLONE_NEWUSER|SIGCHLD) = 2952931
wait4(2952931, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2952931
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=2952931, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
socketpair(AF_UNIX, SOCK_SEQPACKET, 0, [167, 168]) = 0
setsockopt(167, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
access("/proc/self/ns/user", F_OK)      = 0
access("/proc/self/ns/user", F_OK)      = 0
access("/proc/self/ns/pid", F_OK)       = 0
access("/proc/self/ns/user", F_OK)      = 0
access("/proc/self/ns/net", F_OK)       = 0
getuid()                                = 1000
getgid()                                = 1000
access("/proc/self/setgroups", F_OK)    = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], [], 8) = 0
clone(child_stack=0x7fffcb3673b0, flags=CLONE_NEWUSER|CLONE_NEWPID|CLONE_NEWNET|SIGCHLD) = 2952932
rt_sigprocmask(SIG_SETMASK, [], ~[KILL STOP RTMIN RT_1], 8) = 0
close(168)                              = 0
recvmsg(167, [1029/111907.069933:ERROR:data_pack.cc(209)] Bad data pack version: got 5, expected 4
[1029/111907.070265:ERROR:resource_bundle_qt.cpp(123)] failed to load locale.pak
bvn13 ★★★★★
() автор топика
Ответ на: комментарий от bvn13

А на чем вы запускаете прогу? По логам вашей ошибки я предположил, что прога на Qt4, а ресурсы положили от Qt5. Но я скачал пакет Mindmaster_8 для Федоры и он прекрасно запустился на Федоре-32. Сама прога на Qt5.

А - нет - при попытке подключиться к Облаку тоже упало с такой-же ошибкой!

Кстати - пакеты локалей для QtWebEngine 5-й версии, а пакеты самого webengine в /opt/MindMaster-8/resourses 4-й версии. Может попробовать найти пакеты локалей 4-й версии и подменить.

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 2)
Ответ на: комментарий от sigurd

да. все так. федора 32, прога та самая. беда с облаком.

я в кутях не варюсь, нет навыка.

Где что подменять?

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от sigurd

Ты слишком умен для этой жизни, ликвидаторы уже выехали.

anonymous
()
Ответ на: комментарий от anonymous

Это я посмотрел в первую очередь! И сделал противоположный вывод! QtWebEngine не может загрузить свой собственный locale.pak! Проблема именно в версиях пакетов QtWebEngine. Они их накидали разных версий в разные каталоги!

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)
Ответ на: комментарий от sigurd

у меня 2 идеи: 1) попытаться запустить на Qt4 и 2) подсунуть этот locale.pak

Есть опыт, как это сделать?

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от sigurd

нет не в qt, с qt все хорошо, проблема в окалеченном окружении.

anonymous
()
Ответ на: комментарий от bvn13

у меня 2 идеи: 1) попытаться запустить на Qt4 и 2) подсунуть этот locale.pak

Посмотрел ради интереса.

дело не в кутях. На локальпак она ругается уже после попытки подключения к облаку:

fcntl(20, F_ADD_SEALS, F_SEAL_SEAL|F_SEAL_SHRINK|F_SEAL_GROW) = -1 EPERM (Операция не позволена)

но перед этим, она вываливает целую портянку из вот такого:

futex(0x7fa66982d9c8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7fa66982d9c8, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Ресурс временно недоступен)

возможно дело в протухших libssl.so.10 , которые она таскает с собой, а облако давно уже на современной версии.

Gramozeka ★★
()
Ответ на: комментарий от bvn13

у меня 2 идеи: 1) попытаться запустить на Qt4 и 2) подсунуть этот locale.pak

Тут Qt5 используется версии 5.10.1 - упакованная вместе с прогой либа вышла в 2018г. По пакетам ей соответствует qt5-webengine-5.10.1 из Федоры-28. Я попробовал - там паки локали 4-й версии, как надо. Заменил паки, на них перестало ругаться, но почти сразу же упало на попытке вывода на экран. Упало в драйвере NVIDIA drv-nouveau при попытке обратиться к чужой памяти. Тут уже никаких подробностей нет.

Далее разбираться не стал - прога мне не нужна. Линуксовая версия гораздо древнее виндовой. И если они уже 2 года распространяют заведомо нерабочую версию, то она и разработчику видимо ненужна!

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

Давайте не будем упоминать раст. Он, вообще, оказался непригоден для распространения закрытых коммерческих библиотек. Нет и намека на то, что когда-нибудь появится стабильное ABI. Писать закрытый софт на нем очень и очень затруднительно в отличие от тех же плюсов, компиляторы которых довольно хорошо умеют работать с теми же статическими либами с закрытым кодом. Поэтому не надо тут рекламировать раст - он недодуман для коммерсов

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.