د VPN کلاینټ پیلول یو اسانه وخت نښه ده، نه لامل، او همدغه توپیر ټاکي چې وروسته څه پیښیږي۔ کله چې د کرنل Oops په هغه شیبه کې راځي، انتخاب د کارولو وړ د خطا راپور راټولولو او د هماغه کریش په تولیدي ماشین کې نور پنځه ځله رامنځته کولو ترمنځ دی۔ د بیا پیل کولو دمخه څلور شیان وساتئ: دقیق کرنل بیلډ، لومړنی د خطا تعقیب، د taint حالت او په هماغه دقیقه کې د بدل شوي نور هر څه لنډ بیان۔ پاتې برخه تفسیر دی، او تفسیر کولای شي تر هغې پورې انتظار وکړي چې شواهد په خوندي ځای کې وي۔

لومړنی خطا ونیسئ، نه اخرنې کرښه

په لاګ کې لومړنی Oops مهم دی، ځکه چې هر وروستی خطا کولای شي د یوې ناروغې کرنل جانبي زیان وي۔ د غوښتنو تعقیب سره سرلیک کاپي کړئ، ځکه چې سرلیک کې هغه لارښوونه او د ثبتونو حالت دی چې د کوډ لار پیژني۔ هغه راپور چې د اخرنې کرښې څخه پیل شي، یوه اونۍ وروسته لوستونکي لپاره ډیر لږ ارزښت لري۔

که ماشین دمخه بیا پیل شوی وي، د پخواني بوت کرنل بفر اکثرا لا هم په ژورنال کې وي، په دې شرط چې هغه وخت دوامداره ذخیره فعاله وه۔ د کار بار بیا جوړولو پرځای یې له ساتل شوې فایل څخه ولولئ، ځکه چې دویم تکرار کولای شي هغه څه پاک کړي چې تاسو ورته اړتیا لرئ۔ چیرې چې ماشین د بیا پیلونو ترمنځ ژورنال نه شي ساتلی، سیریل کنسول یا netconsole یوازینی لار ده چې خطا به کله هم ښکاره شي۔

له هر سمبول لوستلو دمخه بیلډ ټینګ کړئ

د فنکشن نومونه او آفسیټونه یوازې د هغه باینري پر وړاندې معنا لري چې هغوی یې جوړ کړي، نو د کرنل خپریدو سټرینګ او د ویش بیلډ پیژندونکی یوځای ولیکئ۔ د بل بیلډ سمبول فایل په بشپړ ډاډ سره غلط کرښې ته اشاره کوي، کوم چې له هیڅ سمبول نه هم بدتر دی۔ د کرنل پاکټ نسخه وساتئ، نه یوازې upstream شمیره، ځکه چې ویشونه ډیر څه بیرته انتقالوي۔

له ونې بهر ماډلونه په ریکارډ کې خپله کرښه مستحق دي، ځکه چې taint شوی کرنل محدودوي چې ساتونکی څه نتیجه وکړای شي۔ د taint ارزښت ولولئ، نه یې د ماډلونو له لیست څخه اټکل کړئ۔

د صفر نه غیر taint تور نه دی او راپور بې ارزښته نه کوي۔ دا لوستونکي ته وایي چې د خطا په وخت کې کومې برخې بار شوې وې، او ځینې بیرغونه دې ته باعث کیږي چې راپور د قضاوت نه بلکې د پالیسۍ له مخې ټیټ لومړیتوب ومومي۔ ارزښت، د ماډلونو نومونه او دا ولیکئ چې ایا هماغه هارډویر او بار کله هم پرته له دوی کرنل چلاوه دی۔ همدا وروستۍ پرتله نوی رګریشن له پخواني باګ څخه جلا کوي۔

ټریګر له نیمګړتیا څخه جلا کړئ

د تونل پیلول اکثرا هغه لار کاروي چې دمخه وه: د شبکې ډرایور، د کتار نظم، د offload ځانګړتیا یا د بریښنا حالت۔ ټریګر تشریح کوي چې خطا کله ښکاري، نه دا چې کوم کوډ غلط دی، او ټریګر لامل ګڼل د هغو کنفیګریشن بدلونونو لړ رامنځته کوي چې هیڅ شی نه سمېږي۔

پخوانی کار کوونکی عکس شواهد دی، نه ثبوت۔ د پرتلې پر مهال په هر بوت کې یوه برخه بدله کړئ، او پایلې په داسې ځای کې وساتئ چې له ماشین وروسته هم پاتې شي۔

وګورئ چې ساتونکی په رښتیا څه کارولی شي

له لیږلو دمخه راپور هغسې ولولئ لکه یو اجنبی به یې لولي۔ که کنفیګریشن، دقیق ترتیب او د بیلډ پیژندنه موجوده وي، او اعتبارنامې لرې شوې وي، راپور د کارولو وړ دی۔ که دا د سټک تعقیب سکرین شاټ وي، نو د هماغه معلوماتو په غوښتنه به بیرته راشي۔ د کرنل باګ موندنې لارښود بیانوي چې ګټور تعقیب او ورته سمبولونه څنګه ښکاري۔

uname -r
cat /proc/sys/kernel/tainted
journalctl -k -b -1 --no-pager | sed -n '/BUG:/,/Call Trace/p'
dmesg -T | grep -A 40 'RIP:'

هره پورتنی امر یوازې حالت لولي، او که ماشین لا هم ځواب ویلای شي، لومړني دوه باید د بل بیا پیل دمخه وچلول شي۔ چیرې چې ژورنال دوامداره نه وي، یوازې همغه دوه به بیا کله هم کار وکړي۔

کیلي، پټنومونه او نامربوطه ترافیک لرې کړئ، مګر هغه فنکشن نومونه او آفسیټونه وساتئ چې یو څوک یې د تعقیب لوستلو لپاره اړتیا لري۔ مواد د هغه راپور ورکولو لارې له مخې ولیږئ چې د ویش یا کرنل لپاره پلي کیږي، نه د هوسټ نوم سره ضمیمه عامه پیسټ له مخې۔ بیا د نورو کریشونو راټولولو پرځای د پوښتنې انتظار وکړئ، ځکه چې د ورته بیلډ پر وړاندې موقعیت موندلی خطا یوازینی نتیجه ده چې راپور مخته وړي۔ که هیڅ شی بیرته رانشي، بدیل د اضافي هارډویر پر سر کنټرول شوی تکرار دی، هېڅکله په هغه ماشین کې نه چې نور خلک پرې تکیه کوي۔

اړوندې مقالې