linux - لماذا ترجع سلاك خطأ تجزئة بعد ترقية فيدورا 29؟




fedora slack (3)

ThxFlat للسؤال والإجابة الأولية ؛) ، أنا حقًا أحتاج إلى الركود على التطبيق بدلاً من الإصدار المستند إلى الويب

قبل تثبيت شيء لا تحتاجه ، تحقق من الدليل إذا لم يكن lib موجودًا بالفعل من برنامج آخر.

على سبيل المثال ، لقد وجدت إصدار libnode.so يعمل على vscode أيضًا

sudo updatedb && locate libnode

لقد قمت بترقية Fedora من 28 إلى آخر 29 ولا يعمل Slack بعد الآن. تقوم بإرجاع Segmentation fault (core dumped) .

تحرير: تم إصلاح المشكلة على Slack 3.3.4


تم الإبلاغ عن هذه المشكلة لأول مرة على Arch linux عندما تم تحديثها إلى glibc 2.28. قام كل من مستخدمي Fedora 29 و Ubuntu 18.10 بضرب هذا الخطأ مع العديد من تطبيقات Electron. تعمل حزمة Snack's Snap بشكل جيد على هذه الإصدارات من التوزيعات. لا يستطيع المستخدمون الذين يمكنهم خفض إصدار glibc الخاص بهم إلى 2.27 فصل الخطأ.

تم الإبلاغ عن المشكلة على تطبيقات الإلكترون

في 7 نوفمبر ، تمت إضافة تعليق جديد إلى إصدار Electron - لمعلوماتك حول تبديل libnode. وإذا قمت بذلك ، فقد تحتاج إلى التبديل مرة أخرى عندما يصدر Slack الإصلاح.

بالنسبة لمستخدمي Slack الذين استبدلوا libnode.so من مكان آخر (وتم تشغيل التطبيق مرة أخرى) ولكن لا يزالون يتعطلون في بعض الأحيان ، قم بتعطيل صوت الإشعار الخاص بك في الوقت الحالي. يبدو أن سلاك يحاول تشغيل صوت الإشعار لرسالة جديدة ، فإنه ببساطة يعيد التشغيل بدلاً من الالتفاف على تشغيل القصاصة.


مع valgrind حصلت على هذا الإخراج:

Process terminating with default action of signal 11 (SIGSEGV): dumping core
 Bad permissions for mapped region at address 0xDBF060
   at 0xDBF060: ??? (in /usr/lib/slack/slack)
   by 0x7112071: node::http2::Http2Session::Callbacks::Callbacks(bool) (in /usr/lib/slack/libnode.so)
   by 0x7112134: ??? (in /usr/lib/slack/libnode.so)
   by 0x5853CE9: call_init.part.0 (in /usr/lib64/ld-2.28.so)
   by 0x5853DE9: _dl_init (in /usr/lib64/ld-2.28.so)
   by 0x5845149: ??? (in /usr/lib64/ld-2.28.so)

يبدو أن المشكلة داخل إصدار "قديم" من libnode.so . لقد قمت للتو بنسخ نسخة أخرى من libnode.so من أحدث تثبيت atom.rpm مع:

sudo mv /usr/lib/slack/libnode.so /usr/lib/slack/libnode.so.old sudo ln -s /usr/share/atom/libnode.so /usr/lib/slack/libnode.so

تصحيح

كما قال المستخدم Pierre Bellan بالفعل ، يمكنك بسهولة العثور على إصدار آخر من libnode.so على نظام التشغيل الخاص بك باستخدام: sudo updatedb && locate libnode

لقد استخدمت ذرة واحدة لأنني كنت متأكدًا من التحديث العملي الأخير للمحرر.







fedora-29