এই dtrace ত্রুটিটির অর্থ কী?


15

যখন চলমান iotop -C 5 12আমার দেরী 2010 ম্যাকবুক উপর প্রো (10.6.7) আমি বারবার এই ত্রুটি দৃষ্টান্ত পেতে:

dtrace: error on enabled probe ID 5 (ID 19507: io:mach_kernel:buf_strategy:start): illegal operation in action #3 at DIF offset 0

এর কারণ কী এবং আমি কীভাবে এটি ঠিক করব?

উত্তর:


7

এই ব্লগ পোস্ট অনুসারে ( এখানে আরও তথ্যের সাথে ), এটি আইটিউনস দ্বারা সৃষ্ট, যা ডিট্রেস "ফিল্টারগুলি" তাই এটি আইটিউনসের ডিআরএম ভাঙার চেষ্টা করতে ব্যবহার করা যায় না।

আইটিউনস ত্যাগ করা ত্রুটিটি সমাধান করে।


14
আইটিউনস চলমান না থাকলেও আমি এই ত্রুটিটি পেয়েছি।
স্টুডিজেক

9

ত্রুটিগুলি স্টডারারে আউটপুট পাচ্ছে এবং কমান্ডটি চালিয়ে ফিল্টার আউট করা যায়:

sudo iotop -C 5 12 2>/dev/null

এটি আসতে পারে যে কোনও অন্যান্য ত্রুটি ফিল্টারিং এর পার্শ্ব প্রতিক্রিয়া আছে। আমি এটি একটি ওকে ট্রেড অফ হিসাবে পেয়েছি, এটি আমার আইটপ আউটপুটটিকে পাঠ্যযোগ্য করে তুলেছে।

দুর্ভাগ্যক্রমে ত্রুটির কারণ কী তা আমি নিশ্চিত নই। আমি অনুসন্ধান করেছি, তবে এখনও কিছু খুঁজে পাইনি।


1
এটি কেবল কার্পেটের নীচে ত্রুটিগুলি সরিয়ে ফেলছে এবং ভান করে যে তাদের উপস্থিতি নেই! প্রশ্নটি জিজ্ঞাসা করছিল যে তাদের কী কারণে এবং কীভাবে তাদের ঠিক করা যায়, "আমি কীভাবে তাদের উপেক্ষা করব?" নয় not
মার্চশিপ

5

সংক্ষেপে, কোনও প্রক্রিয়া সনাক্ত করার চেষ্টা করার সময় ত্রুটিটি প্রদর্শিত হয় যা ট্রেস না করার অনুরোধ করেছে।

ত্রুটিটি প্রযুক্তিগতভাবে আইটিউনস দ্বারা সৃষ্ট নয়, তবে এমন একটি প্রক্রিয়া যা নিম্নলিখিতগুলির মতো কোড ব্যবহার করে ট্রেসিং অক্ষম করেছে।

ptrace(PT_DENY_ATTACH, 0, 0, 0);

এই কোডটি কার্নেল স্তরের প্রক্রিয়াটিতে একটি পতাকা সেট করে, যা প্রক্রিয়াটি ডিবাগিং এবং ট্রেসিং প্রতিরোধ করে।

এটি সর্বাধিক পরিচিত অ্যাপ্লিকেশনটি কেবল আইটিউনস হিসাবে ঘটে, অ্যাপ্লিকেশন যার ডিআরএম এই এপিআই সম্ভবত আবিষ্কার করা হয়েছিল, তবে এপিআই অন্যান্য প্রসেসের জন্য উপলব্ধ। আমি বেশ কয়েকটি তৃতীয় পক্ষের অ্যাপ্লিকেশনটি এই এপিআই ব্যবহার করে দেখেছি।

অবশ্যই, সমস্ত ডিআরএমের মতো এটিও ভেঙে যেতে পারে। কার্নেল স্পেসে বৈশিষ্ট্যটি প্যাচ করে এমন কার্নেল এক্সটেনশানগুলিতে API কলটি এড়াতে কোনও ডিবাগার ব্যবহার করে এই অ্যান্টি-ট্রেসিং এবং অ্যান্টি-ডিবাগিং বৈশিষ্ট্য সীমাটিকে বাইপাস করার বিকল্পগুলি Options


1

Https://unix.stackexchange.com/a/276219 থেকে নেওয়া হয়েছে

এটি সম্ভাব্যভাবে এল ক্যাপিটান এবং এর সিস্টেম ইন্টিগ্রিটি প্রোটেকশন ( csrutil status) এর সাথে সম্পর্কিত যা dtraceআচরণকে প্রভাবিত করতে পারে ।

সম্ভাব্য স্থিরতার মধ্যে ম্যাকটি পুনরুদ্ধার মোডে পুনরায় চালু করা ( - Rবুট সময়ে), এবং তারপরে টার্মিনাল রানে অন্তর্ভুক্ত রয়েছে:

csrutil enable --without dtrace

এসআইপি সক্ষম রাখতে, তবে ডিগ্রাস নিষেধাজ্ঞাগুলি অক্ষম করুন (দ্রষ্টব্য: এটি নথিভুক্ত পরামিতি )।

বা এসআইপি সম্পূর্ণরূপে অক্ষম করুন:

csrutil disable # Not recommended.

দেখা:

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.