Score:1

ความผิดพลาดของผู้ปฏิบัติงาน Apache httpd (IUS httpd24u บน Centos 7)

ธง in

ฉันใช้แพ็คเกจ httpd24u จาก ไอยูส บนเซิร์ฟเวอร์ Centos 7 สองเครื่อง ตัวระบุเวอร์ชันสำหรับแพ็คเกจคือ "2.4.52-1.el7.ius"

ในช่วงสัปดาห์ที่ผ่านมา เราพบการตอบกลับ HTTP ที่เสียหายเป็นระยะๆ จากเซิร์ฟเวอร์ เบราว์เซอร์รายงาน "net::ERR_CONNECTION_CLOSED" และบันทึกข้อผิดพลาดของเซิร์ฟเวอร์มีเอาต์พุตเช่น:

*** ข้อผิดพลาดใน `/usr/sbin/httpd': ฟรี(): ขนาดถัดไปไม่ถูกต้อง (รวดเร็ว): 0x00007fb394015f10 ***
======= ย้อนหลัง: =========
/lib64/libc.so.6(+0x81329)[0x7fb3cf231329]
/lib64/libcrypto.so.10(CRYPTO_free+0x1d)[0x7fb3c7b1396d]
/lib64/libcrypto.so.10(EVP_MD_CTX_cleanup+0xe9)[0x7fb3c7bd0a69]
/lib64/libcrypto.so.10(+0x1275ee)[0x7fb3c7bcc5ee]
/lib64/libssl.so.10(ssl23_accept+0x39)[0x7fb3c7f37409]
/etc/httpd/modules/mod_ssl.so(+0x18352)[0x7fb3c0122352]
/etc/httpd/modules/mod_ssl.so(+0x19ed6)[0x7fb3c0123ed6]
/etc/httpd/modules/mod_ssl.so(+0xdad0)[0x7fb3c0117ad0]
/usr/sbin/httpd(ap_run_process_connection+0x40)[0x55a2b89abe10]
/etc/httpd/modules/mod_mpm_event.so(+0x714a)[0x7fb3c25db14a]
/etc/httpd/modules/mod_mpm_event.so(+0x7d9e)[0x7fb3c25dbd9e]
/lib64/libpthread.so.0(+0x7ea5)[0x7fb3cf789ea5]
/lib64/libc.so.6(โคลน+0x6d)[0x7fb3cf2aeb0d]
======= แผนที่หน่วยความจำ: ========
55a2b8955000-55a2b89e1000 r-xp 00000000 08:03 1879095252 /usr/sbin/httpd
55a2b8be0000-55a2b8be3000 r--p 0008b000 08:03 1879095252 /usr/sbin/httpd
55a2b8be3000-55a2b8be5000 rw-p 0008e000 08:03 1879095252 /usr/sbin/httpd
55a2b8be5000-55a2b8be9000 rw-p 00000000 00:00 0 
55a2b9fea000-55a2ba3a0000 rw-p 00000000 00:00 0 [กอง]
55a2ba3a0000-55a2ba46c000 rw-p 00000000 00:00 0 [กอง]
7fb34c000000-7fb34c021000 rw-p 00000000 00:00 0 
7fb34c021000-7fb350000000 --- พี 00000000 00:00 0 
7fb354000000-7fb354074000 rw-p 00000000 00:00 0 
7fb354074000-7fb358000000 --- พี 00000000 00:00 0 
7fb358000000-7fb358021000 rw-p 00000000 00:00 0 

(แผนที่หน่วยความจำดำเนินต่อไปหลายหน้า)

ฉันไม่ทราบวิธีตีความข้อความแสดงข้อผิดพลาดนี้ ฉันได้เรียนรู้ว่า "free(): invalid next size" บ่งชี้ถึงข้อผิดพลาดของหน่วยความจำ (พยายาม ฟรี() หน่วยความจำที่ไม่ได้จัดสรรหรือ double-ฟรี()อยู่ในความทรงจำเดียวกัน)

มีเหตุการณ์ล่าสุดที่อาจสัมพันธ์กันสองสามเหตุการณ์ที่ฉันนึกออก:

  1. แพ็คเกจ httpd24u อัปเดตค่อนข้างเร็วไฟล์ของ httpd (โมดูล ฯลฯ) ทั้งหมดมีเวลาแก้ไขล่าสุดคือวันที่ 7 มกราคม อย่างไรก็ตาม ฉันไม่คิดว่าปัญหาของเราจะย้อนกลับไปไกลขนาดนั้น
  2. เราเพิ่งเปิดใช้ HTTP/2 เมื่อเร็วๆ นี้ (3 ก.พ.) สิ่งนี้เกี่ยวข้องกับการเปลี่ยน httpd จาก "ผู้ปฏิบัติงาน" เป็น MPM "เหตุการณ์" อย่างน้อยบนเซิร์ฟเวอร์เครื่องใดเครื่องหนึ่ง

ขั้นตอนการแก้ไขปัญหาถัดไปที่ชัดเจนคือการปิดใช้ HTTP/2 และดูว่าข้อผิดพลาดหายไปหรือไม่ อย่างไรก็ตาม แม้ว่าจะช่วยได้ เราก็ไม่ต้องการให้ทำงานโดยไม่มี HTTP/2 เป็นเวลานานนัก เนื่องจากการปรับปรุงประสิทธิภาพที่มีให้ ฉันสามารถลองอะไรได้อีกในสถานการณ์นี้

--

อัปเดต: การย้อนกลับไปใช้ 2.4.51 (โดยไม่มีการเปลี่ยนแปลงอื่นๆ) ได้ปรับปรุงความน่าเชื่อถือของเซิร์ฟเวอร์ของเรา ฉันคิดว่าเนื่องจากข้อผิดพลาดนี้ถูกสร้างขึ้นใน 2.4.52: https://bz.apache.org/bugzilla/show_bug.cgi?id=65769

Score:0
ธง mp

ปัญหาการหยุดทำงานแบบสุ่ม httpd นี้ส่งผลกระทบต่อเซิร์ฟเวอร์ CentOS ของเราด้วย ดูเหมือนว่าจะเกี่ยวข้องกับโมดูลผู้ปฏิบัติงาน MPM ด้วยเหตุผลที่ไม่ชัดเจน - และแน่นอนว่าไม่ได้อยู่ภายใต้การโหลด - httpd ขัดข้อง แม้ว่าเซิร์ฟเวอร์จะรายงานว่ายังทำงานอยู่และตกลง UptimeRobot รายงานอย่างรวดเร็วว่าไซต์ทั้งหมดบนเซิร์ฟเวอร์หยุดทำงาน ซึ่งโดยปกติแล้วค่อนข้างเชื่อถือได้ มันเกิดขึ้นสองครั้งในวันนี้แล้ว และครั้งแรกเกิดขึ้นเมื่อวันศุกร์ที่ 11 กุมภาพันธ์ที่ผ่านมา มันไม่ได้เกิดขึ้นเลยก่อนหน้านั้น

in flag
ขอบคุณสำหรับการให้ฉันรู้ว่า! คนอื่น ๆ ก็มีปัญหาเช่นกัน ฉันจะโพสต์คำตอบเกี่ยวกับเรื่องนั้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา