Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zig standard library tests deadlock when run via poop #43

Open
squeek502 opened this issue Oct 3, 2023 · 0 comments
Open

Zig standard library tests deadlock when run via poop #43

squeek502 opened this issue Oct 3, 2023 · 0 comments

Comments

@squeek502
Copy link

squeek502 commented Oct 3, 2023

$ zig test lib/std/std.zig --zig-lib-dir lib --main-pkg-path lib/std --test-no-exec -femit-bin=test
$ poop ./test

Deadlocks for me when trying to print progress. Stacktrace from gdb:

(gdb) backtrace
#0  0x00000000011370db in os.linux.x86_64.syscall3 (number=write, arg1=2, arg2=140724114992364, arg3=4) at /home/ryan/Programming/zig/zig/lib/std/os/linux/x86_64.zig:46
#1  0x0000000001138ff6 in os.linux.write (fd=2, buf=0x7ffce2e2acec "1541\001", count=4) at /home/ryan/Programming/zig/zig/lib/std/os/linux.zig:633
#2  0x0000000000ddded1 in os.write (fd=2, bytes=...) at /home/ryan/Programming/zig/zig/lib/std/os.zig:1133
#3  0x0000000000c9a96b in fs.file.File.write (self=..., bytes=...) at /home/ryan/Programming/zig/zig/lib/std/fs/file.zig:1163
#4  0x000000000082eed9 in io.writer.Writer(fs.file.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).write (self=<error reading variable: Cannot access memory at address 0x4>, bytes=...)
    at /home/ryan/Programming/zig/zig/lib/std/io/writer.zig:17
#5  0x000000000081edee in io.writer.Writer(fs.file.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).writeAll (self=..., bytes=...)
    at /home/ryan/Programming/zig/zig/lib/std/io/writer.zig:23
#6  0x0000000000c9aa89 in fmt.formatBuf__anon_66211 (buf=..., options=..., writer=...) at /home/ryan/Programming/zig/zig/lib/std/fmt.zig:1047
#7  0x0000000000cf0e66 in fmt.formatInt__anon_68567 (value=1541, base=10 '\n', case=lower, options=..., writer=...) at /home/ryan/Programming/zig/zig/lib/std/fmt.zig:1460
#8  0x0000000001135296 in fmt.formatIntValue__anon_241031 (value=1541, options=<error reading variable: Cannot access memory at address 0x4>, 
    writer=<error reading variable: Cannot access memory at address 0x40>) at /home/ryan/Programming/zig/zig/lib/std/fmt.zig:784
#9  0x00000000011352d5 in fmt.formatValue__anon_241030 (value=1541, options=<error reading variable: Cannot access memory at address 0x4>, writer=...)
    at /home/ryan/Programming/zig/zig/lib/std/fmt.zig:733
#10 0x0000000000dda2d9 in fmt.formatType__anon_74949 (value=1541, options=<error reading variable: Cannot access memory at address 0x4>, writer=..., max_depth=3)
    at /home/ryan/Programming/zig/zig/lib/std/fmt.zig:487
#11 0x00000000011597a7 in fmt.format__anon_241736 (writer=..., args=...) at /home/ryan/Programming/zig/zig/lib/std/fmt.zig:184
#12 0x0000000000de7911 in io.writer.Writer(fs.file.File,error{DiskQuota,FileTooBig,InputOutput,NoSpaceLeft,DeviceBusy,InvalidArgument,AccessDenied,BrokenPipe,SystemResources,OperationAborted,NotOpenForWriting,LockViolation,WouldBlock,ConnectionResetByPeer,Unexpected},(function 'write')).print__anon_75732 (self=..., 
    args=<error reading variable: Cannot access memory at address 0x4>) at /home/ryan/Programming/zig/zig/lib/std/io/writer.zig:28
#13 0x0000000000cefded in debug.print__anon_68538 (args=...) at /home/ryan/Programming/zig/zig/lib/std/debug.zig:88
#14 0x000000000083ca3a in test_runner.mainTerminal () at test_runner.zig:164
#15 0x0000000000826a7b in test_runner.main () at test_runner.zig:36
#16 0x000000000080e3dd in start.posixCallMainAndExit () at /home/ryan/Programming/zig/zig/lib/std/start.zig:369
#17 0x000000000080df32 in _start () at /home/ryan/Programming/zig/zig/lib/std/start.zig:251

Works fine when run via hyperfine, so I'm considering this a poop bug rather than a Zig bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant