Panic unwrapping error from IBM/zos-node-accessor on Windows
When I try to use the listDatasets function from IBM/zos-node-accessor on Deno v1.37.1 I get the following panic with stacktrace
./evac.exe :
At line:1 char:1
+ ./evac.exe dataset list "TEST.*"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
============================================================
Deno has panicked. This is a bug in Deno. Please report this
at https://github.com/denoland/deno/issues/new.
If you can reliably reproduce this panic, include the
reproduction steps and re-run with the RUST_BACKTRACE=1 env
var set and include the backtrace in your report.
Platform: windows x86_64
Version: 1.37.1
Args: ["D:\\Users\\Me\\evac\\evac.exe", "dataset", "list", "TEST.*"]
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ()', runtime\ops\runtime.rs:24:45
stack backtrace:
0: 0x7ff7d82e9b90 - napi_release_threadsafe_function
1: 0x7ff7d7340c2b - napi_release_threadsafe_function
2: 0x7ff7d82c4f0f - napi_release_threadsafe_function
3: 0x7ff7d82ee1db - napi_release_threadsafe_function
4: 0x7ff7d82ede02 - napi_release_threadsafe_function
5: 0x7ff7d82ed9f0 - napi_release_threadsafe_function
6: 0x7ff7d71723ff - napi_fatal_error
7: 0x7ff7d82eea9c - napi_release_threadsafe_function
8: 0x7ff7d82ee815 - napi_release_threadsafe_function
9: 0x7ff7d82ee769 - napi_release_threadsafe_function
10: 0x7ff7d82ee754 - napi_release_threadsafe_function
11: 0x7ff7d96f7bd5 - CrashForExceptionInNonABICompliantCodeRange
12: 0x7ff7d96f80f3 - CrashForExceptionInNonABICompliantCodeRange
13: 0x7ff7d7c6c786 - napi_release_threadsafe_function
14: 0x7ff7d93de01f - CrashForExceptionInNonABICompliantCodeRange
15: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
16: 0x7ff7d93e9a36 - CrashForExceptionInNonABICompliantCodeRange
17: 0x7ff7d954a6a9 - CrashForExceptionInNonABICompliantCodeRange
18: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
19: 0x7ff7d93da01c - CrashForExceptionInNonABICompliantCodeRange
20: 0x7ff7d93d9c17 - CrashForExceptionInNonABICompliantCodeRange
21: 0x7ff7d86ca97e - napi_release_threadsafe_function
22: 0x7ff7d86ca1ae - napi_release_threadsafe_function
23: 0x7ff7d85cb090 - napi_release_threadsafe_function
24: 0x7ff7d88922d2 - CrashForExceptionInNonABICompliantCodeRange
25: 0x7ff7d8e7445c - CrashForExceptionInNonABICompliantCodeRange
26: 0x7ff7d94743fa - CrashForExceptionInNonABICompliantCodeRange
27: 0x7ff7d9411d10 - CrashForExceptionInNonABICompliantCodeRange
28: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
29: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
30: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
31: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
32: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
33: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
34: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
35: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
36: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
37: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
38: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
39: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
40: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
41: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
42: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
43: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
44: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
45: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
46: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
47: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
48: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
49: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
50: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
51: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
52: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
53: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
54: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
55: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
56: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
57: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
58: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
59: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
60: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
61: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
62: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
63: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
64: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
65: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
66: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
67: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
68: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
69: 0x7ff7d93dc418 - CrashForExceptionInNonABICompliantCodeRange
70: 0x7ff7d941c2cd - CrashForExceptionInNonABICompliantCodeRange
71: 0x7ff7d93da01c - CrashForExceptionInNonABICompliantCodeRange
72: 0x7ff7d93d9c17 - CrashForExceptionInNonABICompliantCodeRange
73: 0x7ff7d86ca97e - napi_release_threadsafe_function
74: 0x7ff7d86cb4d5 - napi_release_threadsafe_function
75: 0x7ff7d86cb67d - napi_release_threadsafe_function
76: 0x7ff7d86d3665 - napi_release_threadsafe_function
77: 0x7ff7d86d2d51 - napi_release_threadsafe_function
78: 0x7ff7d86d2b64 - napi_release_threadsafe_function
79: 0x7ff7d86d2b64 - napi_release_threadsafe_function
80: 0x7ff7d86d2794 - napi_release_threadsafe_function
81: 0x7ff7d86cda14 - napi_release_threadsafe_function
82: 0x7ff7d85803df - napi_release_threadsafe_function
83: 0x7ff7d8570971 - napi_release_threadsafe_function
84: 0x7ff7d74b5b48 - napi_release_threadsafe_function
85: 0x7ff7d752ba66 - napi_release_threadsafe_function
86: 0x7ff7d7155ee6 - napi_fatal_error
87: 0x7ff7d7152c27 - napi_fatal_error
88: 0x7ff7d7151de9 - napi_fatal_error
89: 0x7ff7d709981d - napi_fatal_error
90: 0x7ff7d6eb2ebf - napi_cancel_async_work
91: 0x7ff7d6cda529 - <unknown>
92: 0x7ff7d7232925 - napi_release_threadsafe_function
93: 0x7ff7d6db2bc2 - napi_cancel_async_work
94: 0x7ff7d7174673 - napi_fatal_error
95: 0x7ff7d6c8c650 - <unknown>
96: 0x7ff7d7232a3f - napi_release_threadsafe_function
97: 0x7ff7d96a589c - CrashForExceptionInNonABICompliantCodeRange
98: 0x7ffdc9627344 - BaseThreadInitThunk
99: 0x7ffda0f809ae - DummyExport
100: 0x7ffdca4626b1 - RtlUserThreadStart
This is happening in a binary compiled with deno compile?
Also are you cross compiling this binary (compiling on Linux/macOS, running on Windows?)
If so, I think I know where the bug is:
- On Linux/macOS, file paths are in the form
/foo/bar, on windows it'sC:\foo\bar - When cross compiling we canonicalise the linux entrypoint to a file URL in the form
file:///foo/bar - On Windows, when calling
url.to_file_path(), we try to convert/foo/barinto a Windows path, but that fails and we panic.
I'm not sure what the best solution here is. @dsherret ideas?
@lucacasonato yeah I'm cross compiling from Linux x86
deno compile should probably be storing relative paths instead of urls.
I believe this is no longer the case since deno compile received a full overhaul and uses a much better VFS implementation. Gonna close this one, but please open a new issue if you hit this problem again.