সাইগউইন মারাত্মক ত্রুটি পুনরায় তৈরি করতে অক্ষম .. এর অর্থ কী?


30

pythonসাইগউইনে চালানোর সময়, আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

    0 [main] python 6140 C:\cygwin\bin\python.exe: *** fatal error - unable to remap \\?\C:\cygwin\lib\python2.6\lib-dynload\time.dll to same address as parent: 0x2B0000 != 0x360000
Stack trace:
Frame     Function  Args
00288E68  6102749B  (00288E68, 00000000, 00000000, 00000000)
00289158  6102749B  (61177B80, 00008000, 00000000, 61179977)
0028A188  61004AFB  (611A136C, 6124112C, 002B0000, 00360000)
End of stack trace
    0 [main] python 9048 fork: child 6140 - died waiting for dll loading, errno 11
abort: Resource temporarily unavailable

এর অর্থ কী, এবং এটি ঠিক করার জন্য আমার কী করা উচিত?

উত্তর:


40

সমস্যা সমাধানের জন্য আপনাকে প্যাকেজ rebaseallথেকে কমান্ডটি চালানো দরকার rebase

  1. rebaseসাইগউইন setup.exeইউটিলিটি ব্যবহার করে প্যাকেজটি ইনস্টল করুন
  2. ব্যবহার করে চলমান সমস্ত কিছুই বন্ধ করুন cygwin1.dll
  3. একটি সাইগউইন শেল খুলুন
  4. rebaseallপ্রম্পটে টাইপ করুন

সাধারণত যখন ইনস্টল করা প্যাকেজগুলি ইনস্টল করা থাকে তখন গতিশীলরূপে লোড হওয়া লাইব্রেরিগুলি সংশোধন করে তবেই রিবেসিংয়ের প্রয়োজন হয়। rebaseallসাইগউইন ইনস্টল-এ প্যাকেজ ইনস্টল বা আপগ্রেড করার পরে আপনি যে ত্রুটি দেখাতে চেয়েছিলেন তার অপেক্ষা না করে সর্বদা চলার একটি খারাপ অভ্যাস আমি স্বীকার করব ।

কেন আপনি সেই ত্রুটিটি পেয়েছেন এবং কীভাবে মুক্তি দেওয়ার ফলে সমস্যার সমাধান হয়, এই পোস্টটি সম্পর্কে এটি বলার আছে:

আপনি এটি পিছনের দিকে আছে। কাঁটাচামচ স্থানান্তর ভাঙ্গেন না। রিলোকেশন বিরতি কাঁটাচামচ। সাইজউইন 1.ডিলের উইন 32 এ কাঁটা শব্দার্থক প্রয়োগ করতে খুব বিশেষ মেমরি লেআউট থাকা দরকার। যদি এই মেমরির বিন্যাসটি ব্যাহত হয়, কাঁটাচামচ বিরতি। পুনরায় স্থান পরিবর্তন cygwin1.dll প্রয়োজনীয় মেমরি লেআউট ব্যাহত করে। 'রিবাসেল' সমস্ত সাইগউইন ডিএলএলকে সংঘর্ষগুলি এড়ায় এমন একটি লেআউটে আবিষ্কার করার জন্য এটির সর্বোত্তম চেষ্টা করে। এটি প্রয়োজনীয় মেমরির বিন্যাস বজায় রাখে যাতে কাঁটাচামচ তার কাজ করতে পারে।


1
আমি এটি চেষ্টা করছিলাম এবং এটি কার্যকর হয়নি ... যতক্ষণ না আমি উইন্ডোজ পুনরায় চালু করেছি (একটি রিবেসেল এবং পেফ্লাগসালের পরে)
জন এরিকসন

আয়ান সি: আপনি আমার নায়ক!
স্টিফান রুসেক

এছাড়াও, রিবাসালকে উইন্ডোজ
on-এ

একটি বেস ঠিকানা পৃথকীকরণ কিছু ক্ষেত্রে সহায়তা হিসাবে এখানে প্রস্তাবিত হিসাবে সহায়তা করতে পারে: cygwin.com/ml/cygwin/2011-04/msg00306.html
lapo

2
আপনার ছাইতে বা ড্যাশে এটি করা দরকার সাধারণ সাইগউইন টার্মিনালের মাধ্যমে নয়। এটি স্টার্ট -> রান দিয়ে চালু করুন, এটি সাইগউইন \ usr \ বিন \ অ্যাশ। একবার ছাই চলার পরে / usr / bin / rebaseall লিখে এন্টার টিপুন।
ম্যাকিয়েজ সুইচ

10

