ntdll.dll導致BC的無預警崩潰

之前一直困擾的BC1.09版之後的版本經常無預警的問題
後來才知道去 C:\Documents and Settings\使用者\Application Data\BitComet
可以看程式紀錄的崩潰原因,幾乎都是ntdll.dll錯誤造成的
隨即移除了 Netlimiter 1.2 這個罪魁禍首,不過BC崩潰情形依舊
上網查了谷歌
「少數NetLimiter用戶反映XPSP1下安裝NetLimiter可能會產生NTDLL.DLL的錯誤導致BitComet異常崩潰,
據出現此問題的用戶反映,升級XP操作系統到SP2就可以解決這個問題了。 」

問題是現在都已經SP3了,要怎麼升級SP2解決?
繼續搜尋谷歌有人說是連線數太小,也改到1000了,崩潰問題依舊
後來搜尋英文網頁有人說去下載一個ntdll.dll強制覆蓋C:\WINDOWS\system32裡的,
試了好久發現不能刪除但更改檔名後可以替換
但因為系統檔案保護機制的關係 C:\WINDOWS\system32\dllcache
裡的ntdll.dll會立刻還原一個ntdll.dll檔回C:\WINDOWS\system32
索性把dllcache的都替換掉,卻導致無法開機的慘劇,
之後用XPSP3光碟的修復主控台拷貝一份光碟裡的ntdll.dll回dllcache跟system32目錄
也試過重新註冊所有的dll
開始>>執行>. 輸入cmd>> 按「確定」,出現DOS窗口,在命令提示符下輸入
for %1 in (%windir%\system32*.dll) do regsvr32.exe /s %1

能試的辦法都試過了
但是新版BC因為ntdll.dll導致崩潰的問題仍然無解,現在還是只能裝回BC 1.09版使用
底下附上 5/7 最後一次使用1.27版崩潰的 CRASHLOG.TXT

BitComet caused an Access Violation (0xc0000005)
in module ntdll.dll at 001b:7c9327d9.

Exception handler called in Exception_Debuger.
Error occurred at 5/6/2011 16:56:42.
D:\Program Files\BitComet\BitComet.exe, run by gamearts.
Operating system: Windows XP 32-bit (5.1.2600).
1 processor(s), type 586.
66% memory in use.
768 MBytes physical memory.
259 MBytes physical memory free.
1491 MBytes paging file.
937 MBytes paging file free.
2048 MBytes user address space.
1884 MBytes user address space free.

Program name: 比特彗星
Process execute time: 0 day 0:4:37
Program status: Running
Program mode: download
Socket init version: v2.2
web frame:
msg id: 275
piece cache size: 0
bt mem_block_size: 0
crash info:
debug info:

pool_block dump:
allocated_size = 14745600
allocated_list_size = 225
free_block_size = 0
free_block_num = 0
commited_size = 14745600
notblock_size = 0
notblock_number = 0
total_size = 14745600

Read from location 8442d73b caused an access violation.

Context:
EDI: 0x0000000a ESI: 0x02e80000 EAX: 0x8442d73b
EBX: 0x016e0000 ECX: 0x02e80090 EDX: 0x0000037f
EIP: 0x7c9327d9 EBP: 0x0012f12c SegCs: 0x0000001b
EFlags: 0x00010282 ESP: 0x0012f124 SegSs: 0x00000023

Bytes at CS:EIP:
0f b7 10 3b 55 08 74 bd 83 21 00 8b 4e 60 8b c7

Stack: [Ignored]

Module List: [Ignored]

===== [end of CRASHLOG.TXT] =====

本帖最後由 set00off 於 2011-5-19 15:24 編輯

回復 1# gamearts0713tw

我絕得碰上很多任務有剛好連很多電驢資源,當電驢資源連接數量多或不順暢會發生崩潰,或者是對某程式有發生衝突導致內存洩漏會崩潰,還是說針對某些作業系統不太合會發生內存洩漏也會崩潰,還有碰上下載長效連接過多的任務不知怎搞的會崩潰,關於下載到某些奇怪任務會崩潰是有遇到較不常見,目前我用起來就幾乎沒崩潰除了碰上某些怪怪任務,我目前是用XP-sp3內存是裝2條2G的,某些單一任務還能飆破千kb也沒崩潰的......
至少1.27關閉程式時比較不會太過於延遲,現在進入他人共享也比較不會卡住快很多,我是絕得安裝作業系統的版本也有些關係,好的作業系統版本使用起來真的很穩定.....
我目前是用1.27安裝版本,每次都有卸載BC程式在重新安裝.....

個人習慣並無無使用電驢插件

之前也試過將無必要的選項都不勾選
基本排除可能影響程式崩潰的任何原因

不勾選關閉時移除防火牆連接埠
不勾選DHT
允許連接的客戶端只勾BC
不使用長效種子
不使用種子市場
不勾選預覽下載最佳化、
不檢查更新
不自動登入慧星通行證
不自動檢查連接埠是否正確
不勾選起動時關聯預設客戶端
已下載檔案變化進行檢查 false
啟動時檢測已下載檔案是否丟失 false

