รถยนต์ที่แพ้ไอศกรีมวานิลลา (2000)
(cs.cmu.edu)- เจ้าของ Pontiac คันใหม่ร้องเรียนไปยัง General Motors Pontiac Division ว่า ทุกเย็นหลังซื้อไอศกรีม รถจะสตาร์ตไม่ติดเฉพาะตอนที่เลือก วานิลลา
- ประธาน Pontiac สงสัยจดหมายฉบับนี้ แต่ก็ส่งวิศวกรไปตรวจสอบ และในพื้นที่จริงก็สามารถทำให้เกิดเหตุการณ์ สตาร์ตไม่ติดหลังซื้อวานิลลา ซ้ำได้จริง
- ในวันที่ซื้อช็อกโกแลตและสตรอว์เบอร์รี รถสตาร์ตติด แต่วันที่ซื้อวานิลลากลับล้มเหลวอีกครั้ง ทำให้เงื่อนไขที่ดูเหลือเชื่อถูกยืนยันซ้ำ ๆ
- วิศวกรบันทึกเวลา ชนิดเชื้อเพลิง เวลาที่ใช้ไป-กลับ และเวลาที่ใช้ซื้อ จนพบ ความแตกต่างของเส้นทางในร้าน ว่าเฉพาะวานิลลาสามารถซื้อได้อย่างรวดเร็วจากตู้แช่แยกหน้าร้าน
- สาเหตุไม่ใช่รสไอศกรีม แต่เป็น vapor lock ที่เกิดจากเวลาซื้อสั้นเกินไปจนเครื่องยนต์ยังเย็นไม่พอ และแม้รายงานปัญหาที่ดูประหลาดก็ควรตรวจสอบด้วยการสังเกตและทำซ้ำ
ปัญหาสตาร์ตอันแปลกประหลาดของ Pontiac
- เจ้าของ Pontiac รายหนึ่งส่งจดหมายฉบับที่สองไปยัง Pontiac Division ของ General Motors
- ครอบครัวของเขาจะโหวตเลือกรสไอศกรีมสำหรับกินเป็นของหวานหลังอาหารเย็นทุกวัน และเขาจะขับรถไปที่ร้านเพื่อซื้อไอศกรีมกลับมาทุกครั้ง
- หลังจากซื้อ Pontiac คันใหม่ ปัญหาหนึ่งเกิดซ้ำเฉพาะภายใต้เงื่อนไขบางอย่าง
- ถ้าซื้อ ไอศกรีมวานิลลา เขาจะกลับมาที่รถแล้วสตาร์ตไม่ติด
- ถ้าซื้อรสอื่น รถจะสตาร์ตได้ตามปกติ
- เขายอมรับว่าคำถามอาจฟังดูโง่ แต่ก็ถามว่าทำไม Pontiac ถึงสตาร์ตไม่ติดเฉพาะตอนซื้อวานิลลา
การตรวจสอบภาคสนามและการทำให้เกิดซ้ำ
- ประธาน Pontiac มองจดหมายนี้อย่างกังขา แต่ก็ส่งวิศวกรไปตรวจสอบด้วยตนเอง
- วิศวกรไปพบเจ้าของรถหลังอาหารเย็นทันที แล้วไปที่ร้านไอศกรีมด้วยกัน
- วันนั้นเป็นวันที่ซื้อวานิลลา และเมื่อทั้งสองกลับมาที่รถ รถก็ สตาร์ตไม่ติด จริง ๆ
- หลังจากนั้นตลอดสามวัน มีการเปลี่ยนเงื่อนไขเพื่อตรวจสอบ และผลก็ชัดเจน
- วันแรกเมื่อซื้อช็อกโกแลต รถสตาร์ตติด
- วันที่สองเมื่อซื้อสตรอว์เบอร์รี รถก็สตาร์ตติด
- วันที่สามเมื่อซื้อวานิลลา รถกลับสตาร์ตไม่ติดอีกครั้ง
เบาะแสจากบันทึกการสังเกต
- วิศวกรไม่ยอมรับคำอธิบายว่ารถแพ้ไอศกรีมวานิลลา
- เขาตัดสินใจไปตรวจต่อไปจนกว่าจะแก้ปัญหาได้ และบันทึกข้อมูลหลายอย่าง
- ช่วงเวลา
- ชนิดเชื้อเพลิงที่ใช้
- เวลาที่ใช้เดินทางไป-กลับร้าน
- เวลาที่ใช้ในการซื้อ
- เบาะแสสำคัญคือ เวลาซื้อวานิลลาสั้นกว่าเวลาซื้อรสอื่น
- การจัดวางภายในร้านเป็นสิ่งที่ทำให้เกิดความต่างของเวลา
- วานิลลาเป็นรสที่ได้รับความนิยมที่สุด จึงอยู่ในตู้แช่แยกหน้าร้านเพื่อให้หยิบไปได้อย่างรวดเร็ว
- รสอื่นอยู่ที่เคาน์เตอร์อื่นด้านหลังร้าน จึงใช้เวลานานกว่ามากในการหารสและชำระเงิน
สาเหตุจริง: vapor lock
- แก่นของปัญหาไม่ใช่รสไอศกรีม แต่เป็น เวลารอสั้นเกินไป
- หลังจากวิศวกรเข้าใจว่าเวลาเป็นต้นเหตุ เขาก็ระบุว่า vapor lock เป็นสาเหตุ
- vapor lock เกิดขึ้นทุกวัน แต่เวลาซื้อรสอื่นใช้เวลานาน เครื่องยนต์จึงเย็นลงพอและสามารถสตาร์ตได้
- ตอนซื้อวานิลลา เวลาซื้อสั้นเกินไป เครื่องยนต์จึงยังร้อนอยู่ และ vapor lock ยังไม่หายไป ทำให้สตาร์ตไม่ติด
บทเรียน
- แม้ปัญหาจะดูไม่สมเหตุสมผลในแวบแรก ข้อเท็จจริงที่สังเกตเห็นก็อาจเป็นจริงได้
- แม้อาการจะดูประหลาด แต่หากตรวจสอบเงื่อนไขซ้ำและรวบรวมข้อมูล ก็สามารถหา สาเหตุที่แท้จริง ได้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ช่วงปลายยุค 90 ที่ทำงานเคยมีเรื่องคล้าย ๆ กัน เมาส์ของพนักงานคนหนึ่งจะค้างเฉพาะบางช่วงของวัน ตอนเช้าใช้ได้ดี พอใกล้เที่ยงก็ใช้ไม่ได้ แล้วหลังจากนั้นก็กลับมาใช้ได้อีก
เบาะแสชี้ขาดคือในวันที่ฟ้าครึ้มมันใช้ได้ปกติทั้งวัน แต่ในวันที่แดดออก อาการผิดปกติแบบเดิมจะเกิดซ้ำ ๆ ปรากฏว่าเคสพลาสติกของ เมาส์ลูกกลิ้งราคาถูก บางเกินไป ทำให้ในวันที่แดดออก แสงอาทิตย์ไปกลบเซ็นเซอร์แกน X/Y จนแรงกว่า LED และกลับมาทำงานปกติได้ก็ต่อเมื่อดวงอาทิตย์เคลื่อนจนเกิดเงา ตอนแรกฟังดูเหลือเชื่อ แต่สาเหตุนั้นมีเหตุผลสมบูรณ์
ดูเหมือนว่า Pangu jailbreak บางเวอร์ชันสำหรับ iOS 7.1.x จะ crash ระหว่างบูตหากค่าจากเซ็นเซอร์แสงรอบข้างต่ำกว่าค่า threshold บางค่า ยังไม่ทราบสาเหตุที่แน่ชัด แต่ดูเหมือนว่าใน Pangu จะมีโค้ดที่ไม่จำเป็นซึ่งไปยุ่งกับเซ็นเซอร์แสงอยู่ [1]
[1] https://www.reddit.com/r/jailbreak/comments/294wob/jailbreak...
[2] https://www.reddit.com/294wob/
หลังจากตรวจสารพัดปัญหาแล้ว จึงพบว่าปัญหาไม่ได้เกิดตอนฝนตก แต่เกิดตอนมีหมอกหนาหรือฝนปรอย ๆ ช่างของบริษัทเคเบิลมาตรวจแล้วพบว่าภายในบ้านปกติดี แต่สายเคเบิลจากสายหลักเข้าบ้านมีรอยแผลเล็กมาก ทำให้ความชื้นรอบ ๆ ซึมเข้าไปและทำให้การเชื่อมต่อเสีย
เมื่อถังน้ำแข็งเต็ม ลำแสงอินฟราเรด ควรถูกบังเพื่อให้หยุดทำน้ำแข็ง แต่ในวันที่แดดออก แสงสว่างจ้าในครัวหลอกเซ็นเซอร์ให้เครื่องทำน้ำแข็งต่อไปเรื่อย ๆ ดังนั้นเลยวางนิตยสารสุ่ม ๆ ไว้ด้านบนเพื่อให้มันทำงานถูกต้อง
วันหนึ่งจู่ ๆ การทดสอบที่เกี่ยวกับแอปกราฟิก X client เริ่มล้มเหลวเป็นครั้งคราว แต่ทำซ้ำภายใต้เงื่อนไขอื่นไม่ได้ ปรากฏว่างาน CI รันอยู่บนเครื่องเดสก์ท็อปหลายเครื่องที่วางไว้ที่ไหนสักแห่งในบริษัท และมีคนเอาเมาส์ไปเสียบกับเครื่องหนึ่งแล้วปล่อยทิ้งไว้บนชั้นวาง เมื่อโหลดของเครื่องสูงขึ้น พัดลมก็หมุนเร็วขึ้นและแรงสั่นสะเทือนเพิ่มขึ้น ทำให้เมาส์ขยับเล็กน้อยมาก และด้วยเหตุผลที่ไม่ทราบแน่ชัด สิ่งนั้นส่งผลข้างเคียงต่อการทดสอบ รู้สึกภูมิใจไม่น้อยที่วินิจฉัยเครื่องที่ตัวเองไม่ได้อยู่หน้างานได้ผ่าน SSH
ปรากฏว่า แผงโซลาร์เซลล์ หรือ optimizer หรือ inverter ปล่อยคลื่นความถี่วิทยุที่ไปรบกวนรีโมตประตูโรงรถ เมื่อมีแสงแดดและระบบผลิตไฟฟ้า สัญญาณรบกวนจะแรงกว่า homelink garage door opener เมื่อไม่กี่ปีก่อนที่เปิดประตูโรงรถจู่ ๆ ก็เริ่มใช้ได้ดีขึ้น แล้วไม่กี่วันต่อมาจึงรู้ว่าเป็นเพราะ inverter เสีย ตามกฎ FCC แล้วบริษัทติดตั้งอาจต้องแก้ให้ แต่ความสัมพันธ์ตอนติดตั้งแย่ลงไปแล้ว เลยมองว่ายอมเลิกใช้รีโมตยังดีกว่าต้องไปเจอเรื่องซ่อมตามประกัน
เรื่องขำ ๆ ที่ได้ยินต่อมาในยุคที่ยังมีห้องเซิร์ฟเวอร์อยู่ เพื่อนคนหนึ่งมีเซิร์ฟเวอร์บริษัทที่รีบูตเองทุกวันราว 5 โมงเย็น ตรวจทุกอย่างที่เป็นไปได้ทางฝั่งระบบปฏิบัติการแล้วก็ยังหาสาเหตุไม่เจอ
สุดท้ายเลยตัดสินใจไปยืนเฝ้าหน้าเซิร์ฟเวอร์ตอนเวลานั้น แล้วก็เห็นพนักงานทำความสะอาดเดินเข้ามาในห้อง ถอดปลั๊กไฟของแร็กเซิร์ฟเวอร์ เอาเครื่องดูดฝุ่นมาเสียบเพื่อทำความสะอาด จากนั้นค่อยเสียบแร็กเซิร์ฟเวอร์กลับเข้าไป
กล้องบางตัวรีสตาร์ตแทบจะเวลาเดิมทุกวัน แต่ไม่ใช่วินาทีเดียวกันเป๊ะ ๆ เป็นรูปแบบชัดเจน เช่น วันหนึ่ง 19:12:10 วันถัดไปช้ากว่าเดิม 2 วินาที และวันถัดไปก็ช้ากว่าอีก 2 วินาที ปรากฏว่าเวลาพระอาทิตย์ตก สิ่งปลูกสร้างริมถนนทอดเงาผ่านหน้ากล้อง แล้วซอฟต์แวร์เข้าใจผิดว่าเป็นยานพาหนะ จึงเริ่มสะสมข้อมูลการจำแนกประเภท เงาเคลื่อนที่ช้ากว่ายานพาหนะจริงมาก ทำให้หน่วยความจำหมดก่อนที่เงาจะออกจากเฟรม ระบบจึงค้าง แล้ว watchdog ก็รีสตาร์ตเครื่อง ส่วนรูปแบบของเวลาเกิดจากมุมดวงอาทิตย์ที่เปลี่ยนไปทุกวัน ทำให้เงาหลอกอัลกอริทึมได้ช้าลงทีละนิด
[0] https://old.reddit.com/r/talesfromtechsupport/comments/5yrs1...
[1] https://www.goodreads.com/book/show/3227607-the-devouring-fu...
ไปนั่งเฝ้าช่วงเวลานั้นอยู่หนึ่งสัปดาห์ จนเห็นไฟหรี่ลงแล้วเกิดการรีบูต ทนายความในสำนักงานข้าง ๆ เข้างานแล้วเปิด PC, เครื่องพิมพ์ และกาต้มน้ำไฟฟ้าพร้อมกันจากปลั๊กพ่วงเดียวกัน กระแสกระชากตอนเริ่มทำงานทำให้แรงดันในวงจรที่เซิร์ฟเวอร์ต่ออยู่ตกลง มี UPS อยู่ก็จริง แต่ UPS สำหรับผู้บริโภคในตอนนั้นรับมือได้แค่ไฟดับ วัดได้ว่าแรงดันตกลงไปถึง 85V และในความเป็นจริงถ้าต่ำกว่า 95V ก็มักจะรีบูต
เป็นบ่ายวันศุกร์ อากาศร้อนชื้นและพายุกำลังจะมา ราว 16:00 น. ผู้รับผิดชอบมาบอกว่า 17:00 น. จะตัดไฟทั้งอาคาร ให้รีบหน่อย ทุกวันศุกร์จะปิดไฟเพื่อประหยัดพลังงาน และบังเอิญว่ามีงานจัดระเบียบ DB ถูกตั้งเวลาไว้ทุกวันศุกร์ 16:30 น. ดังนั้นในเวลาหนึ่งชั่วโมงที่เหลือจึงแก้ปัญหา ยกเลิกตารางงานของสัปดาห์นั้น แล้วปิด DB server ด้วยมือ การตัดไฟบังคับทุกสัปดาห์ทำให้เกิดเหตุขัดข้องในระบบผลิตของ Netware server และ DB server ของซอฟต์แวร์จัดเก็บเงิน และตามสัญญาบำรุงรักษาเราต้องไปแก้ให้ทุกครั้ง สุดท้ายกว่าหนึ่งเดือนต่อมาจึงยอมเลื่อนการตัดไฟบังคับไปเป็นเช้าวันเสาร์ เพื่อให้หลังงานสำรองข้อมูลเสร็จ เซิร์ฟเวอร์จะปิดได้อย่างถูกต้อง
นึกถึง GM minivan ที่พี่เขยขับในยุค 80 เป็นรถที่พ่อตาซึ่งเป็นวิศวกรรถยนต์ของ GM ให้มา บางครั้งสุ่มสตาร์ตไม่ติด และดูเหมือนระบบไฟฟ้าทั้งหมดตายไปเลย
พี่เขยถูกมองว่าเป็นคนไม่ค่อยรู้เรื่องรถ พ่อตาจึงไม่ค่อยรับฟังคำบ่นอย่างจริงจัง สุดท้ายตกลงกันว่าจะสลับรถกันขับหนึ่งเดือน แล้วปัญหาก็เกิดซ้ำในลานจอดรถของ GM Technical Center วิศวกร GM ที่มารุมดูกันก็ยังหาสาเหตุไม่ได้ว่าทำไมมันถึงดูเหมือน ระบบไฟฟ้าตายไปเลย พี่เขยจึงได้ล้างมลทิน
ผ่านไปไม่กี่ชั่วโมงก็สตาร์ตติดเหมือนไม่เคยมีอะไรเกิดขึ้น ศูนย์บริการจึงวินิจฉัยไม่ได้ ต่อมามันเริ่มกระทบชีวิต เพราะสตาร์ตไม่ติดระหว่างไปแคมป์แบบออฟโรดด้วย สุดท้ายพอมันดับอยู่ตรงทางเข้าบ้าน จึงลากไปอู่ซ่อมอิสระทั้งสภาพนั้น แล้วที่นั่นก็เกิดซ้ำ ช่างเสนอให้เปลี่ยนโมดูล ECU หรือเปลี่ยนกล่องฟิวส์ทั้งชุด ECU ราคาหลายพันดอลลาร์ แต่ การเปลี่ยนกล่องฟิวส์ รวมค่าแรงแล้วต่ำกว่า 200 ดอลลาร์ จึงเลือกอย่างหลัง ผ่านมา 6–7 ปีแล้ว ตอนนี้รถคันนั้นยังเป็นรถหลักคันเดียว และหลังจากนั้นก็ไม่เคยมีปัญหาทางกลไกอีกเลย
รถ GM ในยุคที่ขึ้นชื่อแย่นั้นจะมีปัญหาไฟฟ้าลึกลับที่ทำให้คนแทบคลั่ง ก็ฟังดูเป็นไปได้มาก
น่าจะมีรีเลย์ที่ไหนสักแห่งร้อนเกินไปจนค้างอยู่ในสถานะปิดวงจร แต่ผมไม่ได้ดีบักเอง และลูกพี่ลูกน้องที่เป็นช่างซ่อมรถก็หาไม่เจอ ไม่ได้พยายามมากนัก ถ้าเกิดอาการนั้นก็แค่ถอดฟิวส์ออก แล้วเช้าวันถัดไปค่อยเสียบกลับเข้าไป
หลายครั้งมอเตอร์สตาร์ตยังหมุนได้ดี แต่อุปกรณ์อิเล็กทรอนิกส์ไปค้างอยู่ในสถานะแปลก ๆ ต้องถอดแบตเตอรี่ออกเพื่อ hard reset ถึงจะหาย
เคยเจอปรากฏการณ์ซ้ำ ๆ แปลก ๆ เกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์ในบ้านหลังเก่า ตอนเที่ยงคืนของวันหนึ่งในสัปดาห์ จะมีเสียงเบา ๆ จากอุปกรณ์อิเล็กทรอนิกส์ที่ติดตั้งอยู่กับที่ ฟังเหมือนบันทึกสุนทรพจน์ทางการเมืองสมัยสงครามโลกครั้งที่สอง
เสียงเบามากจนระบุจุดกำเนิดได้ยาก และฟังคำพูดไม่ออก เลยเหมือนมีเสียงบันทึกเก่า ๆ ดังมาจากทุกทิศพร้อมกัน ถอดปลั๊กแล้วก็ยังดัง แม้ไฟดับทั้งบ้านก็ยังดังอยู่ คิดไปว่าตัวเองกำลังจะบ้า หรือบ้านมีผีฮิตเลอร์สิงอยู่หรือเปล่า แต่ภายหลังได้ยินเสียงคล้ายกันจากวิทยุในรถจึงเข้าใจ สถานีวิทยุ AM คาทอลิกเริ่มออกอากาศในวันและเวลาเดียวกันด้วยเพลงสวดเกรกอเรียนกับคำเทศน์ และระบบสายไฟในบ้านไม่รู้ทำอีท่าไหนถึงทำงานเหมือน เครื่องรับวิทยุ AM ทำให้ชิ้นส่วนบางอย่างสั่นออกมาเป็นเสียงที่มากับสัญญาณวิทยุ
ทุกครั้งที่ลูกชายเล่น American Truck Simulator หน้าจอแล็ปท็อปจะดับ และตอนที่จอดำ รถบรรทุกก็ไถลออกนอกถนน
แต่พอผมเล่นด้วยแล็ปท็อปเครื่องเดียวกันกลับไม่เกิด ลูกชายเลยมั่นใจว่าตัวเองถูกสาป หลังจากเกิดซ้ำอยู่หลายวัน ผมก็นั่งดูเขาเล่นข้าง ๆ แล้วสังเกตว่าสายนาฬิกาของลูกเป็นสายโลหะที่ล็อกด้วยแม่เหล็ก ตำแหน่งข้อมือไปกระตุ้น Hall sensor ของแล็ปท็อป ทำให้มันคิดว่าฝาถูกปิดแล้ว ทั้งลูก ผม และภรรยาต่างก็โล่งใจเมื่อรู้ว่าเขาไม่ได้ถูกสาป
https://www.ifixit.com/News/33952/apple-put-a-hinge-sensor-i...
เรื่องพวกนี้แหละที่ทำให้ Car Talk สนุกมาก มันไม่ใช่แค่เรื่องช่างซ่อมรถซ่อมรถ แต่สถานการณ์มันประหลาดและเฉพาะตัวมากจนชวนติดตาม
อีกอย่างที่สนุกคือการได้ฟังช่างที่ทำงานมานาน เจอสถานการณ์แปลก ๆ มาเยอะจนกลับมองเป็นเรื่องธรรมดา แถมยังเล่าเรื่องเก่งด้วย
บทเรียนสำหรับผมไม่ใช่ “ปัญหาที่ดูเหลวไหลบางครั้งก็เป็นเรื่องจริง” เท่าไร แต่คือ ปัญหาของผู้ใช้มักมีอยู่จริง แต่อย่าเชื่อความสามารถในการวินิจฉัยสาเหตุของเขา
จดหมายไม่ได้อ้างว่าไอศกรีมเป็นสาเหตุรากฐาน และระบุชัดมากว่าเป็นสาเหตุใกล้เคียง ประธาน Pontiac กับคนที่เขียน “บทเรียน” นั้นอาจสับสนสองอย่างนี้ แต่วิศวกรที่ไปตรวจสอบไม่ได้สับสน
จากประสบการณ์ทำ helpdesk ควบคู่ไปกับงานพัฒนา ผู้ใช้มักสุ่มเลือกข้อเท็จจริงบางอย่างให้เป็นสาเหตุของปัญหาได้ง่าย ๆ ฮิวริสติกอย่าง “สหสัมพันธ์คือเหตุเป็นผล” หรือ post hoc ergo propter hoc อาจช่วยได้ แต่ถ้านำมาแทนการอนุมานก็ไม่ดี ผู้ใช้ไม่รู้หลักการทำงานของสิ่งที่ตัวเองใช้ จึงวินิจฉัยได้ยาก และผู้ใช้ที่คิดว่าตัวเอง “พอรู้อะไรบ้าง” มักเป็นกลุ่มที่รับมือยากที่สุดเสียด้วย
รถของภรรยาผมตอนนี้น้ำฉีดกระจกเหลือน้อย แต่ไฟเตือนขึ้นเฉพาะตอนขับผ่านจุดหนึ่ง ไม่ใช่ระยะห่างจากบ้านที่แน่นอน แต่เป็น ตำแหน่งที่แน่นอน
ตอนแรกคิดว่าอาจเกี่ยวกับเวลาที่ขับไปไหนแล้วกลับมา แต่ไม่ว่าก่อนถึงตรงนั้นจะขับมา 5 นาที 5 ไมล์ 1 ชั่วโมง หรือ 60 ไมล์ พอถึงตำแหน่งนั้นก็จะมีการเตือนทั้งบนหน้าจอและเสียงทุกครั้ง เบาะแสเพิ่มเติมมีแค่ว่าจุดนั้นเป็นพื้นที่อับสัญญาณสำหรับมือถือ/ผู้ให้บริการส่วนใหญ่ ผมเติมน้ำฉีดกระจกไปแล้ว ปริศนาจึงเข้าสู่ช่วงจำศีล แต่ก็สงสัยว่าไฟเตือนทุกอย่างจะขึ้นที่จุดนั้นหรือเปล่า เหมือนเทเลเมทรีของรถถูกสะกิดให้ตื่นแล้วพูดอะไรบางอย่างตรงจุดนั้น
มันอาจสร้างสัญญาณรบกวนประหลาด ๆ ได้มากพอที่จะดันเซ็นเซอร์จากสถานะ “มีของเหลวพอ” ไปเป็น “ไม่พอ” แบบเฉียด ๆ
เป็นแค่ปัญหาของของเหลวที่ขยับไปมาในถัง วันนี้ผมเลยฉีดล้างกระจกไปหน่อยเพื่อให้รถเปิดไฟระดับต่ำค้างไว้เลย
คืนหนึ่งในห้องปฏิบัติการคอมพิวเตอร์ ขณะทำการบ้าน Java อาจารย์ผู้สอนเดินผ่านมาแล้วพูดว่า “อ้อ เครื่องนั้นคงต้องขอให้โชคดีแล้วละ”
เครื่องนั้นเคยเป็นเครื่องที่รันโปรแกรม Java อะไรก็ไม่ได้และตายอย่างอลังการ แต่ C++ หรือ Python กลับไม่เป็นไร ตอนแรกโปรแกรมของอาจารย์ซึ่งไม่เชื่อเรื่องนี้ก็ทำให้เครื่องนั้นแครชได้เช่นกัน หลังจากช่างเทคนิคกับอาจารย์ช่วยกันตรวจสอบประมาณ 2 สัปดาห์ พบว่าทุกครั้งที่ JVM เริ่มทำงาน มันจะจัดสรรจำนวนเต็ม 12 ไปยัง RAM address เดิมเสมอ และชิป RAM ที่มีที่อยู่ฮาร์ดแวร์นั้นเสียอยู่ ทุกครั้งที่พยายามจัดสรรไปยัง address นั้นก็จะแครช และเมื่อเปลี่ยนแผง RAM ที่เสีย ปัญหาก็หายทันที
https://marcan.st/2017/12/debugging-an-evil-go-runtime-bug/
จะไม่สปอยล์บทสรุป เป็นเส้นทางดีบักที่ยาวและคดเคี้ยว อ่านแล้วคุ้มค่า การถกเถียงใน HN:
https://news.ycombinator.com/item?id=15845118
เรื่องนี้เป็นตัวอย่างที่น่าสนุกของ ตัวแปรกวน
ในการอนุมานเชิงสาเหตุ ตัวแปรกวนคือ variable ที่ส่งผลต่อทั้งตัวแปรตามและตัวแปรอิสระ จนสร้างความสัมพันธ์ปลอมขึ้นมา เป็นแนวคิดเชิงสาเหตุที่อธิบายด้วยสหสัมพันธ์อย่างเดียวไม่ได้ และเป็นหนึ่งในเหตุผลเชิงปริมาณสำคัญของประโยคที่ว่า “สหสัมพันธ์ไม่ได้หมายถึงความเป็นเหตุเป็นผล”
https://en.wikipedia.org/wiki/Confounding
ถ้าเขียนเป็นแบบจำลองทางสถิติ อาจมองได้เป็น
S = f(H, I, T)โดยSคือรถสตาร์ตติดหรือไม่,Hคืออุณหภูมิเครื่องยนต์,Iคือชนิดไอศกรีมที่เลือก, และTคือเวลาที่ใช้ซื้อไอศกรีม ถ้าTสั้น เครื่องยนต์จะยังร้อนกว่า ทำให้เสี่ยงต่อ vapor lock มากขึ้นและส่งผลต่อSอีกทั้งตำแหน่งของไอศกรีมวานิลลาทำให้ซื้อได้เร็ว จึงเชื่อมโยงกับIด้วย ดังนั้นจึงเกิดความสัมพันธ์ปลอมระหว่างIกับSIส่งผลต่อTมากกว่าTส่งผลต่อIหรือ? เพราะชนิดไอศกรีมเป็นตัวกำหนดเวลาที่ใช้เดินในร้าน