早上好,MacOSX Sierra中導致libdispatch錯誤EVFILT_MACHPORT的原因是什麼?
我面對我的應用程序崩潰。當用戶嘗試啓動它時,他會等待一分鐘,然後引發std :: exception。真的,我自己無法重現這個錯誤,但這似乎是一個很常見的問題。
我可以跟蹤的唯一的事情是在系統日誌下面一行:
BUG在libdispatch客戶端:KEVENT [EVFILT_MACHPORT]監測資源的源取消處理程序調用
然後才消失了,我開始到谷歌它和我找不到更多...我只能「假設」這是GCD(我不使用afaik,或者至少不是直接...)的問題。我在互聯網上看到的是它與MacOSX Sierra有關。但大多數論壇都沒有答案,只是很多嘗試沒有獨特的結果。也許唯一的網頁似乎有點清楚解決方法(我還沒有測試,而且我不想使用)是this。
所以...:
- 有人清楚什麼可以引起libdispatch例外呢?
- 有人可以給我一些很好的鏈接,官方文檔或什麼?
- 是真的,可以在沒有更新的Sierra中發現錯誤?
- 它可能與應用程序的安裝程序有關嗎?
- 有人知道用測試程序重現此異常的方法嗎?
Swift上的libdispatch的linux端口實際上會讓您的進程崩潰(在剛剛鏈接的github repo @das中查找EPOLLFREE),但可悲的是Darwin端口並沒有從第1天起強制執行此操作,所以它只是一個日誌。 – user1775617
不是我正在尋找的答案,但我想這是正確的答案...謝謝 – n3mo