Summary: | Аварийное завершение клиента 1С:Предприятие | ||
---|---|---|---|
Product: | Альт Рабочая станция | Reporter: | Pavel Isopenko <master> |
Component: | Ошибки работы | Assignee: | Andrey Cherepanov <cas> |
Status: | CLOSED FIXED | QA Contact: | qa-p8 <qa-p8> |
Severity: | major | ||
Priority: | P3 | CC: | admaks, aen, alex, boyarsh, cas, ekorneechev, hazov, igorgof, klark, lav, mav, mike, zerg |
Version: | 9.0 | ||
Hardware: | all | ||
OS: | Linux |
Description
Pavel Isopenko
2019-07-09 14:03:09 MSK
То была альфа Рабочей станции, с бетой не лучше. Даже на запрос имени пользователя не выходит. $ /opt/1C/v8.3/x86_64/1cv8 (1cv8:6219): dbind-WARNING **: 17:03:55.490: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-gLgzu10U2z: В соединении отказано Ошибка сегментирования Самое любопытное тут: $ strace /opt/1C/v8.3/x86_64/1cv8 ... openat(AT_FDCWD, "/usr/lib/browser-plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/usr/lib/mozilla/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/usr/local/netscape/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/opt/mozilla/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/opt/mozilla/lib/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/opt/netscape/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/opt/netscape/communicator/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/usr/lib/netscape/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/usr/lib/netscape/plugins-libc5", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/usr/lib/netscape/plugins-libc6", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/usr/lib64/netscape/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/usr/lib64/mozilla/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/usr/lib/nsbrowser/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/usr/lib64/nsbrowser/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) openat(AT_FDCWD, "/plugins", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (Нет такого файла или каталога) stat("/usr/lib64/browser-plugins/librtpkcs11ecp.so", {st_mode=S_IFREG|0644, st_size=2888416, ...}) = 0 stat("/usr/lib64/browser-plugins/libnpCryptoPlugin.so", {st_mode=S_IFREG|0644, st_size=5657312, ...}) = 0 Ладно, плагинов к USB-токенам в системе может и не быть clock_gettime(CLOCK_MONOTONIC, {tv_sec=17906, tv_nsec=742684167}) = 0 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{iov_base="\24\0\6\0\30\7`\0026\1\0\0\6\0\0\0\0\0\0\0\377\377\377\377", iov_len=24}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 24 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1 CS\4\0\0\0\6\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 48 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{iov_base="\16\0\2\0\30\7`\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\30DS\0\0\0\0h\1\0\0\6\0\37\0\300\3\0\3\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{iov_base="(\0\4\0\30\7`\2h\1\0\0\0\0\0\0", iov_len=16}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 16 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\1ES\0\0\0\0\252\346\273\0\246\0\237\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32 clock_gettime(CLOCK_MONOTONIC, {tv_sec=17906, tv_nsec=743335356}) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9c97000 madvise(0x7f5dd9c97000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9ca0000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9ca0000, 65536, MADV_WILLNEED) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9c78000 madvise(0x7f5dd9c78000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9c80000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9c80000, 65536, MADV_WILLNEED) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9c59000 madvise(0x7f5dd9c59000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9c60000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9c60000, 65536, MADV_WILLNEED) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9c3a000 madvise(0x7f5dd9c3a000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9c40000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9c40000, 65536, MADV_WILLNEED) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9c1b000 madvise(0x7f5dd9c1b000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9c20000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9c20000, 65536, MADV_WILLNEED) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9bfc000 madvise(0x7f5dd9bfc000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9c00000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9c00000, 65536, MADV_WILLNEED) = 0 mprotect(0x7f5d93fff000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC) = 0 madvise(0x7f5d93fff000, 4096, MADV_WILLNEED) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9bdd000 madvise(0x7f5dd9bdd000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9be0000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9be0000, 65536, MADV_WILLNEED) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9bbe000 madvise(0x7f5dd9bbe000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9bc0000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9bc0000, 65536, MADV_WILLNEED) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9b9f000 madvise(0x7f5dd9b9f000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9ba0000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9ba0000, 65536, MADV_WILLNEED) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9b80000 madvise(0x7f5dd9b80000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9b80000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9b80000, 65536, MADV_WILLNEED) = 0 mmap(NULL, 126976, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f5dd9b61000 madvise(0x7f5dd9b61000, 126976, MADV_DONTNEED) = 0 mprotect(0x7f5dd9b70000, 65536, PROT_READ|PROT_WRITE) = 0 madvise(0x7f5dd9b70000, 65536, MADV_WILLNEED) = 0 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x8} --- +++ killed by SIGSEGV +++ Ошибка сегментирования Версия платформы 1С:Предприятие 8.3.13.1865, и - валится не с любой конфигурации. Актуальная версия платформы 1С:Предприятие 8.3.15.1565. Тоже завершается аварийно. # apt-get install 1c-preinstall-full ... Последняя версия 1c-preinstall-full уже установлена. Альт может вылететь из списка совместимости с платформой 1С (http://v8.1c.ru/requirements/). Будет обидно. 1. Нам известна эта проблема, мы будем ее решать. 2. Релиза 9 версий продуктов пока не было . 3. Для работы с 1С используйте версии 8.* до решения 1. Спасибо. Не при любых обстоятельствах платформа завершается с ошибкой, не на всякой конфигурации прикладного решения. На Бухгалтерии предприятия падает, ошибка выглядит примерно так: NOT SANDBOXED sh: gdb: команда не найдена gdb return status: 32512 Можно предположить что проблема имеет отношение к механизму, обеспечивающему безопасное выполение программ (sandbox), для актуальной 8.3.15 Руководство разработчика глава 28.3 - судя по тому что конфигурации, не вызывающие сообщения NOT SANDBOXED (не использующие этот механизм?), работают нормально. (В ответ на комментарий №3) > 1. Нам известна эта проблема, мы будем ее решать. > 2. Релиза 9 версий продуктов пока не было . > 3. Для работы с 1С используйте версии 8.* до решения 1. > Спасибо. Верно. Производственные системы на p8 - из p9 развёрнуто cпециальное тестовое окружение. Рассчитываю узнать о решения проблемы по состоянию баги. И если покажется нелишней помощь в тестировании. (В ответ на комментарий №5) > (В ответ на комментарий №3) > > 1. Нам известна эта проблема, мы будем ее решать. > > 2. Релиза 9 версий продуктов пока не было . > > 3. Для работы с 1С используйте версии 8.* до решения 1. > > Спасибо. > > Верно. Производственные системы на p8 - из p9 развёрнуто cпециальное тестовое > окружение. > Рассчитываю узнать о решения проблемы по состоянию баги. И если покажется > нелишней помощь в тестировании. Есть координаты подключения к тестовому серверу. У меня на руках развёрнутый 1C_Enterprise83-thin-client-8.3.15-1565 (сервера нет) и он запускается до окна выбора базы. Можно написать письмом на cas@basealt.ru Повторить проблему можно без сервера, достаточно любой пустой конфигурации типовой Бухгалтерии предприятия 3. Пользователя заводить не обязательно, DefaultUser годится. Сначала открывается нормально, начальное заполение данных, потом настройка организации (пропустить), подключение к интернет-поддержке (отказаться). Выйти. Всё, войти уже не получится. Не факт даже что это есть аварийное завершение, может быть просто завершение с кодом возврата 11 (что бы это значило?). Не получается создать дамп, который категорически требует техподдержка 1С. Статья altlinux.org/Features/Core не помогает, точнее - тестовая утилита segfault, подложенная в каталог установки 1С, рождает файл core.* куда ей сказано. А 1cv8c - нет. Моя фантазия исчерпана, нужны идеи куда копать дальше. Павел, а у Вас воспроизводится на железе, в виртуалке (какой?) или везде? (В ответ на комментарий №8) > Павел, а у Вас воспроизводится на железе, в виртуалке (какой?) или везде? У меня железо. Свежеустановленная бета Рабочей станции 9. Постоянно обновляю до актуального состояния p9. Платформа 1С тоже менялась с 8.3.13 до 8.3.15. Воспроизвели, корку сняли совместными усилиями. 1. Быстрый способ (под root): wget http://ftp.altlinux.ru/pub/people/cas/1c-libs.tar tar xvf 1c-libs.tar -C /opt/1C/v8.3/x86_64 2. Правильный способ. Ждать, пока мы не пересоберём libwebkitgtk3 со старой версией libicu в виде отдельного пакета. Далее надо придумать, чтобы каталог с этой версией через скрипт с export LD_LIBRARY_PATH=/opt/1C/v8.3/x86_64:$LD_LIBRARY_PATH вызывался из desktop-файлов запуска 1С. Возможно, через файл-триггеры при установке 1С они будут подменяться: -Exec=/opt/1C/v8.3/x86_64/1cestart +Exec=1с-wrapper /opt/1C/v8.3/x86_64/1cestart (В ответ на комментарий №11) > 1. Быстрый способ (под root): > wget http://ftp.altlinux.ru/pub/people/cas/1c-libs.tar > tar xvf 1c-libs.tar -C /opt/1C/v8.3/x86_64 Подтверждаю, работает. Прошу проверить: apt-repo test 240839 Это подстановка специально собранной версии библиотеки libwebkitgtk3 до или после установки 1С. Пункты меню 1С должны подмениться на запуск через программу 1c-run (В ответ на комментарий №13) > Прошу проверить: > apt-repo test 240839 > Это подстановка специально собранной версии библиотеки libwebkitgtk3 до или > после установки 1С. Пункты меню 1С должны подмениться на запуск через программу > 1c-run В системе успешно устанавливается libwebkitgtk3-1C-2.4.11-alt8. Пункты меню не подменяются. требуется уточнение относительно программы 1c-run: как это, откуда берётся, что должно делать? (В ответ на комментарий №13) > Пункты меню 1С должны подмениться на запуск через программу > 1c-run $ 1c-run Usage: 1c-run <executable file from 1C> Наверное, "пункты меню следует вручную переписать как 1с-run <...>" А в принципе - да, у меня ярлык с комендой 1c-run /opt/1C/v8.3/x86_64/1cestart работает нормально. Для полной проверки со свежеустановленной системой потребуется время, я этим занимаюсь. (В ответ на комментарий №14) > (В ответ на комментарий №13) > > Прошу проверить: > > apt-repo test 240839 > > Это подстановка специально собранной версии библиотеки libwebkitgtk3 до или > > после установки 1С. Пункты меню 1С должны подмениться на запуск через программу > > 1c-run > В системе успешно устанавливается libwebkitgtk3-1C-2.4.11-alt8. > Пункты меню не подменяются. требуется уточнение относительно программы 1c-run: > как это, откуда берётся, что должно делать? Вставиться в Exec= desktop-файлов. До или после установки 1С ставили libwebkitgtk3-1C? (В ответ на комментарий №16) > (В ответ на комментарий №14) > > (В ответ на комментарий №13) > > > Прошу проверить: > > > apt-repo test 240839 > > > Это подстановка специально собранной версии библиотеки libwebkitgtk3 до или > > > после установки 1С. Пункты меню 1С должны подмениться на запуск через программу > > > 1c-run > > В системе успешно устанавливается libwebkitgtk3-1C-2.4.11-alt8. > > Пункты меню не подменяются. требуется уточнение относительно программы 1c-run: > > как это, откуда берётся, что должно делать? > Вставиться в Exec= desktop-файлов. До или после установки 1С ставили > libwebkitgtk3-1C? Там при установке пакета в %post работает: for f in /usr/share/applications/{1cestart,1cv8c,1cv8}.desktop;do [ -e $f ] || continue grep -qs 'Exec=1c-run ' "$f" && continue subst 's/^Exec=/Exec=1c-run /' "$f" done Если вручную запустить этот кусок кода - меняются Exec= ? grep Exec= /usr/share/applications/{1cestart,1cv8c,1cv8}.desktop (В ответ на комментарий №16) > Вставиться в Exec= desktop-файлов. До или после установки 1С ставили > libwebkitgtk3-1C? После. Если до - файлы не подменяются (потому что их ещё нет?). И перелогиниться надо (чтобы /usr/share/applications/*.desktop перечитались?). А так всё правильно, теперь меню выглядит как 1c-run /opt/1C/v8.3/x86_64/1cestart, 1c-run /opt/1C/v8.3/x86_64/1cv8c, 1c-run /opt/1C/v8.3/x86_64/1cv8 И - нет, на свежеустановленной Рабочей станции 9 крашится как раньше. $ rpm -qa | grep libwebkitgtk3 libwebkitgtk3-1C-2.4.11-alt8.x86_64 libwebkitgtk3-2.4.11-alt7.x86_64 (В ответ на комментарий №15) > у меня ярлык с комендой 1c-run /opt/1C/v8.3/x86_64/1cestart > работает нормально. Потому что на моём рабочем месте я устанавливал 1c-libs.tar из комментария #11 А на свежеустановленной Рабочей станции - нет, поэтому на ней платформа падает как раньше. (В ответ на комментарий №18) > (В ответ на комментарий №16) > > Вставиться в Exec= desktop-файлов. До или после установки 1С ставили > > libwebkitgtk3-1C? > > После. Если до - файлы не подменяются (потому что их ещё нет?). > > И перелогиниться надо (чтобы /usr/share/applications/*.desktop перечитались?). > А так всё правильно, теперь меню выглядит как 1c-run > /opt/1C/v8.3/x86_64/1cestart, 1c-run /opt/1C/v8.3/x86_64/1cv8c, 1c-run > /opt/1C/v8.3/x86_64/1cv8 > > И - нет, на свежеустановленной Рабочей станции 9 крашится как раньше. > $ rpm -qa | grep libwebkitgtk3 > libwebkitgtk3-1C-2.4.11-alt8.x86_64 > libwebkitgtk3-2.4.11-alt7.x86_64 Да, файл-триггер не работает. Впрочем, не работает и сама подкладываемая библиотека. Thread 1 "1cv8c" received signal SIGSEGV, Segmentation fault. 0x00007fffef94e0b8 in WTF::String::isolatedCopy() const () from /usr/lib64/1c-libs/libjavascriptcoregtk-3.0.so.0 Пробую отлаживать. *** Bug 37311 has been marked as a duplicate of this bug. *** 8.3.16-1148 от 20.01.2020 - аналогичная ситуация. (In reply to Evgeniy Korneechev from comment #22) > 8.3.16-1148 от 20.01.2020 - аналогичная ситуация. 8.3.16.1148 по нашим данным работает на свежеустановленной системе WS9 после установки штатного пакета libwebkitgtk3 из репозитория. Workaround не требуется. Проверьте, пожалуйста. (Ответ для Leonid Krivoshein на комментарий #23) > (In reply to Evgeniy Korneechev from comment #22) > > 8.3.16-1148 от 20.01.2020 - аналогичная ситуация. > > 8.3.16.1148 по нашим данным работает на свежеустановленной системе WS9 после > установки штатного пакета libwebkitgtk3 из репозитория. Workaround не > требуется. Проверьте, пожалуйста. Проверено. Валится как и раньше. # apt-get update # apt-get dist-upgrade # apt-get install 1C_Enterprise83-client-8.3.16-1148.x86_64.rpm 1C_Enterprise83-common-8.3.16-1148.x86_64.rpm 1C_Enterprise83-server-8.3.16-1148.x86_64.rpm # rpm -qa | grep libwebkitgtk3 libwebkitgtk3-1C-2.4.11-alt8.x86_64 libwebkitgtk3-2.4.11-alt7.x86_64 1. В Сизифе 2.4.11-alt9, это может быть причиной? 2. Как проверялась работоспособность? Мы проверяем запуском актуальной версии Бухгалтерии предприятия (сейчас 3_0_75_70). Павел, проверьте на новой версии, пожалуйста. Есть информация, что там починили. (Ответ для Andrey Cherepanov на комментарий #25) > Павел, проверьте на новой версии, пожалуйста. Есть информация, что там > починили. Проверил. Хорошо бы - но нет. Крайняя актуальная на сейчас платформа релизной версии 8.3.16.1224 валится точно так же, на том же самом месте. Или имелась в виду 8.3.16.1263 от 04.03.20 "только для тестирования"? Вот бы уточнить, а то так можно пробовать до второго пришествия. (Ответ для Pavel Isopenko на комментарий #26) > > Или имелась в виду 8.3.16.1263 от 04.03.20 "только для тестирования"? Однако, тоже валится. Не починили, значит. Тем временем, по линии техподдержки 1С поступил получен следующий комментарий: "Проблема заключается, похоже, в изменившихся опциях компиляции WebKit, или в изменившемся поведении компилятора. В коде WebKit в некоторых случаях допускается использование экземпляров объектов с нулевым указателем this. В коде таких методов осуществляется проверка вида if (!this) { return; }; код_для_случая_this!=nullptr. В итоге компилятор производит оптимизацию кода и убирает проверку, поэтому для случаем this==nullptr начинает выполняться код, который по задумку авторов WebKit'а, выполняться не должен. Влияние на появление ошибки оказывает опция -ftree-vrp, появляющаяся на уровне оптимизации -O2, но только в совокупности со включенной опцией -fdelete-null-pointer-checks (которая включена всегда). Нужно проанализировать, что изменилось в новом Альт Линукс, и привести опции в соответствие с тем, как это было раньше. Либо включить опцию -fno-delete-null-pointer-checks" (Ответ для Pavel Isopenko на комментарий #28) > Тем временем, по линии техподдержки 1С поступил получен следующий > комментарий: > > "Проблема заключается, похоже, в изменившихся опциях компиляции WebKit, или > в изменившемся поведении компилятора. В коде WebKit в некоторых случаях > допускается использование экземпляров объектов с нулевым указателем this. В > коде таких методов осуществляется проверка вида if (!this) { return; }; > код_для_случая_this!=nullptr. В итоге компилятор производит оптимизацию кода > и убирает проверку, поэтому для случаем this==nullptr начинает выполняться > код, который по задумку авторов WebKit'а, выполняться не должен. Влияние на > появление ошибки оказывает опция -ftree-vrp, появляющаяся на уровне > оптимизации -O2, но только в совокупности со включенной опцией > -fdelete-null-pointer-checks (которая включена всегда). Нужно > проанализировать, что изменилось в новом Альт Линукс, и привести опции в > соответствие с тем, как это было раньше. Либо включить опцию > -fno-delete-null-pointer-checks" Пожалуйста, проверьте на p9 сборку libwebkitgtk3: apt-repo test 248557 libjavascriptcoregtk3 libwebkitgtk3 сборка рабочая, добавте в пакет 1c-preinstall-full пакеты libjavascriptcoregtk3 libwebkitgtk3 (Ответ для Igor на комментарий #30) > сборка рабочая, добавте в пакет 1c-preinstall-full пакеты > libjavascriptcoregtk3 libwebkitgtk3 Ура! Спасибо. (Ответ для Andrey Cherepanov на комментарий #29) > apt-repo test 248557 libjavascriptcoregtk3 libwebkitgtk3 Подтверждаю. Так 1С:Предприятие падать перестало. Думаю, что когда исправление попадёт в p9 багу можно будет закрыть. Да, и по поводу 1c-preinstall-full - присоединяюсь. 3 апреля с утра будет в p9 (Ответ для AEN на комментарий #33) > 3 апреля с утра будет в p9 Устранение проблемы на p9 проверил и подтверждаю. Инцидент исчерпан, можно закрывать. Закрываем. |