Intel प्रोसेसर अस्थिरता के कारण 'Oodle' डीकंप्रेशन फेल होने की समस्या
(radgametools.com)- 13वीं और 14वीं पीढ़ी के Intel Core प्रोसेसर में हार्डवेयर अस्थिरता, Unreal Engine आधारित गेम्स में Oodle Data डीकंप्रेशन फेल और क्रैश के रूप में सामने आ सकती है
- प्रमुख त्रुटि
DecompressShader(): Could not decompress shader (GetShaderCompressionFormat=Oodle)है, और समस्या Oodle से अधिक CPU पर भारी लोड डालने वाले मल्टी-थ्रेडेड कार्यों से व्यापक रूप से जुड़ी है - Adobe Premiere, RealBench, CineBench, Prime95, Handbrake, Visual Studio आदि में भी क्रैश दिख सकते हैं, और CPU वजह होने के बावजूद यह
out of video memoryजैसी GPU त्रुटि की तरह दिख सकता है - Intel ने पुष्टि की है कि कई समस्याओं के एक साथ आने से चिप के भीतर clock signal circuit तेजी से degrade हो रहे हैं, और जो हिस्से पहले से भौतिक रूप से खराब हो चुके हैं उन्हें बदलना होगा
- 1 अक्टूबर 2024 तक, नुकसान पहुँचाने वाली operating conditions से बचाने वाले BIOS updates जारी होने शुरू हो गए हैं, इसलिए लक्षण दिखने से पहले इन्हें इंस्टॉल करना चाहिए
गेम क्रैश के रूप में दिखने वाली CPU अस्थिरता
- 13xxx और 14xxx सीरीज़ के 13वीं और 14वीं पीढ़ी के Intel Core प्रोसेसर की हार्डवेयर समस्या सामान्य सिस्टम अस्थिरता का कारण बन सकती है
- Unreal Engine आधारित गेम्स में Oodle Data डीकंप्रेशन फेल और क्रैश हो सकते हैं
- प्रमुख त्रुटि:
DecompressShader(): Could not decompress shader (GetShaderCompressionFormat=Oodle)
- प्रमुख त्रुटि:
- यह समस्या सिर्फ Oodle तक सीमित नहीं है
- ऐसे प्रोग्राम जो प्रोसेसर को कई थ्रेड्स पर भारी तौर पर इस्तेमाल करते हैं, वे भी क्रैश या अप्रत्याशित व्यवहार दिखा सकते हैं
- Adobe Premiere, RealBench, CineBench, Prime95, Handbrake, Visual Studio आदि में भी क्रैश देखे गए हैं
- CPU कारण होने पर भी संदेश GPU समस्या जैसा दिख सकता है
- उदाहरण: गलत
out of video memoryत्रुटि
- उदाहरण: गलत
कारण और ज़रूरी कदम
- Intel ने मूल कारण को चिप के भीतर clock signal circuit के तेज़ी से degrade होने के रूप में पहचाना है
- कई समस्याएँ एक साथ जुड़कर सर्किट को नुकसान पहुँचाती हैं
- यह नुकसान चिप का भौतिक क्षरण है, और एक बार शुरू होने पर इसे पलटा नहीं जा सकता
- जिन हिस्सों में degradation पहले ही हो चुका है, उन्हें बदलना ज़रूरी है
- बदलने की प्रक्रिया इस गाइड में दी गई है
- 1 अक्टूबर 2024 तक, सर्किट को नुकसान पहुँचाने वाली operating conditions से बचाने वाले नए BIOS updates जारी होने शुरू हो गए हैं
- तैयार-निर्मित laptop या desktop PC के लिए निर्माता ऐसे workaround वाले BIOS updates जारी कर रहे हैं या जल्द करेंगे
- खुद assembled PC के लिए motherboard निर्माता की वेबसाइट पर updated BIOS image देखनी चाहिए
- लक्षण दिखने से पहले BIOS update इंस्टॉल कर लेना चाहिए
- क्रैश शुरू होने के बाद software से समाधान करना बहुत देर हो सकती है
1 टिप्पणियां
Hacker News की रायें
AMD Threadripper 3970X को शुरुआती दौर में अपनाते समय झेली गई एक घटना याद आ गई: https://forum.level1techs.com/t/amd-threadripper-3970x-under...
HN चर्चा: https://news.ycombinator.com/item?id=22382946
आखिरकार कई महीनों तक AMD के साथ मिलकर समस्या की जांच की, और मदरबोर्ड व CPU आगे-पीछे भेजने की झंझट के लिए AMD ने काफी अच्छा मुआवजा दिया, लेकिन उसके बाद से AMD द्वारा दी गई custom BIOS image पर ही इस्तेमाल कर रहा हूं। आखिर में लगता है कि यह Gigabyte की तरफ की समस्या थी
मुझे एक खराब 13900K मिला था, और कम-से-कम मेरे मामले में यह पुष्टि कर सकता हूं कि default PL1/PL2 settings पर भी समस्या दिखती थी
उस सिस्टम पर reinforcement learning चला रहा था, लेकिन वह लगातार crash हो रहा था, इसलिए काफी समय तक वजह खोजता रहा; दूसरे PC में इस्तेमाल हो रहे 13700KF से CPU बदलने पर समस्या हल हो गई
Intel से RMA मांगा तो उन्होंने कहा कि इस्तेमाल हो रहा MSI motherboard Linux को support नहीं करता, और जब मैंने support enable करने वाला microcode मौजूद Intel का official GitHub repository भेजा तो representative बदल गया। उसी पल साफ लगने लगा कि Intel RMA से जितना हो सके बचना चाहता है, और सौभाग्य से मैं Europe में रहता हूं, इसलिए local consumer protection agency के जरिए RMA कराया
इसी बीच एक online retailer पर 7950X और motherboard bundle discount देखा और खरीद लिया, और पुराने motherboard व RMA से मिले 13900K को used में बेच दिया। Intel कुछ data science projects को sponsor करता था, इसलिए Intel इस्तेमाल कर रहा था, लेकिन अब फिर कभी Intel नहीं खरीदने का इरादा है
Security issues कम करने के लिए hyperthreading बंद करना पड़ता है, और अब लगता है memory corruption issues कम करने के लिए turbo mode भी बंद करना होगा
Side-channel attacks से बचने के लिए C-states बंद करें, scheduler issues से बचने के लिए efficiency cores भी बंद करें, तो किसी समय हम 20 साल पुराने feature set पर लौट आते हैं :P
हाल ही में i9 149KF और Asus Formula motherboard से नया system बनाया। मकसद VFIO system के तौर पर Windows चलाना और gaming करना था
इसे stable चलाने की प्रक्रिया किसी nightmare जैसी थी, और motherboard की default settings में से कुछ भी सही नहीं था। Games crash हुए, kernel और Emacs compile भी fail हुए
आखिरकार 6GHz chip का turbo 5.4GHz पर limit करना पड़ा, और maximum power व throttling temperature को 90°C पर limit करने वाली setting enable करनी पड़ी
अब यह stable दिख रहा है, और throttling के बिना 5.4GHz sustain करते हुए 4K resolution पर 120fps में games enjoy कर रहा हूं। लेकिन यह बात खटकती है कि जिसके advertised numbers के लिए पैसे दिए, उन पर इसे किसी भी setting में चला नहीं सकता
पहले तो मुझे यह बेतुका लगा, लेकिन Intel के मुताबिक इस chip के लिए यह normal लगता है: “Processor maximum 100°C support करता है, और उससे कम temperature normal और expected range में है”
https://community.intel.com/t5/Processors/i9-14900K-temperat...
फिर भी यह सच में अजीब है। एक तरफ, जो advertised performance आपने pay की है वह मिलनी ही चाहिए, लेकिन दूसरी तरफ CPU को 90~100°C पर operate करना पागलपन जैसा लगता है। लगता है Intel काफी दबाव में है। Curious हूं कि आप कौन-सा cooling setup इस्तेमाल कर रहे हैं
यह वैसा ही है जैसे पहले ISP “up to X Mbps” बेचते थे। यह chip भी कहती है कि turbo boost “up to 6.00GHz” तक करती है
असल में यह automatic overclocking है, और जैसा आपने खुद अनुभव किया, कभी-कभी यह उस speed को stable तरीके से दे भी नहीं पाती। कुछ chips कभी “up to 6.00GHz” पर operate नहीं करेंगी, लेकिन यह झूठ नहीं है। क्योंकि “up to” है
हालांकि CPU load को 40% से ऊपर जाते भी नहीं देखा, और benchmark software भी नहीं चलाया। 5.4GHz पर 90°C मेरे processor में जो दिखता है उससे काफी अलग है, इसलिए जानना चाहूंगा कि आप कौन-सा cooling device इस्तेमाल कर रहे हैं। हो सकता है higher clock पर भी मैंने CPU को उतना hard push न किया हो
Raymond Chen का क्लासिक लेख याद आता है: https://devblogs.microsoft.com/oldnewthing/20050412-47/?p=35...
xor eax, eaxजैसी basic instruction भी गलत हो रही हो, तो बता देने से debug करने में मुश्किल support requests कम हो सकती थींयह स्थिति जानी-पहचानी लगती है। पुराना Pentium III 1.13GHz याद आता है
https://www.tomshardware.com/reviews/intel-admits-problems-p...
Zstd में भी hardware issues नियमित रूप से सामने आते हैं। कई बार decompressor network से आए data के साथ interact करने वाला पहला component बन जाता है
इस मामले की तरह decompressor checksum इस्तेमाल हो या न हो, bit flips के प्रति बहुत संवेदनशील होता है, इसलिए अक्सर उसी host पर चल रहे दूसरे processes से पहले hardware problem का पता लगा लेता है
Zstd ने सिर्फ original data का checksum शामिल करने का फैसला किया था, जो data integrity सुनिश्चित करने के लिए पर्याप्त है। लेकिन compressed data corrupt हुआ है या नहीं, यह verify नहीं हो पाता, इसलिए corruption की वजह decompressor है, इसे exclude करना ज्यादा मुश्किल हो जाता है
लगता है यह page किसी दूसरे public page से linked नहीं है, इसलिए यह errors logs में “oodle” trace करने की कोशिश कर रहे users की अनचाही शिकायतों से निपटने के लिए बनाया गया page लगता है। 2006 में SQLite के समय जैसा [1]
[1] https://news.ycombinator.com/item?id=36302805
https://www.radgametools.com/granny.html
https://www.radgametools.com/iggy.htm
https://www.radgametools.com/milesperf.htm
बिल्कुल आश्चर्य नहीं हुआ
पहले 4790K के लिए ASUS TUF board इसलिए खरीदा था क्योंकि मुझे basic चीज चाहिए थी और overclocking या tuning में दिलचस्पी नहीं थी। लेकिन BIOS की सोच अलग थी
overclocking से बचने के लिए भी ढेरों settings manually set करनी पड़ती थीं, RAM timings set करनी पड़ती थीं और BIOS का हर item check करना पड़ता था कि वह किसी भी तरह overclock तो नहीं कर रहा। “optimal” settings bus speed multiplier adjustment जैसे aggressive changes enable कर देती थीं
Asus motherboard पर ऐसी ही चीज झेली है। auto-tuning के कारण instability हुई और compiler crash होने लगा, और normal use के लिए BIOS को manually set करना पड़ा
मुझे लगता है problem SuperIO के cooler control करने के तरीके से और खराब होती है। क्योंकि crashes 100°C temperature spike से जुड़े हुए थे। fan बढ़ाने की speed बहुत धीमी है, और घटाने की speed बहुत तेज
Linux में user space से इसे adjust किया जा सकता है। लेकिन असल में rise phase को temperature जैसे lagging indicator नहीं, बल्कि voltage regulator जैसे leading indicator से control होना चाहिए। या Linux p-state controller power level predict करके fan speed ज्यादा set कर सकता है
default fan curve बेअसर भी है और लगातार ऊपर-नीचे होकर irritate करती है। single P core temperature लगातार उछलता है और fan बिखरे हुए तरीके से react करता है
पढ़ा था कि rise time बढ़ाने से fan behavior smooth होता है, लेकिन ऊपर वाले अनुभव को देखते हुए यह processor failure भी करा सकता है