-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed as not planned
Labels
bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behavior
Description
Zig Version
0.14.0
Steps to Reproduce and Observed Behavior
In my library example (https://github.com/gerwin3/nvidia-video-codec-sdk/blob/main/examples/decode_rainbow.zig) if the code fails and returns an error then it does not produce a correct stack trace. The full output is:
error: InvalidValue
thread 31157 panic: integer overflow
aborting due to recursive panic
Aborted (core dumped)
I think it is because the stack trace function itself crashes at debug.zig:708.
Line 708 in 5ad91a6
| try printSourceAtAddress(debug_info, out_stream, return_address - 1, tty_config); |
So it seems when the return address is 0 the stack trace printing function fails. (I don't know how return address can be 0)
GDB stacktrace:
#0 0x00007ffff7c9916c in __pthread_kill_implementation () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#1 0x00007ffff7c40e86 in raise () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#2 0x00007ffff7c2893a in abort () from /nix/store/rmy663w9p7xb202rcln4jjzmvivznmz8-glibc-2.40-66/lib/libc.so.6
#3 0x000000000104d691 in posix.abort () at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/posix.zig:710
#4 0x0000000001048a77 in debug.defaultPanic (msg=..., first_trace_addr=...)
at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/debug.zig:676
#5 0x00000000010437e9 in debug.FullPanic((function 'defaultPanic')).integerOverflow ()
at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/debug.zig:91
#6 0x000000000106cdf6 in debug.writeStackTrace__anon_7169 (stack_trace=..., out_stream=..., debug_info=0x1135208 <debug.self_debug_info>,
tty_config=...) at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/debug.zig:708
#7 0x000000000104d803 in debug.dumpStackTrace (stack_trace=...) at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/debug.zig:501
#8 0x0000000001048e87 in debug.defaultPanic (msg=..., first_trace_addr=...)
at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/debug.zig:659
#9 0x00000000010437e9 in debug.FullPanic((function 'defaultPanic')).integerOverflow ()
at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/debug.zig:91
#10 0x000000000106cdf6 in debug.writeStackTrace__anon_7169 (stack_trace=..., out_stream=..., debug_info=0x1135208 <debug.self_debug_info>,
tty_config=...) at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/debug.zig:708
#11 0x000000000104d803 in debug.dumpStackTrace (stack_trace=...) at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/debug.zig:501
#12 0x00000000010f7fa6 in start.callMain () at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/start.zig:663
#13 start.callMainWithArgs () at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/start.zig:616
#14 start.main (c_argc=1, c_argv=0x7fffffffb768, c_envp=0x7fffffffb778)
at /nix/store/k8wr6zqyhchbnhy51r7f2l5fq14xl0zk-zig-0.14.0/lib/std/start.zig:631
Expected Behavior
A stack trace to be there. No recursive panic.
Metadata
Metadata
Assignees
Labels
bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behavior