Bug 57560 - Ошибка сегментации MySQL Workbench при установке внешнего ключа
Summary: Ошибка сегментации MySQL Workbench при установке внешнего ключа
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: mysql-workbench-community (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Nobody's working on this, feel free to take it
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-01-20 12:11 MSK by Сергей
Modified: 2026-02-03 18:18 MSK (History)
5 users (show)

See Also:


Attachments
test_diagram.mwb (54.26 KB, application/zip)
2026-02-03 15:50 MSK, Olga
no flags Details
Backtrace падения (14.10 KB, text/x-log)
2026-02-03 15:50 MSK, Olga
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Сергей 2026-01-20 12:11:27 MSK
Описание:
При попытке установить флажок "чекбокс" в столбце "Foreign Key Columns" в редакторе внешних ключей "Foreign Keys" программа MySQL Workbench аварийно завершается с ошибкой сегментации. В терминале выводятся многочисленные критические ошибки GTK (Gtk-CRITICAL). Проблема воспроизводится стабильно.

Операционная система: ALT 11.2
Версия KDE Plasma: 6.4.6
Версия KDE Frameworks: 6.21.0
Версия Qt: 6.9.3
Версия ядра: 6.12.51-6.12-alt1 (64-бита)
Графическая платформа: X11
Процессоры: 16 × Intel® Core™ i9-9900KF CPU @ 3.60GHz
Память: 32 ГиБ ОЗУ (31,3 ГиБ доступно)
Графический процессор: NVIDIA GeForce RTX 2080 SUPER

Как воспроизвести:
Нажмите Add Diagram.
Создайте две простые таблицы (Нажмите кнопку "t" и щелкните ЛКМ на поле) двойным клик по table1 во вкладке "Columns" двойной клик под именем "Columns Name", получите имя idtable1 тип INT ключи PK и в table2, имя idtable2 тип INT ключи PK, создайте дополнительное поле с именем idtable1 тип INT.
В той же таблице table2 откройте вкладку "Foreign Keys".
Двойным щелчком на пустое поле под колонкой "Foreign Key Name" появиться имя "fk_table2_1" в колонке "Referenced Table" выберите ['mybd'.'table1'].
В разделе "Foreign Key Columns" попытайтесь установить флажок для idtable1.

Наблюдаемый результат: Программа немедленно аварийно завершается.
$ mysql-workbench
Found /lib64/libproj.so.25

(mysql-workbench-bin:17337): Gtk-CRITICAL **: 00:17:23.342: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed

(mysql-workbench-bin:17337): Gtk-CRITICAL **: 00:17:23.343: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed

(mysql-workbench-bin:17337): Gtk-CRITICAL **: 00:17:23.382: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed

(mysql-workbench-bin:17337): Gtk-CRITICAL **: 00:17:23.383: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed

(mysql-workbench-bin:17337): Gtk-CRITICAL **: 00:17:48.926: gtk_cell_layout_get_area: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(mysql-workbench-bin:17337): Gtk-CRITICAL **: 00:17:48.926: gtk_cell_area_get_edit_widget: assertion 'GTK_IS_CELL_AREA (area)' failed
/usr/bin/mysql-workbench: строка 108: 17337 Ошибка сегментирования                   (образ памяти сброшен на диск) $MWB_BINARIES_DIR/mysql-workbench-bin "$@"

Нашёл костыльное решение:
$ GTK_THEME=Adwaita mysql-workbench

Правда появляется новый баг который описан в 41653
https://bugzilla.altlinux.org/41653
Comment 1 Olga 2026-02-03 15:49:22 MSK
Версия программы:
=================
mysql-workbench-community-8.0.46-alt1

Стенды с ошибкой, обновлен. до Sisyphus:
========================================
Alt Workstation 11.1
Alt Workstation KDE 11.2
Alt Education XFCE 11
Alt Education KDE 11

Шаги, приводящие к ошибке:
==========================
1. Открыть mysql-workbench, 
2. File -> Open Model -> Выбрать test_diagram.mwb -> Model -> Add test_diagram -> 
3. Создать две таблицы: Place a New Table и ЛКМ на поле-> 
4. Двойной клик по table1 -> во вкладке "Columns" двойной клик под именем "Columns Name", получить имя idtable1, тип INT, ключи PK
5. Двойной клик по table2 -> во вкладке "Columns" двойной клик под именем "Columns Name", получить имя idtable2, тип INT, ключи PK -> Создать дополнительное поле с именем idtable1 и типом INT -> В таблице table2 открыть вкладку "Foreign Keys"-> Двойной клик на пустом поле под колонкой "Foreign Key Name", для появившегося "fk_table2_1" выбрать ['sakila'.'table1'] -> В разделе "Foreign Key Columns" попытаться установить флажок для idtable1.

Ожидаемый результат:
====================
Успешная установка флажка для idtable1, нет падений программы

Фактический результат:
======================
Падает программа с ошибкой сегментирования (Backtrace прикреплен):
(mysql-workbench-bin:3274): Gtk-CRITICAL **: 14:14:43.345: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed
(mysql-workbench-bin:3274): Gtk-CRITICAL **: 14:14:43.365: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed
(mysql-workbench-bin:3274): Gtk-CRITICAL **: 15:36:00.331: gtk_container_foreach: assertion 'GTK_IS_CONTAINER (container)' failed
(mysql-workbench-bin:3274): Gtk-CRITICAL **: 15:36:11.013: gtk_tree_view_unref_tree_helper: assertion 'node != NULL' failed
(mysql-workbench-bin:3274): Gtk-CRITICAL **: 15:36:28.124: gtk_tree_view_unref_tree_helper: assertion 'node != NULL' failed
(mysql-workbench-bin:3274): Gtk-CRITICAL **: 15:41:18.442: gtk_cell_layout_get_area: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed
(mysql-workbench-bin:3274): Gtk-CRITICAL **: 15:41:18.442: gtk_cell_area_get_edit_widget: assertion 'GTK_IS_CELL_AREA (area)' failed
/usr/bin/mysql-workbench: строка 108:  3274 Ошибка сегментирования                   (образ памяти сброшен на диск) $MWB_BINARIES_DIR/mysql-workbench-bin "$@"
Comment 2 Olga 2026-02-03 15:50:11 MSK
Created attachment 20618 [details]
test_diagram.mwb
Comment 3 Olga 2026-02-03 15:50:55 MSK
Created attachment 20619 [details]
Backtrace падения