Skip to content

Illegal seek on a closed file #83

@martin-g

Description

@martin-g

Hello,

I am trying to enable linux-aarch64 support to Bioconda/locarna recipe at bioconda/bioconda-recipes#47413 but the tests, e.g. mlocarna --version, fail on both Linux x86_64 and aarch64. They actually hang!
In the PR I have commented out the tests to be able to download the produced binaries and debug them locally.

Please find attached the logs of strace mlocarna --version
strace-mlocarna--version.txt

The last several lines are:

...
openat(AT_FDCWD, "/home/mgrigorov/miniconda3/envs/test123/bin/../lib/perl/MLocarna/threaded.pm", O_RDONLY|O_CLOEXEC) = 3
...
...
openat(AT_FDCWD, "/home/mgrigorov/miniconda3/envs/test123/lib/perl5/core_perl/Thread/Semaphore.pm", O_RDONLY|O_CLOEXEC) = 4
ioctl(4, TCGETS, 0xffffcb2085e0)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(4, 0, SEEK_CUR)                   = 0
read(4, "package Thread::Semaphore;\n\nuse "..., 8192) = 7582
brk(0xaaaaf373e000)                     = 0xaaaaf373e000
read(4, "", 8192)                       = 0
close(4)                                = 0
read(3, "", 8192)                       = 0
close(3)                                = 0
getuid()                                = 1000
geteuid()                               = 1000
getgid()                                = 1000
getegid()                               = 1000
pipe2([3, 4], O_CLOEXEC)                = 0
fcntl(3, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
pipe2([5, 6], O_CLOEXEC)                = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xffffa71b40f0) = 1893
close(6)                                = 0
close(4)                                = 0
read(5, "", 4)                          = 0
close(5)                                = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
ioctl(3, TCGETS, 0xffffcb208dc0)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(3, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
fstat(3, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
read(3, 

I.e. it opens MLocarna/threaded.pm with file descriptor 3, reads from it, then closes it and then it tries to seek into it and stat it.

Any ideas what might be the problem ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions