GNU bug report logs - #48563
move->fdes somewhat broken (EBADFD)

Previous Next

Package: guile;

Reported by: Maxime Devos <maximedevos <at> telenet.be>

Date: Fri, 21 May 2021 12:46:02 UTC

Severity: normal

Found in version 3.0.5

To reply to this bug, email your comments to 48563 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#48563; Package guile. (Fri, 21 May 2021 12:46:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxime Devos <maximedevos <at> telenet.be>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Fri, 21 May 2021 12:46:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: bug-guile <at> gnu.org
Subject: move->fdes somewhat broken (EBADFD)
Date: Fri, 21 May 2021 14:45:05 +0200
[Message part 1 (text/plain, inline)]
version: 3.0.5

Reproducer:

a.scm:
(define (test p)
  (let loop ((i 0))
    (when (< (pk 'i i) 40)
      (move->fdes p i)
      (loop (+ 1 i)))))

(test (car (pipe))

Run guile -l a.scm.
The result is non-deterministic.

Output (try #1--#2):

;;; (i 0)
[...]
;;; (i 9)
Backtrace:
In ice-9/boot-9.scm:
  1736:10  8 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
           7 (apply-smob/0 #<thunk 7f7774266d60>)
In ice-9/boot-9.scm:
    718:2  6 (call-with-prompt ("prompt") #<procedure 7f7772d67e60 …> …)
In ice-9/eval.scm:
    619:8  5 (_ #(#(#<directory (guile-user) 7f7774260c80>)))
In ice-9/boot-9.scm:
   2806:4  4 (save-module-excursion #<procedure 7f7772d6a1e0 at ice-…>)
  4351:12  3 (_)
In /home/sylviidae/a.scm:
      4:6  2 (test #<input: #{read pipe}# 8>)
In ice-9/ports.scm:
    302:9  1 (move->fdes #<input: #{read pipe}# 8> _)
In unknown file:
           0 (primitive-move->fdes #<input: #{read pipe}# 8> 9)

ERROR: In procedure primitive-move->fdes:
In procedure primitive-move->fdes: Ongeldige bestandsdescriptor

Output (try #3): (this time no error)
;;; (i 0)
[...]
;;; (i 40)
GNU Guile 3.0.5
Copyright (C) 1995-2021 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.


Some more debugging.
scheme@(guile-user)> (getpid)
$1 = 23855
(Shell): ls /proc/23855/fd/
(Shell output) 0  1  10  11  12  13  14  2  3  4  5  6  7  8  9

[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 3 years and 190 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.