Source: guile-ssh
Version: 0.11.3-2
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200501 ftbfs-bullseye
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[5]: Entering directory '/<<PKGBUILDDIR>>/tests'
> PASS: log.scm
> PASS: server.scm
> PASS: session.scm
> PASS: client-server.scm
> PASS: popen.scm
> PASS: shell.scm
> PASS: server-client.scm
> PASS: sssh-ssshd.scm
> PASS: key.scm
> PASS: tunnel.scm
> FAIL: dist.scm
> ============================================
> Guile-SSH 0.11.3: tests/test-suite.log
> ============================================
>
> # TOTAL: 11
> # PASS: 10
> # SKIP: 0
> # XFAIL: 0
> # FAIL: 1
> # XPASS: 0
> # ERROR: 0
>
> .. contents:: :depth: 2
>
> FAIL: dist
> ==========
>
> %%%% Starting test dist (Writing full log to "dist.log")
>
> Some deprecated features have been used. Set the environment
> variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
> program to get more information. Set it to "no" to suppress
> this message.
> %%%% Starting test dist (Writing full log to "dist.log")
> tests/dist.scm:216: FAIL with-ssh
> # of expected passes 18
> # of unexpected failures 1
>
> Some deprecated features have been used. Set the environment
> variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
> program to get more information. Set it to "no" to suppress
> this message.
> cted-value: ((a b) (c d) (e f g))
> Test begin:
> test-name: "split, 2"
> source-file: "tests/dist.scm"
> source-line: 53
> source-form: (test-equal "split, 2" (quote ((a))) (split (quote (a)) 2))
> Test end:
> result-kind: pass
> actual-value: ((a))
> expected-value: ((a))
> Test begin:
> test-name: "make-job"
> source-file: "tests/dist.scm"
> source-line: 58
> source-form: (test-assert "make-job" (let* ((s (make-session-for-test)) (n
> (make-node s)) (data (quote (1 2 3))) (proc (quote (lambda (n) (#{1+}# n))))
> (j (make-job (quote map) n data proc))) (and (eq? (job-type j) (quote map))
> (eq? (job-node j) n) (eq? (job-data j) data) (eq? (job-proc j) proc))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "set-job-node"
> source-file: "tests/dist.scm"
> source-line: 69
> source-form: (test-assert "set-job-node" (let* ((s (make-session-for-test))
> (n1 (make-node s)) (n2 (make-node s)) (data (quote ())) (proc (quote (lambda
> (n) (#{1+}# n)))) (j1 (make-job (quote map) n1 data proc)) (j2 (set-job-node
> j1 n2))) (and (not (eq? j1 j2)) (eq? (job-type j1) (job-type j2)) (eq?
> (job-node j1) n1) (eq? (job-node j2) n2) (eq? (job-data j1) (job-data j2))
> (eq? (job-proc j1) (job-proc j2)))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "hand-out-job, invalid type"
> source-file: "tests/dist.scm"
> source-line: 84
> source-form: (test-assert "hand-out-job, invalid type" (begin
> (set-log-userdata! "hand-out-job, invalid type") (catch #t (lambda () (let
> ((n (make-node (make-session-for-test)))) (hand-out-job (make-job (quote
> invalid-job) n (quote ()) (const #t)))) #f) (const #t))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "assign-eval"
> source-file: "tests/dist.scm"
> source-line: 89
> source-form: (test-assert "assign-eval" (let* ((s (make-session-for-test))
> (nodes (make-list 2 (make-node s))) (exprs (make-list 10 (quote (lambda (x)
> (#{1+}# x))))) (jobs (assign-eval nodes exprs))) (and (eq? (length jobs) 2)
> (eq? (job-type (car jobs)) (quote eval)) (eq? (length (job-proc (car jobs)))
> 5))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "rrepl-get-result"
> source-file: "tests/dist.scm"
> source-line: 103
> source-form: (test-assert "rrepl-get-result" (receive (result eval-num
> module-name lang) (call-with-input-string "scheme@(guile-user)> $0 = test"
> rrepl-get-result) (and (eq? result (quote test)) (= eval-num 0) (string=?
> module-name "(guile-user)") (string=? lang "scheme"))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "rrepl-get-result, unspecified"
> source-file: "tests/dist.scm"
> source-line: 114
> source-form: (test-assert "rrepl-get-result, unspecified" (receive (result
> eval-num module-name lang) (call-with-input-string "scheme@(guile-user)> "
> rrepl-get-result) (and (eq? result *unspecified*) (eq? eval-num
> *unspecified*) (string=? module-name "(guile-user)") (string=? lang
> "scheme"))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "rrepl-get-result, error"
> source-file: "tests/dist.scm"
> source-line: 123
> source-form: (test-assert "rrepl-get-result, error" (begin
> (set-log-userdata! "rrepl-get-result, error") (catch #t (lambda ()
> (call-with-input-string "scheme@(guile-user)> ERROR: error."
> rrepl-get-result) #f) (lambda (key . args) (if (equal? key (quote
> node-repl-error)) (let* ((message (cadr args)) (result (string=? message
> "scheme@(guile-user)> ERROR: error."))) (unless result (format-log/scm (quote
> nolog) "rrepl-get-result, error" (string-append "Messages do not match: "
> "expected \"~a\", got \"~a\"") result "scheme@(guile-user)> ERROR: error."))
> result) (begin (format-log/scm (quote nolog) "rrepl-get-result, error"
> (string-append "Errors do not match: " "expected '~a', got '~a' (args: ~a)")
> (quote node-repl-error) key args) #f))))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "rrepl-get-result, compilation error"
> source-file: "tests/dist.scm"
> source-line: 129
> source-form: (test-assert "rrepl-get-result, compilation error" (begin
> (set-log-userdata! "rrepl-get-result, compilation error") (catch #t (lambda
> () (call-with-input-string (string-append "scheme@(guile-user)> While
> compiling expression:\n" "ERROR: no code for module
> (module-that-doesnt-exist)") rrepl-get-result) #f) (lambda (key . args) (if
> (equal? key (quote node-repl-error)) (let* ((message (cadr args)) (result
> (string=? message "scheme@(guile-user)> While compiling expression:\nERROR:
> no code for module (module-that-doesnt-exist)"))) (unless result
> (format-log/scm (quote nolog) "rrepl-get-result, compilation error"
> (string-append "Messages do not match: " "expected \"~a\", got \"~a\"")
> result "scheme@(guile-user)> While compiling expression:\nERROR: no code for
> module (module-that-doesnt-exist)")) result) (begin (format-log/scm (quote
> nolog) "rrepl-get-result, compilation error" (string-append "Errors do not
> match: " "expected '~a', got '~a' (args: ~a)") (quote node-repl-error) key
> args) #f))))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "rrepl-get-result, unbound variable error"
> source-file: "tests/dist.scm"
> source-line: 136
> source-form: (test-assert "rrepl-get-result, unbound variable error" (begin
> (set-log-userdata! "rrepl-get-result, unbound variable error") (catch #t
> (lambda () (call-with-input-string (string-append (string-append
> "scheme@(guile-user)> ;;; socket:9:7: warning: " "possibly unbound variable
> `e'\nsocket:9:7: " "In procedure #<procedure 1a44920 at socket:9:7 ()>:\n"
> "socket:9:7: In procedure module-lookup: Unbound variable: e"))
> rrepl-get-result) #f) (lambda (key . args) (if (equal? key (quote
> node-repl-error)) (let* ((message (cadr args)) (result (string=? message
> "scheme@(guile-user)> ;;; socket:9:7: warning: possibly unbound variable
> `e'\nsocket:9:7: In procedure #<procedure 1a44920 at socket:9:7
> ()>:\nsocket:9:7: In procedure module-lookup: Unbound variable: e"))) (unless
> result (format-log/scm (quote nolog) "rrepl-get-result, unbound variable
> error" (string-append "Messages do not match: " "expected \"~a\", got
> \"~a\"") result "scheme@(guile-user)> ;;; socket:9:7: warning: possibly
> unbound variable `e'\nsocket:9:7: In procedure #<procedure 1a44920 at
> socket:9:7 ()>:\nsocket:9:7: In procedure module-lookup: Unbound variable:
> e")) result) (begin (format-log/scm (quote nolog) "rrepl-get-result, unbound
> variable error" (string-append "Errors do not match: " "expected '~a', got
> '~a' (args: ~a)") (quote node-repl-error) key args) #f))))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "rrepl-get-result, unknown # object error"
> source-file: "tests/dist.scm"
> source-line: 149
> source-form: (test-assert "rrepl-get-result, unknown # object error" (begin
> (set-log-userdata! "rrepl-get-result, unknown # object error") (catch #t
> (lambda () (call-with-input-string (string-append "scheme@(guile-user)> $4 =
> " "#<session #<undefined>@#<undefined>:22 (disconnected) 453fff>")
> rrepl-get-result) #f) (lambda (key . args) (if (equal? key (quote
> node-repl-error)) (let* ((message (cadr args)) (result (string=? message
> "Reader error: scm_lreadr: #<unknown port>:1:3: Unknown # object: (#\\<):
> scheme@(guile-user)> $4 = #<session #<undefined>@#<undefined>:22
> (disconnected) 453fff>"))) (unless result (format-log/scm (quote nolog)
> "rrepl-get-result, unknown # object error" (string-append "Messages do not
> match: " "expected \"~a\", got \"~a\"") result "Reader error: scm_lreadr:
> #<unknown port>:1:3: Unknown # object: (#\\<): scheme@(guile-user)> $4 =
> #<session #<undefined>@#<undefined>:22 (disconnected) 453fff>")) result)
> (begin (format-log/scm (quote nolog) "rrepl-get-result, unknown # object
> error" (string-append "Errors do not match: " "expected '~a', got '~a' (args:
> ~a)") (quote node-repl-error) key args) #f))))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "rrepl-get-result, elisp"
> source-file: "tests/dist.scm"
> source-line: 158
> source-form: (test-assert "rrepl-get-result, elisp" (receive (result
> eval-num module-name lang) (call-with-input-string "elisp@(guile-user)> $0 =
> #nil" rrepl-get-result) (and (eq? result (quote #nil)) (= eval-num 0)
> (string=? module-name "(guile-user)") (string=? lang "elisp"))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "rrepl-get-result, multiple values"
> source-file: "tests/dist.scm"
> source-line: 167
> source-form: (test-assert "rrepl-get-result, multiple values" (receive
> (result eval-num module-name lang) (call-with-input-string
> "scheme@(guile-user)> $0 = v1\n$1 = v2" rrepl-get-result) (and (vector?
> eval-num) (vector? result) (eq? (vector-ref result 0) (quote v1)) (eq?
> (vector-ref result 1) (quote v2)) (= (vector-ref eval-num 0) 0) (=
> (vector-ref eval-num 1) 1) (string=? module-name "(guile-user)") (string=?
> lang "scheme"))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "rrepl-skip-to-prompt, valid input"
> source-file: "tests/dist.scm"
> source-line: 181
> source-form: (test-assert "rrepl-skip-to-prompt, valid input" (begin
> (call-with-input-string "Enter `,help' for help." (lambda (port)
> (rrepl-skip-to-prompt port))) #t))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "rrepl-skip-to-prompt, invalid input"
> source-file: "tests/dist.scm"
> source-line: 188
> source-form: (test-assert "rrepl-skip-to-prompt, invalid input" (begin
> (set-log-userdata! "rrepl-skip-to-prompt, invalid input") (catch #t (lambda
> () (call-with-input-string "invalid input" (lambda (port)
> (rrepl-skip-to-prompt port))) #f) (lambda (key . args) (let ((result (equal?
> key (quote node-error)))) (unless result (format-log/scm (quote nolog)
> "rrepl-skip-to-prompt, invalid input" (string-append "Errors do not match: "
> "expected ~a, got ~a (args: ~a)") (quote node-error) key args)) result)))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "node-guile-version, valid response"
> source-file: "tests/dist.scm"
> source-line: 193
> source-form: (test-assert "node-guile-version, valid response" (begin
> (set-log-userdata! "node-guile-version, valid response") (run-client-test
> start-server/exec (lambda () (call-with-connected-session (lambda (session)
> (authenticate-server session) (format-log/scm (quote nolog) "client"
> "session: ~a" session) (unless (equal? (userauth-none! session) (quote
> success)) (error "Could not authenticate with a server" session)) (let ((n
> (make-node session #:start-repl-server? #f))) (string=? (node-guile-version
> n) "guile (GNU Guile) 2.0.14"))))))))
> Test end:
> result-kind: pass
> actual-value: #t
> Test begin:
> test-name: "with-ssh"
> source-file: "tests/dist.scm"
> source-line: 216
> source-form: (test-assert "with-ssh" (begin (set-log-userdata! "with-ssh")
> (run-client-test (lambda (server) (server-listen server) (server-set! server
> (quote log-verbosity) (quote functions)) (let ((session (server-accept
> server))) (server-handle-key-exchange session) (start-session-loop session
> (lambda (msg type) (format-log/scm (quote nolog) "server" "msg: ~a; type: ~a"
> msg type) (case (car type) ((request-channel-open) (let ((c
> (message-channel-request-open-reply-accept msg))) (format-log/scm (quote
> nolog) "server" "channel 0: ~a" c) (write-line "Enter `,help' for help." c)
> (format-log/scm (quote nolog) "server" "channel 1: ~a" c) (usleep 100) (poll
> c (lambda args (let ((result (read-line c))) (format-log/scm (quote nolog)
> "server" "sexp: ~a" result) (or (string=? result "(begin (+ 21 21))") (error
> "Wrong result 1" result))) (let ((result (read-line c))) (format-log/scm
> (quote nolog) "server" "sexp: ~a" result) (or (string=? result "(newline)")
> (error "Wrong result 2" result))) (write-line "scheme@(guile-user)> $1 =
> 42\n" c) (sleep 5) (close c) (while #t (sleep 60)))))) (else
> (message-reply-success msg))))))) (lambda () (call-with-connected-session
> (lambda (session) (authenticate-server session) (format-log/scm (quote nolog)
> "client" "session: ~a" session) (unless (equal? (userauth-none! session)
> (quote success)) (error "Could not authenticate with a server" session)) (let
> ((n (make-node session #:start-repl-server? #f))) (= (with-ssh n (+ 21 21))
> 42))))))))
> result) (or (string=? result "(newline)") (error "Wrong result 2" result)))
> (write-line "scheme@(guile-user)> $1 = 42\n" c) (sleep 5) (close c) (while #t
> (sleep 60)))))) (else (message-reply-success msg))))))) (lambda ()
> (call-with-connected-session (lambda (session) (authenticate-server session)
> (format-log/scm (quote nolog) "client" "session: ~a" session) (unless (equal?
> (userauth-none! session) (quote success)) (error "Could not authenticate with
> a server" session)) (let ((n (make-node session #:start-repl-server? #f))) (=
> (with-ssh n (+ 21 21)) 42))))))))
> Test end:
> result-kind: fail
> actual-value: #f
> actual-error: (guile-ssh-error "read_from_channel_port" "Error reading from
> the channel" #<unknown channel (freed) 564c40af72c0> #f)
> Group end: dist
> # of expected passes 18
> # of unexpected failures 1
> FAIL dist.scm (exit status: 1)
>
> ============================================================================
> Testsuite summary for Guile-SSH 0.11.3
> ============================================================================
> # TOTAL: 11
> # PASS: 10
> # SKIP: 0
> # XFAIL: 0
> # FAIL: 1
> # XPASS: 0
> # ERROR: 0
> ============================================================================
> See tests/test-suite.log
> Please report to [email protected]
> ============================================================================
> make[5]: *** [Makefile:656: test-suite.log] Error 1
> make[5]: Leaving directory '/<<PKGBUILDDIR>>/tests'
> make[4]: *** [Makefile:764: check-TESTS] Error 2
> make[4]: Leaving directory '/<<PKGBUILDDIR>>/tests'
> make[3]: *** [Makefile:830: check-am] Error 2
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/tests'
> make[2]: *** [Makefile:414: check-recursive] Error 1
> make[2]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_test: error: make -j1 check VERBOSE=1 returned exit code 2
The full build log is available from:
http://qa-logs.debian.net/2020/05/01/guile-ssh_0.11.3-2_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.