天天看點

馬上沒bug之xcodebuild stack overflow

年前碰到一個頭疼的問題,在配置jenkins github pull request builder, ios編譯環境時,xcodebuild總是出錯,

錯誤資訊隻有一行:

tools/jenkins-scripts/ios-build.sh: line 6: 19109 Abort trap: 6  

在system.log裡,也可以查到一個錯誤資訊:

xcodebuild:stack overflow

但是,通過ssh終端,在同一台編譯伺服器上啟動同樣的編譯腳本,是可以正常運作的

而且,配置了一個定時編譯任務,也是在同一台伺服器上運作同一個編譯腳本,也是正常的  

開始懷疑是jnlp連接配接的問題,改用ssh,也不行

懷疑jenkins啟動的bash程序和手動的stack size配置不一樣,用ulimit列印出來看,是一樣的

懷疑是建構任務用python調用bash腳本導緻的,改直接用bash腳本,也不行

試着增加mac bash預設的stack size,查了很多資料,都沒有成功

春節這幾天,腦袋裡都在轉這個問題,搞的年都沒過好:( 到底還有什麼配置不一樣呢?

 剛才突然想到,pull request builder是用bash 環境變量傳遞github webhook payload參數的,而定時編譯和手動編譯時,沒有設定相應的環境變量。馬上試一下,把payload去掉,結果,pull request builder 馬上順利跑起來了

PS: payload有20KB...作為一個環境變量,确實是大了點

果然是馬年行大運,馬上沒bug~~

不過,我還是把這個crash bug報告給了蘋果,看看他們怎麼解釋。

繼續閱讀