emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#29368: closed ('list-runtime-roots' terminates wit


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#29368: closed ('list-runtime-roots' terminates with non-zero exit code)
Date: Sun, 26 Nov 2017 15:00:04 +0000

Your message dated Sun, 26 Nov 2017 15:59:42 +0100
with message-id <address@hidden>
and subject line Re: bug#29368: Unreliable failing tests / segfaulting guile
has caused the debbugs.gnu.org bug report #29368,
regarding 'list-runtime-roots' terminates with non-zero exit code
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
29368: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29368
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: Unreliable failing tests / segfaulting guile Date: Mon, 20 Nov 2017 22:03:52 +0100
The test suite fails on 84bd92438. I was running [env] $ make check -j
3. (I accidentaly overwrote the log file, sorry.)
The kernel logged:
.guile-real[10735]: segfault at 7b ip 000000000057885d sp
00007ffdfb13b570 error 4 in .guile-real[400000+38a000]

The message appeared when the tests were at about
tests/guix-environment.sh (about 30 tests after tests/nar.scm, the only
failing test). But as I had given -j 3, it may be that nar.scm was still
going.

However, rerunning it without -j 3 and than again with -j 3 worked
without any failure.

That's a bit strange, so I repeated make check -j 3 and now
tests/derivations.scm failed. (test-suite-2.log)

And again, while tests/guix-environment.sh or so is running, the kernel
logs.
.guile-real[24288]: segfault at 7b ip 000000000057885d sp
00007ffef8557490 error 4 in .guile-real[400000+38a000]


Martin

Attachment: test-suite-2.log
Description: Text Data

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message --- Subject: Re: bug#29368: Unreliable failing tests / segfaulting guile Date: Sun, 26 Nov 2017 15:59:42 +0100 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
Hello,

Martin Castillo <address@hidden> skribis:

> In the meantime I updated the guix checkout and since my
> .config/guix/latest points to the guix checkout, i checked 84bd92438 out
> in another directory and ran
> guix environment guix --ad-hoc strace
> ./bootstrap && ./configure --localstatedir=/var
> ./pre-inst-env strace -f -o log.fifo -s 234 make check -j3
>
> make check -j3 doesn't always trigger it. But it did in the following 2
> cases.
>
> Your command creates a lot of output, so I piped straces output to
> bzip2. It took very long so I aborted and retried but piped it onto the
> host system to compress it. This is still takes very long when it
> reached guix-daemon test. On top of it, I got a filesystem error which
> resulted in a ro-remount, so I decided to interrupt the second try, too.
> You can access the logs at
> https://seafile.zfn.uni-bremen.de/d/7990941e630141309a58/

Thanks a lot for the logs.

With the script below I extracted the lines corresponding to a non-zero
exit of ‘list-runtime-roots’, and then looked at what happened
immediately before.  It typically looks like this:

--8<---------------cut here---------------start------------->8---
15542 write(2, "Backtrace:\nIn srfi/srfi-1.scm:\n   592:29 19 (map1 _)\n   
592:29 18 (map1 _)\n   592:29 17 (map1 _)\n   592:29 16 (map1 _)\n   592:29 15 
(map1 _)\n   592:29 14 (map1 _)\n   592:29 13 (map1 _)\n   592:29 12 (map1 _)\n 
  592:29 11 (map1 _)\
n   59"..., 852) = 852
15542 exit_group(1 <unfinished ...>
--8<---------------cut here---------------end--------------->8---

So most likely it corresponds to the error you reported:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (while #t (load-from-path "list-runtime-roots"))
... ;; skipping repeated expected output
srfi/srfi-1.scm:592:17: In procedure map1:
srfi/srfi-1.scm:592:17: In procedure fport_read: Kein passender Prozess
gefunden ;; No matching process found
--8<---------------cut here---------------end--------------->8---

Indeed, if we open, say, /proc/XYZ/cmdline and then process XYZ dies,
reading from that file descriptor yields ESRCH (the error above).

Commit 9b0713012905f3997d6fad201dba7c3d93b38b13 fixes that.  I’ll update
the ‘guix’ package snapshot soon so we get this fix.

Thank you!

Ludo’.

(use-modules (ice-9 rdelim)
             (ice-9 match)
             (ice-9 regex))

(define exec-rx
  (make-regexp "^([[:digit:]]+) exec.*list-runtime-roots"))

(define exit-rx
  (make-regexp "^([[:digit:]]+) exit_group"))

(call-with-input-file "/tmp/log"
  (lambda (port)
    (let loop ((pid #f))
      (match (read-line port)
        ((? eof-object?)
         #f)
        (line
         (if pid
             (match (regexp-exec exit-rx line)
               (#f
                (loop pid))
               (result
                (if (= pid (string->number (match:substring result 1)))
                    (begin
                      (pk 'exit pid line (port-line port))
                      (loop #f))
                    (loop pid))))
             (match (regexp-exec exec-rx line)
               (#f
                (loop pid))
               (result
                (loop (string->number (match:substring result 1)))))))))))

--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]