packages.guix.gnu.org occasionally wrecks havoc

  • Open
  • quality assurance status badge
Details
One participant
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 28 Apr 2023 23:22
(address . bug-guix@gnu.org)
87wn1vr9an.fsf@inria.fr
Hello!

Minutes ago, packages.guix.gnu.org was not responding; ‘sudo herd
restart guix-packages-website’ “fixed” it.

According to /var/log/guix-packages-website.log, it stopped processing
requests at 9:35 this morning (the process was still running though):

Toggle snippet (23 lines)
2023-04-28 09:35:03 [Client] GET / #<input-output: socket 55>
2023-04-28 09:35:03 [Client] GET / #<input-output: socket 54>
2023-04-28 09:35:03 [Client] HEAD /packages/perl-critic/1.140/ #<input-output: socket 53>
2023-04-28 09:35:03 In ice-9/boot-9.scm:
2023-04-28 09:35:03 1747:15 4 (with-exception-handler #<procedure 7f0dac3bd210 at ic…> …)
2023-04-28 09:35:03 In artanis/page.scm:
2023-04-28 09:35:03 147:18 3 (return-response _ #:pre-headers _ #:status _ #:mtime _ …)
2023-04-28 09:35:03 In artanis/utils.scm:
2023-04-28 09:35:03 1334:41 2 (artanis-log _ 200 text/html #:port _ #:request _)
2023-04-28 09:35:03 In unknown file:
2023-04-28 09:35:03 1 (getpeername #<input-output: socket 53>)
2023-04-28 09:35:03 In ice-9/boot-9.scm:
2023-04-28 09:35:03 1685:16 0 (raise-exception _ #:continuable? _)
2023-04-28 09:35:03 Error: (%exception #<&assertion-failure>)
2023-04-28 09:35:03 Ingore it to avoid Ragnarok crash.
2023-04-28 09:35:03 [Client] GET / #<input-output: socket 52>
2023-04-28 09:35:03 [Client] GET / #<input-output: socket 51>
2023-04-28 09:35:03 [Client] GET / #<input-output: socket 50>
2023-04-28 09:35:03 [Client] GET / #<input-output: socket 49>
2023-04-28 09:35:03 [Client] GET / #<input-output: socket 48>
2023-04-28 09:35:03 [Client] GET /favicon.ico #<input-output: socket 47>

Earlier we see this:

Toggle snippet (23 lines)
2023-04-28 09:00:39 [Client] GET / #<input-output: socket 49>
2023-04-28 09:00:39 [Client] GET / #<input-output: socket 48>
2023-04-28 09:00:39 In ice-9/boot-9.scm:
2023-04-28 09:00:39 1747:15 4 (with-exception-handler #<procedure 7f0dada26660 at ic…> …)
2023-04-28 09:00:39 In artanis/page.scm:
2023-04-28 09:00:39 147:18 3 (return-response _ #:pre-headers _ #:status _ #:mtime _ …)
2023-04-28 09:00:39 In artanis/utils.scm:
2023-04-28 09:00:39 1334:41 2 (artanis-log _ 200 text/html #:port _ #:request _)
2023-04-28 09:00:39 In unknown file:
2023-04-28 09:00:39 1 (getpeername #<input-output: socket 48>)
2023-04-28 09:00:39 In ice-9/boot-9.scm:
2023-04-28 09:00:39 1685:16 0 (raise-exception _ #:continuable? _)
2023-04-28 09:00:39 Error: (%exception #<&assertion-failure>)
2023-04-28 09:00:39 Ingore it to avoid Ragnarok crash.
2023-04-28 09:00:39 [Client] GET / #<input-output: socket 47>
2023-04-28 09:05:44 [Client] HEAD HTTP ESC[37m500ESC[0m
2023-04-28 09:05:44 Captured in <ESC[33m/tmp/guix-build-artanis-0.5.1.drv-0/artanis-0.5.1/artanis/server/ragnarok.scm
ESC[0m>
2023-04-28 09:05:44 Threw in procedure ESC[33mhandle-requestESC[0m :
2023-04-28 09:05:44 ESC[36m[REASON] Internal ERROR system-error (getpeername ~A (Transport endpoint is not connected) (107))!ESC[0m
2023-04-28 09:05:44 [SERVER ERROR] Internal error from server-side, rendering a 500 page for client ...

and:

Toggle snippet (14 lines)
2023-04-28 08:30:08 [Remote] 127.0.0.1 @ 2023-04-28 08:30:07
2023-04-28 08:30:08 [Request] method: GET, path: /, query: #f
2023-04-28 08:30:08 [Response] status: 200, MIME: text/html
2023-04-28 08:30:08
2023-04-28 08:30:08 In procedure getpeername: Transport endpoint is not connected
2023-04-28 08:33:13 HTTP ESC[37m500ESC[0m
2023-04-28 08:33:13 Captured in <ESC[33m/tmp/guix-build-artanis-0.5.1.drv-0/artanis-0.5.1/artanis/server/ragnarok.scm
ESC[0m>
2023-04-28 08:33:13 Threw in procedure ESC[33mhandle-requestESC[0m :
2023-04-28 08:33:13 ESC[36m[REASON] Internal ERROR system-error (getpeername ~A (Transport endpoint is not connected) (
107))!ESC[0m
2023-04-28 08:33:13 [SERVER ERROR] Internal error from server-side, rendering a 500 page for client ...

It would seems that in some cases Artanis/Ragnarok is failing to handle
‘getpeername’ exceptions. It would be worth checking with upstream
whether that could explain the crash.

WDYT?

Ludo’.
?