用 ABRT 回報當掉情況

之前,Fedora 16 的 LibreOffice 3.4 若使用 ibus-chewing 輸入一陣子後會當掉,毫無預警。

在當掉後,GNOME Shell 會在畫面正下方彈出 ABRT (自動臭蟲回報工具) 通知,告訴你 libreoffice-core 軟體包當掉。若你把滑鼠移動到通知上方,就表示你正讀取相關訊息,所以移開滑鼠後,GNOME Shell 會把通知縮小到右下角去,這樣你可以在空閒時間回報臭蟲。

回報臭蟲可以幫助散布版為軟體缺陷建檔,並發信通知相關開發者,若開發者在回報資訊充足、有時間、有興趣修復等適當時機下,便會著手修正這個臭蟲。

如果你願意花一點時間製造臭蟲被擊殺的機會,只要等候時機成熟,自然水到渠成。

我秉持著這樣的想法,用滑鼠按下了右下角的「ABRT」通知,會彈出對話盒問我遇到問題要不要回報,所以我按下「回報」按鈕。


問題描述
ABRT 會以紅色的字樣試圖描述當時程式軟體包當掉被終止的情況。下方敘述告訴你待會兒要回報臭蟲時需要準備什麼,像是問題怎麼發生的、回報至何處等。瞭解後就按「下一步」。

提供額外資訊
ABRT 要求你提供問題發生的經過,以一個步驟一個步驟的方式描述給開發者看,讓開發者可以重新引發錯誤而抓到臭蟲;此外,你也可以附上一些你認為有助於開發者判斷問題的資訊,讓問題可以更快被解決。由於開發者來自全球各地 (但主要是歐美),請盡可能使用英文描述。

如果你完全不知道發生什麼事就當掉了該怎麼做?請中央留空不填,打勾下方的「I don't know what caused this problem」再按下一步。像我的 LibreOffice 當掉問題,一開始我也不清楚什麼原因,所以當時也是留空打勾下一步。

選取分析器
ABRT 會請你選取分析問題的方式,本地端 GNU 除錯器,或是遠端的回追伺服器 (Retrace server)。

如果你的電腦夠力、空間夠大、時間夠多,可以採用第一個,ABRT 會幫你下載一些除錯用的軟體包,然後讓你的電腦分析錯誤背後的原因,但由於限於電腦與分析器所以可能會分析失敗。

如果你的電腦普普,就選取遠端的回追伺服器來讓它幫你找錯誤,不過這需要不中斷的連線,要不然也會分析失敗。由於遠端回追伺服器有一些我們電腦沒有的工具,所以成功的機會比本地端分析較大。

我的 LibreOffice 當掉問題一開始是選擇本地端除錯器,想說可以減輕遠端伺服器總是要跑分析的負荷,但結果就是分析失敗,無法回報。後來改用遠端回追伺服器來分析,就成功了。

選取完分析方式後按下「套用」,接著就會展開一連串的連線與分析,請耐心等候。

最後, ABRT 會請你選取你想要回報到哪裡。由於我這裡的 LibreOffice 錯誤不知道是什麼問題,所以就直接回報至 Red Hat bugzilla 臭蟲追蹤器。選好後 ABRT 會試著登入你的帳號,如果沒有設定過帳號你就必須先提供好再繼續。所以記得先申請個 Red Hat Bugzilla 帳號啊!:)

這樣就回報完成了。


那麼我回報的 LibreOffice 臭蟲後來如何了呢?就讓我們再看下去。


後來,我發現其他輸入法引擎不會引發當掉,但只要是 ibus-chewing 過不久就必當。所以我開始測試怎樣輸入才會當,找出必當的方法後才能描述給開發者看,讓他們再度引發問題啊!這樣臭蟲才有機會被擊斃。不過這也有可能是 ibus-chewing 的缺陷,畢竟其他輸入法不會有問題啊,這就要等你回報完臭蟲,開發者去調查後才能從開發者的回覆來得知了;如果後來確定不是 LibreOffice 的問題,就必須再發個臭蟲回報給 ibus-chewing。

試了又試,發現只要不斷輸入 ㄕˋ 16 次 (或不到) 就有機會當掉,但也是有沒當掉的時候;再繼續嘗試,發現如果沒當掉,只要 Enter 結束輸入、換行再不斷輸入 ㄕˇ 16 次 (或不到) 就能又當掉了。

所以我前往 Red Hat bugzilla 登入並從「My bugs」清單中選取回報的那個臭蟲,然後在裡面補上引發步驟的英文描述。

兩天過後,開發者 Caolan 就回覆「reproducible」,意思是我的描述確實可以再次引發問題。接著他推測是 gtk 輸入引擎整合有問題,雖然分析追蹤資訊的結果推論是 writer 配置發生問題。

又隔天,他說 3.4.5.2-8 應該會好;再隔天 Fedora Update Sytem 就發出該軟體包已經有測試版可以用的訊息。於是 f16 的測試用軟體庫就有修正版的 LibreOffice 啦!只要透過

su -c 'yum update --enablerepo=updates-testing libreoffice-3.4.5.2-8.fc16'

就能協助測試了,測試成果需要回報,這個測試版才會得到好評價而有機會更快進入正式版。就根據系統發出訊息的連結打開網址,登入 Fedora 帳號後留下「Works for me」評價與一些評論即可。


之所以會這麼快就修復的原因,大概主要是這位 Red Hat 開發者是受僱專注開發 LibreOffice 之故。這就如同我開頭所說,只要你先製造出機會,等到時機來臨就會被修正了!

不過我也要說句老實話,這是我發過的全部臭蟲回報中最快被修正的一次,其他的回報不是無人回應,就是被擱置,算是很幸運的一次經驗。要這麼快被解決,就是要天時地利人和啊!:P
 

相關資訊
臭蟲連結:https://bugzilla.redhat.com/show_bug.cgi?id=799628
軟體包測試:https://admin.fedoraproject.org/updates/FEDORA-2012-3267/libreoffice-3.4.5.2-8.fc16
有興趣的人可以參考看看。

留言

這個網誌中的熱門文章

Render 翻譯

fedora 20 安裝指引

poedit 基本使用教學與 po 檔概念