تور (Tor) دائم از کار میافتد. چه کنم؟
- ابتدا، اطمینان حاصل کنید که از آخرین نسخهی تور (Tor) استفاده میکنید (چه آخرین نسخهی پایدار و چه آخرین نسخهی در حال توسعه).
- دومین مسأله این که اطمینان حاصل کنید که از نسخهی نسبتاً بهروزی از libevent استفاده کنید. سازندگانِ تور (Tor) نسخهی 1.3a بع بعدِ libevent را پیشنهاد میکنند.
- سوم، ببینید در بخش ردیابِ باگ تور (Tor)، گزارشی دربارهی آن وجود دارد. در صورتی که اطلاعات اضافی در آن بخش آمده است، آنها را نیز اضافه کنید.
- چهارمین نکته هم این که آیا از کار افتادن و اختلال در تور (Tor) تکرار پذیر است؟ آیا میتوانید خودتان اختلال را به وجود بیاورید؟ آیا با ایجاد تغییراتی در برنامهها و یا تنظیمات، تور (Tor) از کار میافتد؟ آیا برای شما امکان دارد که این مسأله را با نسخههای دیگر تور نیز مورد آزمون قرار دهید.
- پنجمین مسأله هم این است که شما با چه نوع اختلالی روبرو میشوید؟
- آیا گزارشِ وضعیت تور (Tor) شامل بخشی با عنوان assert failure (ادعای شکست) است؟ در این صورت، آن خط را با سازندگان تور (Tor) در میان بگذارید، با این کار به آنها کمک میکنید تا مشکل را بررسی کنند.
- در صورتیکه شما در گزارش وضعیت با عنوان Segmentation fault - core dumped روبرو شدید، مراحل بیشتری برای پیگیری این مشکل باید طی کنید. در پوشهی تور (Tor) و یا در دایرکتوری Data به دنبال فایلی با نام core، tor.core یا cor.12345 بگردید. در صورتیکه فایل در آنجا هست، ابتدا gdb tor core و سپس bt را اجرا کنید و خروجی را در آن لحاظ کنید. در صورتیکه نمیتوانید هیچ هستهای بیابید، ulimit -c unlimited را اجرا کنید، تور (Tor) را بسته و مجدداً باز کنید و تلاش کنید که برنامه مجددا با اخلال روبرو شود. (این سیستمِ هسته، تنها در یونیکس در دسترس است. متاسفانه دنبال کردن باگها در ویندوز کار بسیار دشوارتری است. در صورتی که از ویندوز استفاده میکنید، آیا کسی را دارید که بتواند این باگ را در یونیکس مشابهسازی کند؟ )
- اگر تور (Tor) به شکل مرموزی ناگهان ناپدید شد، احتمالاً یک اشتباهِ قطعهبندی پیش آمده و تور (Tor) در پسزمینه در حال اجراست، به همین دلیل شما متوجه آن نمیشوید. به انتهای فایل گزارش وقایع تور (Tor) مراجعه کنید و فایل core را همانند بالا بیابید. در صورتی که هیچ نکتهی خاصی به چشمتان نمیآید، باید بیرون از شل آن اجرا کنید تا ببینید برنامه به چه شکل به مشکل بر میخورد.
- در صورتی که باز هم تور (Tor) به صورت ناگهانی ناپدید شد، احتمال دارد که عامل دیگری باعث از کار افتادن برنامه شده باشد. آیا محدودیتی برای منابعتان دارید و به طوری تنظیم شده است که برخی از فرایندها را از کار بیاندازد؟ (این مساله در رابطه با OpenBSD بسیار شایع است.) در لینوکس، دستور dmesg را اجرا کنید تا ببینید آیا ut-of-memory killer پروسه را حذف کرده است یا نه. (تور در صورتی که با کمبود حافظهی کوتاهمدت روبرو شود، به روشنی برنامه را خواهد بست، اما در برخی موارد، ممکن است زمان کافی برای اخطار دادن نداشته باشد.) در برخی شرایط نادر، مشکلات سختافزاری نیز میتوانند باعث بسته شدن تور شوند.
- شش، در صورتیکه ایدههای بالا، باگ مورد نظر را نشان نمیدهند، بهتر است سطح گزارش وقایعگیری را تا سطح loglevel debug بالا ببرید. میتوانید به بخش تنظیمات گزارش وقایع مراجعه کنید تا تغییرات لازم برای فایل torrc را دریافت کنید. در صورتیکه زمان زیادی طول میکشد تا اخلال خودنمایی کند، شما ممکن است به حجم بیشتری از حافظه برای گزارش دیباگ نیاز داشته باشید. همچنین میتوانید گزارش وقایع را تنها در صفحهی نمایش داشته باشید و زمانی که اخلال به وجود بیاید، آن را از بقیهی گزارش تشخیص دهید. (البته ذکر این نکته ضروری است که گزارش دیباگ گیری سرعت تور (Tor) را تا حدی کاهش میدهد و از نظر امنیتی نیز به صلاح نیست که دائم فعال باشد. )