மையத்தில் Linuxவெளியீடு 5.2 முதல், ஒரு பக்கப் பிழை விதிவிலக்கு (page fault exception) ஏற்படும்போது கையாளப்படும் ஒரு சிக்னல் ஹேண்ட்லரிலிருந்து (signal handler) திரும்பும்போது, AVX ரெஜிஸ்டரின் உள்ளடக்கங்கள் சிதைவடையச் செய்யும் ஒரு பிழை. GCC 9-ஐப் பயன்படுத்தி கெர்னலை உருவாக்கும்போது, AVX ரெஜிஸ்டருடன் கணக்கீடுகளை உள்ளடக்கிய மல்டித்ரெட்டட் புரோகிராம்களை ("-pthread") இயக்கும்போது இந்தப் பிரச்சினை ஏற்படுகிறது. (முந்தைய GCC வெளியீடுகளைக் கொண்டு உருவாக்கும்போது இந்தப் பிழை ஏற்படுவதில்லை, ஏனெனில் GCC 9 ஆனது ரெஜிஸ்டரில் உள்ள த்ரெட்-லோக்கல் வேரியபிளின் முகவரியை கேச் செய்கிறது, ஆனால் GCC-யின் முந்தைய பதிப்புகள் ஒவ்வொரு முறையும் அதை லோட் செய்கின்றன.)
இந்தப் பிரச்சனையால், நினைவகச் சிதைவுப் பிழையுடன் நிரல் முன்கூட்டியே முடிவடைகிறது. இந்தப் பிழையின் மிகவும் கவனிக்கத்தக்க மற்றும் அடிக்கடி காணப்படும் வெளிப்பாடு இதுவே ஆகும். Go மொழியில் எழுதப்பட்ட இந்த நிரலில், இந்தப் பிரச்சினை காரணமாக, Go நிரல்கள் பொதுவாக "runtime error: invalid memory address or nil pointer dereference," "runtime: unexpected return pc," மற்றும் "segmentation violation" போன்ற பிழைகளுடன் முன்கூட்டியே முடிவடைகின்றன. இந்த நிரலின் கெர்னலில் இன்னும் சரிசெய்யப்படாத ஒரு பிழை உள்ளது. சிக்கலான கெர்னல்களில் உள்ள ஒரு பிழையைத் தேர்ந்தெடுத்துச் சரிசெய்வதற்காக, கோ மொழி இயக்க நேரத்தில் மாற்றங்கள் சேர்க்கப்படுகின்றன. Linuxகூடுதல் மேல்நிலைச் செலவுகளின் விலையில்.
ஆதாரம்: opennet.ru
