مصيدة في دورة حياة مؤشرات نواة لينكس: حالة عملية كروم التي تنتهي بشكل عشوائي
أثناء تحسين زمن بدء تشغيل وسائط الإخراج في Recall.ai ، واجه مهندس خطأ محيراً: عملية كروم كانت تنتهي بشكل عشوائي بعد البدء. تم تعقب السبب الجذري إلى علم `--die-with-parent` في Bubblewrap ومعالجة PR_SET_PDEATHSIG بواسطة نواة لينكس. هذه العلامة تتسبب في تلقي عمليات فرعية إشارة SIGKILL عندما ينتهي مؤشر العملية الرئيسية، وليس عملية الرئيسية نفسها. تفاعلت آلية إدارة مؤشرات العمل في Tokio مع هذا السلوك، مما أدى إلى إنهاء كروم بشكل غير متوقع عندما يتم استرداد مؤشر العملية الرئيسية. أدى إزالة العلم إلى حل المشكلة، لكنه كشف عن جانب غير معروف من نواة لينكس، مما يبرز الحاجة إلى الحذر عند التعامل مع التفاعل بين دورات حياة المؤشرات وعزل العمليات.
اقرأ المزيد