Bug: GNOME 51 crash - metaWindow.set_unmaximize_flags() causes Mutter SIGSEGV on window close
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 76/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- javascript, linux
調査の方向性
lib/extension/window.jsから始め、move(metaWindow, rect)と、issueでクラッシュする呼び出しとして特定されているwindow-create-queueコールバックを調べてください。issueで提案されている修正に従い、ウィンドウの最大化を解除する前に最大化状態を確認してください。GNOME Shell 51でタイル表示されたウィンドウを閉じて再現してください。セッションがクラッシュしなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Issue/Bug Description/Video Capture/Screenshots
On GNOME 51 (Fedora 45 Rawhide / libmutter-51), closing a window causes gnome-shell to crash with a segmentation fault (SIGSEGV), immediately terminating the user session and dropping the user back to GDM / login screen.
Root Cause Analysis
In lib/extension/window.js, move(metaWindow, rect) and the window-create-queue event callback unconditionally invoke metaWindow.set_unmaximize_flags(Meta.MaximizeFlags.BOTH); followed by metaWindow.unmaximize();.
In Mutter 51 (GNOME 51), invoking set_unmaximize_flags during window re-tiling/destruction triggers a crash inside meta_window_update_monitor:
Stack trace of thread 27746:
#0 0x00007fe51d1bff16 meta_window_update_monitor (libmutter-51.so.0 + 0x1bff16)
#1 0x00007fe51d24f30b meta_window_wayland_update_main_monitor (libmutter-51.so.0 + 0x24f30b)
#2 0x00007fe51d1bff51 meta_window_update_monitor (libmutter-51.so.0 + 0x1bff51)
#3 0x00007fe51d1c101b meta_window_move_resize_internal (libmutter-51.so.0 + 0x1c101b)
#4 0x00007fe51d1bc6e9 meta_window_set_unmaximize_flags (libmutter-51.so.0 + 0x1bc6e9)
#5 0x00007fe51c4e6056 ffi_call_unix64 (libffi.so.8 + 0xb056)
#8 0x00007fe51d69c3f4 _ZN3Gjs8Function6invoke... (libgjs.so.0 + 0x1303f4)
Proposed Fix
Only attempt to unmaximize if the window is actually currently horizontally or vertically maximized, and avoid calling set_unmaximize_flags:
// In move(metaWindow, rect) and window-create-queue:
try {
if (metaWindow.maximized_horizontally || metaWindow.maximized_vertically) {
metaWindow.unmaximize(Meta.MaximizeFlags.BOTH);
}
} catch (e) {
// ignore
}
Testing this patch on Fedora 45 / GNOME Shell 51.1 completely resolves the crash when closing tiled windows.
Steps to reproduce
- Enable Forge on GNOME Shell 51.
- Open two or more tiled windows (e.g. terminals).
- Close one of the windows (e.g. using Super+Q or Alt+F4).
gnome-shellcrashes with SIGSEGV inmeta_window_set_unmaximize_flags, logging out the user.
Distribution and Linux version
NAME="Fedora Linux"
VERSION="45 (Workstation Edition)"
ID=fedora
VERSION_ID=45
PRETTY_NAME="Fedora Linux 45 (Workstation Edition)"
Linux fedora 7.2.15-300.fc45.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Nov 1 16:11:16 UTC 2026 x86_64 GNU/Linux
Journal Logs from the last hour
Nov 07 15:31:25 fedora systemd-coredump[32773]: Process 27746 (gnome-shell) of user 1000 dumped core.
Stack trace of thread 27746:
#0 0x00007fe51d1bff16 meta_window_update_monitor (libmutter-51.so.0 + 0x1bff16)
#1 0x00007fe51d24f30b meta_window_wayland_update_main_monitor (libmutter-51.so.0 + 0x24f30b)
#2 0x00007fe51d1bff51 meta_window_update_monitor (libmutter-51.so.0 + 0x1bff51)
#3 0x00007fe51d1c101b meta_window_move_resize_internal (libmutter-51.so.0 + 0x1c101b)
#4 0x00007fe51d1bc6e9 meta_window_set_unmaximize_flags (libmutter-51.so.0 + 0x1bc6e9)
GNOME Shell version
GNOME Shell 51.1
Forge version
Version 89 (gnome-shell-extension-forge-89-4.fc45)
Other installed/enabled extensions
[email protected] (Forge)
[email protected] (Background Logo)
[email protected] (Launch New Instance)
Monitor Setup
1 x 1080p laptop display (eDP-1, 1920x1080 @ 60Hz)
Other Notes
Also also noting that "51" is not yet listed in metadata.json's shell-version array.
- 主要言語
- JavaScript
- スター
- 1.3k
- フォーク
- 112
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
forge-ext/forge のほかの issue
-
Bug: Changing a setting while Forge is disabled (e.g. screen locked) throws errors; old handlers keep running対応中かも @mattchristenson が 38 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
-
Bug: Windows overlap while resizing, until slower apps catch up対応中かも @mattchristenson が 39 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
-
Bug: Tabbed and stacked groups that contain a split show windows on top of each other対応中かも @mattchristenson が 39 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
-
Bug: Windows in a stacked group are hidden without a trace対応中かも @mattchristenson が 39 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
Bug: Toggling stacked or tabbed layout off changes the container's split direction対応中かも @mattchristenson が 39 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 30/100
forge-ext/forge の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Fei2411/DeepSeek-Bot#1113 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
arfct/timezone.fyi#19 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
fastify/fastify-http-proxy#493 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
eliasstravik/herdr-projects#785 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
tensorflow/tfjs#8754 ·