交叉測試的結論是不管有無勾選這些選項
新版BC依舊經常性無預警崩潰

原因終究是系統 ntdll.dll 錯誤導致的
移除 netlimiter 仍無法解決此問題
難道為了用新版 BC 唯有重灌系統一途了?

本帖最後由 set00off 於 2011-5-20 01:56 編輯

回復 3# gamearts0713tw

系統用久也會遺失部分正確資料的,我就有碰過某一天電腦關機之後,隔天開機某一部分資料竟然遺失了,甚至也碰過系統丟失資料無法開機要修復才能開機,你以為可以永遠不必重灌系統啊,除非你有用所謂系統還原可以快速回復到最初狀態,大致上1-2年都要重灌一次系統的,我認為是你目前使用的作業系統裡,有其他不穩定的隱藏因素......

反正等哪一天你碰上就會有所覺悟了,然後就會開始頓悟那種討厭又不得不去面對的心情,不知道這樣說行不行.....
畢竟BC官方測試的作業系統版本,都一定是最乾淨的原始狀態,所以得到的結果就有所不同了.....

回復 1# gamearts0713tw

試試看使用 sfc /scannow 進行修復,請按照以下步驟

1.開始 - 所有程式 - 附屬應用程式 - 對命令提示字元點右鍵 - 以系統管理員身分執行

2.在黑色視窗內輸入 sfc /scannow 並按下 enter

3.等候他掃描完成…並把最後出現的訊息貼上來 (如有沒有偵測到錯誤等等的訊息),如果顯示有修復的話可以重新開機測試看看是否改善

如果在CBS.log裡面看到不少無法修復的錯誤
可能原因有下面幾種

1.安裝過程沒裝好
2.安裝的軟體有問題
3.硬體有問題

建議你進入系統後放光碟…執行安裝程式
在安裝過程中會有一個升級的項目
透過此動作來進行一個就地升級(系統修復)的動作看看是否有改善(執行此動作並不會影響系統…安裝的程式都還是可以使用)

以上轉自Microsoft Answers /ntdll.dll的問題

另外你的記憶體有點少,報告上有66%使用中,可用的只剩259MB
是否該減少一些常註程式自己拿捏,ie8很吃記憶體,
所以你bitcomet的磁盤緩存也不能設過多

本帖最後由 gamearts0713tw 於 2011-5-20 19:56 編輯

放入SP3光碟 sfc /scannow 測過了,無異常,無發現 C:\Windows\Logs\CBS\CBS.log
記憶體主要是給火狐4吃了,不過不管火狐有沒有開著 BC都一樣崩潰
至於緩存一直都是用BC預設的6~50MB在跑沒更動過

崩潰較常發生於有任務下載進行時手動退出程式時
會出現崩潰傳送錯誤報告/重啟

結論:既然沒法解決又不想重灌,還是繼續用回1.09版了

回復 6# gamearts0713tw

退出程式要先停止全部任務才行,不過我不了解你的使用方式啦,真照你這樣用問題可多了.......

本帖最後由 gamearts0713tw 於 2011-5-21 04:28 編輯

鬼扯,BC有強制使用者在結束前必須先停止所有任務?
就算如你說的在退出前先停止任務,結果只是在按下停止任務時程式就直接崩潰,連退出都省了
當年從0.56開始用到1.09版為止在下載時退出BC也從來沒崩潰給我看過難道是假的?
拿退出時沒停止任務這點說嘴是當別人白痴都需要你教
還是只是想突顯自以為使用方式比別人好的優越感作祟?
樓上要是每次只會跳出來回一堆廢文
然後一副「因為你用都正常,所以別人使用有問題都是別人使用方式不好導致」
勸你還是省省少自討沒趣。來這po文沒法解決就算了還得給人說風涼話,真是見識了。

漫罵容易,解決問題困難!
要用戶解決軟件的開發問題談何容易?也不可能.
其實您已指出問題所在,祇是沒思考怎樣(遠離)那些困擾.

本帖最後由 set00off 於 2011-5-21 17:47 編輯

回復 8# gamearts0713tw

<span style="font-size:3%"><strong>會喔~~甚至會丟失部分下載進度的,因為有時還沒有把下載中資料儲存,把那部份還在緩存中的資料存入任務當中,你所謂舊版我已經不知道早忘了~~新版本有這情形,你強制關閉有較高機率BC程式發生不明異常,還有已出現的他人共享資料也可能沒有儲存到,或者任務列表會發生不明異常而丟失清空,我絕得你根本沒關注~~真關心要常出現,這些是我使用之後得到的狀況,你只接受自己所認定的完美答案,那我就沒啥好說的就當我好心被狗咬,只是告訴你我認為最好的解決方式,不然你就繼續維持這狀況吧.....</strong>

