相信每個從事SAP的顧問都會遇到這樣的場景:聽著歌,錄著SAP資料,寫著ABAP程式碼,突然一切都消失了。
是的,SAP GUI又崩潰閃退了。
可能你還一臉懵逼不知道發生什麼事情,當你重新登入系統的時候卻發現自己的賬號卡在系統裡面,甚至鎖定部分單據,辛辛苦苦碼的程式碼都來不及的儲存。
SAP GUI閃退現象纏繞著每個使用SAP的人,IT每天都要忍著使用者的吐槽、開發人員早已習慣寫一行程式碼就按一次Ctrl+S、使用者在批導單據的時候默默祈禱一切順利不閃退。
久而久之,閃退現象導致用SAP的使用者都產生了一種不安全感,慢慢地就以為ERP系統也許就是這樣子吧。甚至面對閃退已經心不驚眼不跳,就當是系統產生了人工智慧,知道使用者辛苦,就自我退出強制使用者休息。
不過作為「兼職」Basis的我,對這閃退現象已經忍無可忍,每天一千多次的閃退記錄極大摧毀了使用者的好感,被使用者在群裡艾特到懷疑人生。
每天特別害怕使用者說道:
以前舊系統都不會閃退,為何現在這麼頻繁?
以前也出現閃退現象,後來調了一個引數就解決了。
作為Basis,你要解決這個問題啊!
--好吧,那就來解決這個問題吧--
經過大量的系統崩潰閃退紀錄檔分析,反覆試驗,重灌系統N次,解除安裝重啟安裝各種輸入法N次,終於確定了SAP GUI閃退的原因來源於一些中文輸入法。
6月份我在SAP官網提交了一個Incidents,說明了這個問題、所使用的版本和記錄到的系統紀錄檔:
同時在微博上也跟輸入法官方取得了聯絡:
SAP官方支援顧問安裝輸入法之後也重現了這個現象,之後他們技術部門給我一個捕獲閃退事件的工具ADPlus,讓我上傳跟蹤trace檔案:
發過去之後,SAP技術部一陣猛如虎地分析——暫時也沒發現問題在哪裡。幾天之後他們將問題提交給了美國微軟總部:
另一邊,輸入法工程師也暫時找不到問題在哪裡,畢竟閃退的不是輸入法程式:
幾天之後微軟總部回覆說需要安裝Windows11最新系統和修補程式,關閉輸入法的「相容舊時功能」,但這根本解決不了問題:
一來二去扯了接近一個月,最後美國微軟總部工程師丟給我一個抓崩潰閃退程式碼的工具PartnerTTDRecorder和捕獲命令:
按照指示,我成功抓取到了閃退程式碼檔案,提交給了SAP和微軟總部:
又等了足足半個月,微軟終於回覆並明確了是輸入法在執行初始化元件CoCreateInstance時導致的問題,最後給出了具體導致閃退的BUG Note。
有了這個資訊,我再次找到輸入法工程師,他們根據微軟提供的Bug資訊很快找到了發生閃退的那段程式碼,很容易就修復了:
他們快速編譯了一個內部測試的版本,經過安裝試用,原來100%會崩潰閃退的操作畫面都已經不發生了!
由此折騰了兩個月,持續多年並困擾了所有SAP顧問和使用者的崩潰閃退問題徹底找到原因並得到了解決!
(更新輸入法之後,已經不閃退了)
發現和解決疑難雜症是一個非常艱辛的過程,你永遠都不知道目標和方向在哪裡,辛苦花費時間和精力是否會有結果。
但只有堅持不懈,持之以恆,總能遇見曙光。
現在,我終於可以說我總算為這個行業做了一丟丟的貢獻了~
注:輸入法最新更新版本預計會在8月底釋出...