এর অর্থ হ'ল একটি তৃতীয় পক্ষের প্রোগ্রাম যেমন ভাইরাস স্ক্যানার বা ডিএলএল ঠিকানা র্যান্ডমাইজেশন বৈশিষ্ট্য যা ভিস্তার মধ্যে প্রবর্তিত হয়েছিল তা আপনার প্রক্রিয়াটিতে এমনভাবে হস্তক্ষেপ করেছে যাতে এটি সফলভাবে কাঁটাচামচানো যায় না।

rebaseallউপযোগ ডিএলএল নিচে পিন যেমন যে সমস্যা এড়ানো হয় ব্যবহার করা যাবে। এটি ডিফল্টরূপে ইনস্টল। দেখুন rebaseall --helpএটি কিভাবে ব্যবহার করতে, এবং /usr/share/doc/Cygwin/rebase-3.0.1.READMEআরও বিস্তারিত জানার জন্য। যদি এটি সাহায্য না করে, peflagsallতবে চেষ্টা করার মতো আরও একটি।


ধন্যবাদ =) উভয় উত্তরই আমাকে সাহায্য করেছে ... তবে আমি কেবলমাত্র একটি = accept গ্রহণ করতে পারি
জন ইরিকসন

5

"নমপি" সংকলনের পরে আমারও একই সমস্যা ছিল। ডাই আক্রান্ত dll ছিল mtrand.dll। সহজ

$ /bin/rebaseall

এটা কাজ করছে না.

নিম্নলিখিতটি কী কী সাহায্য করেছিল তা পরীক্ষা করে দেখুন: আক্রান্ত dll (এই ক্ষেত্রে সময়। ডিএল) একিউটলি "রিবাজেড" কিনা:

$ /bin/rebaseall -v

যদি না এমন একটি তালিকা তৈরি করে যা ক্ষতিগ্রস্থ ডিএল এর পুরো পথ রাখে। উদাহরণ:

$ find /lib -name 'time.dll' > /tmp/mydll.txt

ফাইলটিতে প্রতি লাইন একাধিক ঘর থাকতে পারে। তারপরে, কল করুন

$ /bin/rebaseall -v -T /tmp/mydll.txt

উপরে বর্ণিত কোনও সাইগউইন স্টাফ চলছে না। টাইম.ডিএল এখন পুনঃনির্ধারণ করা উচিত (অতিরিক্ত হিসাবে "সাধারণ" রিবাসেল)।

(অদ্ভুত: এনটি, উইন্ডোজ 2000, এক্সপি সহ সাইগউইন ব্যবহারের 10 বছরে, আমাকে কেবল একবার "রিবেস" করতে হয়েছিল (


2

সমস্যার উত্তর আছে।

সূত্র: https://github.com/joyent/node/wiki/Building-node.js-on- সাইকুইন-( উইন্ডোজ)


অভিভাবক হিসাবে একই ঠিকানায় পুনরায় ম্যাপ করতে অক্ষম

fatal error – unable to remap \?\C:\cygwin\lib\python2.6\lib-dynload\time.dll to same address as parent: 0×360000 != 0×3E0000

এটি node.js এর সাথে কোনও সমস্যা নয়। প্রথমে setup.exe ব্যবহার করে বেস → রিবেস ইনস্টল করুন তারপরে সমস্ত সাইগউইন দৃষ্টান্ত বন্ধ করুন। ড্যাশ বা ছাই শুরু করুন (সাইগউইনের ইনস্টলেশন অধীন বিন ডিরেক্টরিতে অবস্থিত) এবং চালান:

$ /bin/rebaseall -v

এটি কোনও ত্রুটি ছাড়াই শেষ করা উচিত। যদি এর পরিবর্তে উপরের ফলাফলগুলি ত্রুটিযুক্ত হয়:

rebaseall:'/cygdrive/c/Users/ADMINI~1/AppData/Local/Temp' is not writable

একটি সাইগউইন শেল খুলুন এবং চালান:

$ chmod 777 ~/AppData/Local/Temp

আপনার শেল উইন্ডোটি বন্ধ করুন এবং উপরের পদক্ষেপগুলি পুনরাবৃত্তি করুন। আপনার কাজ শেষ হয়ে গেলে আপনার পিসি পুনরায় চালু করুন। রিবসেল ব্যবহারের আগে সমস্ত খোলা সাইগউইন শেলগুলি বন্ধ করে রাখার কথা মনে রাখবেন।


লিঙ্কটি যদি কখনও ব্যর্থ হয় তবে ভবিষ্যতের ব্যবহারকারীদের জন্য লিঙ্ক থেকে তথ্যটি অনুলিপি করা ভাল অনুশীলন।
paradd0x
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.