你自己都已經接受維持現狀,能修就修如果不能就只剩這一招了,你有更好的方法我當然沒意見,那你自己努力慢慢找出更好的解決方式,不穩定因素不會自動消失回到最初乾淨狀態,難道這就不是一個解決方式喔.....

複雜的~沒有太多的人懂我也不會,我的解決方式就是重灌作業系統,然後以後有問題利用系統還原,利用設置還原點快速回復C槽系統硬盤,不過記得有放重要資料時要移到別處去,那你慢慢等待你那所謂的高人指點吧.....
自認為自己也是一個永遠的學習者,知識廣闊無邊沒有這麼容易學得完...

回復 6# gamearts0713tw

其實bc軟件自身開發的優劣姑且不論,電腦使用久了反覆地安裝卸載某些程式插件,日積月累多少會對系統產生一些影響

且憑良心講ntdll.dll的錯誤並不是只有運行bc才會發生,一些相容性差或設計不良的程序如果不合彼此間都會有崩潰的問題.

在排除了系統主程式之後,你的問題我認為比較有可能是: 1.跟其他軟件程式衝到 2.註冊表歷史殘留的問題

第1項除了排除法我也沒更好的法子,第2項不知道你有沒這類的東西http://www.newpccleaner.com/registry-cleaner-tw.html
如果沒有倒是可以試試,姑且就死馬當活馬醫吧!?

註冊表清理軟件就以前使用經驗
因為軟體可能誤判刪除某些不該刪除的鍵值
反而會造成系統(尤其是IE)一些奇怪的(紅X)錯誤
CCleaner的登錄檔清潔工具是我使用後認為比較安全保險的軟件
ntdll錯誤如你所說也可能造成其他軟體或遊戲崩潰
不過在我的電腦上唯獨新版BC會因為ntdll錯誤導致崩潰就是
原本單純以為移除netlimiter就能解決的事可惜事與願違
總之還是謝謝樓上的建議了

回復 12# gamearts0713tw

算不上什麼建議的,互相討論罷了…

仔細回想起來我確實也曾經在關閉bc時崩潰過(已停止任務),
大致上都發生在長時間運行的狀態下,只是很少發生所以不予理會.

我是用1.22版,使用的很保守無emule插件.不使用種子市場.不關聯任何瀏覽器選項,
平時用起來覺得沒什麼大問題還能接受(除了前些日子),加上現在玩PT站所以更不更新無所謂,
對新版本皆暫持觀望態度,我想往後如沒有出現廣受好評的經典版,也是不打算換了.

本帖最後由 gamearts0713tw 於 2011-5-21 19:49 編輯

同樓上使用方式,emule插件、種子市場、基本上也都不用的
之前一度改用utorrent 還是不習慣,畢竟BC有長效種子跟預覽影片這兩點優勢

http://www.unitethecows.com/bugs-feature-requests/26629-ntdll-dll-crash-problem-norman.html
不死心搜尋國外置頂討論串(還是置頂的看來這問題不是只有我碰到)
除了netlimiter已知跟Bitcomet相衝外
有一說是更改BitComet.exe相容性為98/me 可延長關閉時的容許時間(?)
另一說是防毒軟體即時防護的啟發式偵測(Heuristic )所導致

更改執行檔相容性這點原本半信半疑
不過改了之後程式崩潰次數的確有變少
故意在開三任務執行滿速下載時退出測試
大概三次崩潰兩次,變成五次崩潰一次的程度
小紅傘的Heuristic索性也關了,這個就不清楚有沒有影響
以上僅供參考。

至於你上面的registry-cleaner我也試了
這種號稱免費的廣告頁面果然掃了之後要修復就要你註冊付費了 XD

回復 14# gamearts0713tw

http://tw.registrywinner.com/
我介紹的那個就是Registry Winner,評價也頗高的,一直以來都是用這個覺得很好很強大!
如果還沒移除可以用用看,已pm給你!

本帖最後由 set00off 於 2011-5-23 21:25 編輯

回復 8# gamearts0713tw

我對之前不禮貌向你道歉,對於你說的...

鬼扯,BC有強制使用者在結束前必須先停止所有任務?
抱歉~這部分有極高的機率~的確會的,會發生不明錯誤儲存進度遺失或丟失任務列表,新版連自動定時關機都加入先停止任務才關機,你說的才按了停止就崩潰,抱歉你這問題我真的沒碰過幫不上忙,關於你說的問題能修就修復不然也沒啥好方法,剩下看你繼續換舊版還是怎樣都隨你高興,至少除了碰上前面我帖子說的那些狀況,才有一定機率碰到崩潰,不然大部分時間我極少碰到崩潰問題,看其他高人是否有更好的方法指點你.....
關於舊版我早就不知道了,我一直都是換最新版本來用,除了最新版本使用上真有狀況我才會往後退,官方測試用的幾乎是乾淨的作業系統,如果你系統真有問題那也沒辦法…