From: Linus Torvalds > Sent: 15 August 2018 21:19 ... > But if people run things on real machines, then BUG() is absolutely > the last thing you EVER want to do for "debugging".
I'm not sure you want it on a live system either. Live systems are where the 'hard' bugs show up. I've just spent a couple of days pulling my hair out trying to work out how to debug a customer system that was locking up solid when running some new (and not completely testable by us) kernel code. At 4am I suddenly realised that the distribution they are using might be enabling 'panic_on_oops' by default. Turning that off showed what was going wrong. It wouldn't be as bad if Linux implemented 'dump to swap'. For 'errors' that aren't completely fatal the system could 'fast shutdown' a lot of processes (maybe just refuse to schedule them) while leaving enough running for fault diagnosis. I'm not sure how you'd decide what to allow to run though. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)