NodeDB-Lite සහ PageDB යන ද්විතීයකුත් පරීක්ෂා කිරීමේදී, ලේඛන ගබඩා අවිස්සාවක් හමුවුණා. මේ දෝෂය පේජ්‑ඩීබී එකේ අධිකරණ‑පරීක්ෂණ (AEAD) සත්යාපනය අසාර්ථක වීමෙන් පෙනී සිටියේය. එම ගබඩා නැවත ආරම්භ කළ පසුත් එම දෝෂය නැවත පෙනී, යෙදුම නැවත‑නැවත ආරම්භ වීමේ චක්රයකට පත් වුණා.
පරීක්ෂණය කිරීමේදී, සාමාන්ය unit test, fixture, benchmark මගින් ගබඩා ස්ථායිතාවය පරීක්ෂා කිරීම පමණක් නොකර, වාස්තවික වැඩබරයක් යටතේ ගබඩාව භාවිතා කරමින්, එය දෝෂයකට ලක් වන අවස්ථාව සොයා ගැනීමට උත්සාහ කළා. නමුත්, දෝෂය සිදුවූ පසු, ඒක නැවත නිර්මාණය කරගැනීමට හෝ පූර්ව‑අවස්ථා නිශ්චිතව පිළිගැනීමට අපහසු වුණා.
ඇයි මේ වැදගත්? ගබඩා‑දෝෂයක් නිවැරදිව හඳුනාගැනීමට, එය සිදු වූ මොහොතේ පද්ධතියේ තත්ත්වය සජීවීව සුරැකුම් කරගැනීම අත්යවශ්යයි. ලොග් එකේ පමණක් තොරතුරු තිබීම, හෝ panic‑reporter එකක් භාවිතා කිරීම ප්රමාණවත් නොවූ නිසා, කේතකරුට “කොහෙද වැරදුනා?” කියා කියා ගැනීමට ඉඩ නොලැබුණා.
මෙම ගැටලුව විසඳීමට, කේතකරු FaultBox නම් කුඩා black‑box රෙකෝඩරයක් සකසා ගත්තේය. යෙදුම දෝෂයක් හෝ ක්රැෂ් එකක් සලකුණු කරන විට, ඒ මොහොතේ පද්ධතියේ දත්ත, දෝෂ කේතය, හා පරිසර තොරතුරු සකස් කර, දූෂිත ගබඩා පිටපතක් සුරැකුම් කරයි. පසුදා, එම පිටපත භාවිතා කර offline‑ව fsck ධාවනය කර, දෝෂය නිරූපණය කළ හැකි වුණා.
ශ්රී ලංකාවට ඇති වැදගත්කම
මෙවැනි black‑box මෙවලම් ශ්රී ලංකාවේ ඩෙවලප්මන්ට් පරිසරයට විශාල ප්රයෝජන දෙයි:
- සිසුන් – ගබඩා‑දෝෂයක් හඳුනාගැනීමට පියවර‑පියවර ක්රියාමාර්ග ඉගෙන ගත හැකි, නවතම debugging තාක්ෂණය අත්හදා බැලීමට අවස්ථාව.
- ඩෙවලපර්ලා – ඉදිරි වැඩපිළිවෙලේ අවිස්සාවන් ඉක්මනින් හඳුනාගැනීමට, නිෂ්පාදන ගුණාත්මකතාවය වැඩි කර ගැනීමට උපකාරී.
- ව්යාපාර – ගබඩා‑දෝෂයක් නිසා සේවා අක්රමික වීමේ අවදානම අඩු කර, පාරිභෝගික විශ්වාසය රැක ගැනීමට හැකියාව.
FaultBox වැනි මෙවලම් open‑source ප්රජාවට දායකව, ශ්රී ලංකාවේ තාක්ෂණික නිපුණතා වර්ධනයට මග පෙන්වයි.
අවසානයේ, FaultBox මගින් ගබඩා‑දෝෂය සජීවීව සුරැකුම් කරගැනීමේ හැකියාව ලැබීම, ඩෙවලප්මන්ට් ක්රියාකාරකම් වල විශ්වාසය වැඩි කර, අනාගතයේ තවත් සංකීර්ණ දෝෂ නිරාකරණයට මාර්ගයක් සපයයි.