में कैपिबरा से चलने पर वेबकिट_सर्वर समय-समय पर लटकता है मुझे एक समस्या है जहां एक यूपी जाने पर स्थानीय Xvfb स्क्रीन से जुड़े हेडलेस कैपिबरा और कैपिबरा-वेबकिट के साथ वेबकिट_सेवर का एक उदाहरण है। यह कई बार बार-बार विभिन्न यूआरएल और खोजकर्ताओं को निष्पादित करने के बाद होता है। (मैं वेनिला रूबी में एक स्क्रीन स्क्रैपिंग एप्लिकेशन के लिए कैपिबरा का उपयोग कर रहा हूं, परीक्षण के लिए नहीं।)रूबी
मैंने पुष्टि की है कि जब यह साइट लटकती है तब भी पहुंच योग्य है (उदाहरण के लिए, कमांड लाइन पर कर्ल या wget के माध्यम से) । मैंने रुबी कोड को लपेटने का भी प्रयास किया है जो टाइमआउट ब्लॉक में विज़िट और बाद के खोजकर्ताओं को आमंत्रित करता है ताकि 60 सेकंड के इंतजार के बाद एक नया यूआरएल देखा जा सके, लेकिन पहली बार ऐसा होने पर कोई भी विज़िट() प्रयास विफल हो जाता है। समस्या को ठीक करने का एकमात्र तरीका है कि रूबी प्रक्रिया दोनों को कैपिबारा/कैपिबरा-वेबकिट और वेबकिट_सेवर प्रक्रिया का आह्वान करना और पुनरारंभ करना है।
जब मैं webkit_server प्रक्रिया strace, मैं इस बार बार की तरह उत्पादन देखें:
clock_gettime(CLOCK_MONOTONIC, {5821, 680279627}) = 0
gettimeofday({1330890176, 712033}, {0, 33052112}) = 0
gettimeofday({1330890176, 712087}, {0, 140736435864256}) = 0
gettimeofday({1330890176, 712137}, {0, 33108640}) = 0
clock_gettime(CLOCK_MONOTONIC, {5821, 680486036}) = 0
clock_gettime(CLOCK_MONOTONIC, {5821, 680530091}) = 0
read(7, 0x1fac1b4, 4096) = -1 EAGAIN (Resource temporarily unavailable)
और अगर मैं रूबी प्रक्रिया है कि यह आह्वान strace, यह एक पढ़ने() पर लटका दिया जाता है:
Process 3331 attached - interrupt to quit
read(5,
^C <unfinished ...>
Process 3331 detached
मुझे पता है कि रूबी कोड Capybara विज़िट() विधि पर लटका हुआ है।
समस्या निवारण या सही करने के लिए मैं क्या कर सकता हूं, इस पर कोई विचार है। मुझे लगता है कि समस्या कुछ संसाधन वेबकिट_सेवर के साथ कुछ करने के लिए है, यूआरएल पर जाने की जरूरत है, लेकिन मुझे यकीन नहीं है कि आगे क्या प्रयास करना है।
धन्यवाद!
इसके अलावा, क्या यह लायक है के लिए, मैं webkit_debug Capybara चालक उपयोग करने की कोशिश और Capybara के स्वयं लॉगिंग नहीं कर देते। डिबग आउटपुट से पिछले पंक्तियां हैं: >> जाएँ >> 1 >> 109 >> http: // [साइट यूआरएल] मैं कब्जा स्क्रीन करने के लिए XWD का उपयोग कर कर की कोशिश की है क्या इस बिंदु पर क्या हो रहा है : xwd -root -display: 1 | xwdtopnm | pnmtopng> screenshot.png लेकिन मुझे केवल एक काला आयताकार मिलता है। –