OS ပျက်သွားလို့ အသစ်ပြန်တင်ရတဲ့အချိန် ကိုယ့်ဖိုင်တွေ မပျောက်အောင် / (Root) နဲ့ /home ကို Partition သီးသန့်ခွဲထားတာက တော်တော်အဆင်ပြေတယ်။ ဒီတစ်ခေါက်လည်း OS အသစ်ပြန်တင်ပြီး /home ကို Format မချဘဲ အဟောင်းအတိုင်း ပြန်သုံးလိုက်တယ်။ ဖိုင်တွေကတော့ အကုန်ရှိနေပေမယ့် မထင်ထားတဲ့ ပြဿနာတစ်ခု ပါလာခဲ့တယ်။
Firefox ဖြစ်ဖြစ် တခြား Application တစ်ခုခုကဖြစ်ဖြစ် File Attach / Save လုပ်ဖို့ File Picker (GTK Dialog) ခေါ်လိုက်တိုင်း ချက်ချင်းမပွင့်ဘဲ စက္ကန့် ၂၀-၃၀ လောက် Hang နေတာပဲ။ ဘာကြောင့်ဖြစ်တာလဲဆိုတာ တစ်ဆင့်ချင်း Debug လုပ်ရင်း နောက်ဆုံး ဖြေရှင်းလိုက်နိုင်တဲ့အကြောင်း ဒီမှာ မှတ်တမ်းထားလိုက်တယ်။
The Problem: ဖိုင်ရွေးရန် Box တက်လာဖို့ အလွန်နှေးကွေးနေခြင်း
အရင်တုန်းက File Dialog ခေါ်လိုက်ရင် ချက်ချင်းပွင့်တယ်။ / နဲ့ /home ကို ခွဲပြီး OS အသစ်ပြန်တင်လိုက်တဲ့နောက်မှ ဖိုင်ရွေးတဲ့ Box တက်လာဖို့ အကြာကြီးစောင့်နေရတာ။ ဒီတော့ ဘယ်နေရာမှာ ငြိနေလဲ သိရအောင် တစ်ဆင့်ချင်း လိုက်စစ်ကြည့်ခဲ့တယ်။

Debugging Phase 1: Live Log Monitoring (journalctl)
ပထမဆုံး File Picker နှေးနေတဲ့အချိန် System နောက်ကွယ်မှာ ဘာတွေငြိနေလဲ သိရအောင် journalctl နဲ့ User Session ရဲ့ Live Log ကို ကြည့်လိုက်တယ်။
File Picker ကို ခေါ်လိုက်တော့ ဒီ Error တွေ တက်လာတယ်။
Analysis & Fix:
recently-used.xbel ဆိုတာ GTK က Recent Files တွေကို မှတ်ထားတဲ့ XML ဖိုင်။ စစ်ကြည့်တော့ ဒီဖိုင်က 0-byte၊ ဘာစာမှမရှိတဲ့ ဖိုင်အလွတ်ဖြစ်နေတယ်။ GTK Parser က ဖွင့်ဖတ်တဲ့အချိန် Format မမှန်လို့ Error တက်နေတာလို့ ယူဆပြီး ဖိုင်ဟောင်းကိုဖျက်၊ မှန်ကန်တဲ့ XML Format နဲ့ အသစ်ပြန်လုပ်ကြည့်လိုက်တယ်။
ရလဒ် - XML Error ကတော့ ပျောက်သွားတယ်။ ဒါပေမယ့် File Picker က နှေးနေတုန်းပဲ။ ဆိုတော့ တခြားနေရာမှာ ပြဿနာရှိနေသေးတယ်။
Debugging Phase 2: Hardware Health Check (dmesg)
နောက်တစ်ဆင့်အနေနဲ့ Partition ခွဲထားလို့ Disk I/O Error တက်နေတာလား၊ Hardware Power Saving ကြောင့်လားဆိုတာ သေချာအောင် dmesg နဲ့ Kernel Log ကို ဆက်ကြည့်တယ်။
Analysis & Fix:
Log တစ်လျှောက်လုံး စစ်ကြည့်ပေမယ့် I/O error, EXT4-fs error လို Hardware ဒါမှမဟုတ် File System ပိုင်း Error တစ်ခုမှ မတွေ့ဘူး။ သုံးထားတဲ့ SSD (Samsung 860 EVO) ရဲ့ Health ကလည်း ကောင်းနေတော့ Hardware ကြောင့် မဟုတ်တာ သေချာသွားတယ်။

