Nemo crashes during GTK menu updates — upstream fix available

Aperta
#3,866 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 10 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
c
Ambito
desktop

Direzione di ricerca

Start by reading the GTK !10542 fix and its regression test, which releases the menu manager’s last external reference during a menu update. Verify the test fails with the original GTK and passes with the patched build; the report also notes five Nemo test suites pass against that build. Done means the GTK lifetime fix reaches Linux Mint users through a GTK package update.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Distribution

Linux Mint 22.2, x86-64

Package version

Nemo 6.4.5+xia; GTK 3.24.41-4ubuntu1.3

Frequency

Only occasionally

Bug description

Nemo intermittently crashes with SIGSEGV. Two core dumps show the same GTK menu-update path:

update_node → do_updates → do_updates_idle

The GtkUIManager had already been destroyed while GTK was still using it to update the menu.

Steps to reproduce

The affected sessions involved accessing an SMB/Samba share on another computer and Google Drive through GVfs. Both crash records contain open GVfs metadata files for these locations.

The exact triggering operation has not been identified, and it is unclear whether either backend is required to reproduce the crash.

Expected behavior

Nemo should remain running during menu updates.

Additional information
Upstream fix and verification

The fix is merged into GTK’s gtk-3-24 branch: GTK !10542.

The patch keeps the menu manager alive until GTK finishes using it.

A regression test deliberately releases the manager’s last external reference during a menu update. With the original GTK, the test stops with a fatal GLib error. With the patched GTK, the same test completes successfully.

The existing Nemo executable now loads a private GTK build containing both fixes. Five test suites pass against that library, covering 62 test cases.

These tests reproduce the GTK object-lifetime problem; they do not reproduce the complete original Nemo session.

This report provides the details so the fix can also reach Linux Mint users through a GTK package update.

Lingua principale
C
Stelle
1.6k
Fork
379
Merge medio
10g 14h
PR unite (30g)
4

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di linuxmint/nemo

Tutte le issue di linuxmint/nemo

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.