Debugging Phase 3: The Portal Clash Issue
နောက်ထပ်သံသယဝင်တာက xdg-desktop-portal ပိုင်း။ Debian 12 (Bookworm) နဲ့ သူ့အထက် Version တွေမှာ ပါလာတဲ့ xdg-desktop-portal v1.16+ မှာ Portal မတူတာတွေ ရောနေရင် ဘယ် Portal ကိုသုံးရမလဲ ရွေးမရဘဲ Timeout အထိ စောင့်နေတတ်တဲ့ ပြဿနာရှိတယ်။ ဒီတော့ စက်ထဲမှာ ဘယ် Portal တွေရှိလဲ စစ်ကြည့်လိုက်တယ်။
စစ်ကြည့်တော့ xdg-desktop-portal-gnome နဲ့ xdg-desktop-portal-gtk နှစ်ခုလုံး Run နေတာ တွေ့တယ်။
Analysis & Fix:
System က ဘယ် Portal ကို Default သုံးရမလဲ သေချာသွားအောင် User Config ဖိုင်တစ်ခု ရေးပြီး Service တွေကို Restart လုပ်ကြည့်လိုက်တယ်။
ရလဒ် - Portal Service တွေ Restart ဖြစ်သွားပေမယ့် File Picker ကတော့ လိုတာထက်ပိုပြီး ကြာနေတုန်းပဲ။
Debugging Phase 4: The Ultimate Root Cause (GVFS Metadata)
အပေါ်ကဟာတွေ လုပ်ပြီးတာတောင် မကောင်းသေးတော့ နောက်ဆုံး OS အဟောင်းက ကျန်ခဲ့တဲ့ Stale GVFS Metadata တွေဘက်ကို ရောက်သွားတယ်။
OS ကို အသစ်ပြန်တင်ပေမယ့် /home ကိုတော့ အဟောင်းအတိုင်း ဆက်သုံးထားတယ်။ အရင် OS မှာ ချိတ်ခဲ့ဖူးတဲ့ Network Drive တွေ၊ မရှိတော့တဲ့ ဖိုင်လမ်းကြောင်းတွေနဲ့ Disk UUID အဟောင်းတွေက ~/.local/share/gvfs-metadata/ ထဲမှာ ကျန်နေနိုင်တယ်။
File Picker တက်လာတိုင်း GTK က အဲ့ဒီမရှိတော့တဲ့ လမ်းကြောင်းတွေကို Timeout ဖြစ်တဲ့အထိ လိုက်ရှာနေလို့ စက္ကန့် ၃၀ လောက် ရပ်နေတာဖြစ်နိုင်တယ်။ ဒီတစ်ခါတော့ GVFS Metadata အဟောင်းတွေကို ရှင်းကြည့်လိုက်တယ်။
The Final Resolution:
အရင် OS ကကျန်ခဲ့တဲ့ File System မှတ်တမ်းအဟောင်းတွေ (Cache) ကို ဒီလိုရှင်းလိုက်တယ်။ ဒါက ကိုယ့် Personal File တွေကို မထိဘူး။
၁။ GVFS Service တွေပိတ်ပြီး Metadata ရှင်းခြင်း
၂။ Computer ကို Restart ချခြင်း
Service တွေ Restart လုပ်ရုံနဲ့ Memory ထဲမှာ Run နေတဲ့ D-Bus Session နဲ့ GTK Background Service တွေ အကုန်အသစ်ပြန်မဖြစ်နိုင်သေးဘူး။ ဒါကြောင့် စောစောကရေးထားတဲ့ portals.conf နဲ့ GVFS Metadata ရှင်းထားတာတွေ အကုန်အသက်ဝင်အောင် Computer ကို Restart ချလိုက်တယ်။
Conclusion & Key Takeaways
Computer ပြန်တက်လာပြီး Browser နဲ့ Application တွေကနေ File Dialog ခေါ်ကြည့်တော့ ဒီတစ်ခါ လုံးဝမကြာတော့ဘဲ ချက်ချင်းပွင့်လာတယ်။ နောက်ဆုံးတော့ တရားခံက /home အဟောင်းထဲမှာ ကျန်ခဲ့တဲ့ GVFS Metadata ပဲ။

နောက်တစ်ခါ ကိုယ်တိုင်ပြန်ကြုံရင်ဖြစ်ဖြစ်၊ တခြားသူတွေ ဒီလိုဖြစ်ရင်ဖြစ်ဖြစ် အလွယ်ပြန်ကြည့်လို့ရအောင် မှတ်ထားချင်တာ သုံးချက်ရှိတယ်။
/homeအဟောင်းနဲ့အတူ Cache အဟောင်းတွေလည်း ပါလာနိုင်တယ်။ OS အသစ်ပြန်တင်ပြီး/homeကို ဆက်သုံးတဲ့အခါ GVFS Metadata အဟောင်းတွေက ပြဿနာပေးနိုင်လို့~/.local/share/gvfs-metadata/ကို သတိရပြီး စစ်ကြည့်ရမယ်။- Portal တွေ ရောနေတာလည်း စစ်သင့်တယ်။
xdg-desktop-portalဘက်က Timeout ဖြစ်နေလား၊portals.confမှာ Default Portal သတ်မှတ်ဖို့လိုလား ကြည့်ရမယ်။ - Session-level ပြောင်းလဲမှုဆို Restart က အရေးပါတယ်။ Config အသစ်နဲ့ D-Bus / GVFS ပြောင်းထားတာတွေက
systemctl restartတစ်ခုတည်းနဲ့ မလုံလောက်တတ်ဘူး။ Full Restart ဒါမှမဟုတ် Logout/Login ပြန်လုပ်တာက ပိုသေချာတယ်။