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

Use actual Ark binary in integration tests? #562

Open
lionel- opened this issue Oct 3, 2024 · 2 comments
Open

Use actual Ark binary in integration tests? #562

lionel- opened this issue Oct 3, 2024 · 2 comments

Comments

@lionel-
Copy link
Contributor

lionel- commented Oct 3, 2024

We currently launch Ark in a background thread but we're seeing some weirdness on Windows CI, such as stack overflows: https://github.com/posit-dev/ark/actions/runs/11143776136/job/30969594068

thread 'dummy_kernel' panicked at crates\ark\src\interface.rs:1653:9:
Unexpected longjump while reading console: Unexpected longjump
Likely caused by:
Error: Error: C stack usage  2069919488 is too close to the limit

...

Caused by:
  process didn't exit successfully: `D:\a\ark\ark\target\debug\deps\kernel-55e8a51febeb10a6.exe` (exit code: 0xc0000409, STATUS_STACK_BUFFER_OVERRUN)

It's possible running R in the main thread (by running a normal Ark process) would solve this. Also it would make the integration tests a bit closer to real usage.

We're almost there since the integration tests already start a pretty normal Jupyter kernel that we connect to via zmq. But we might need to implement some process management to ensure it gets shut down after tests have run, and this management might fail in case of panic/crash.

@lionel-
Copy link
Contributor Author

lionel- commented Oct 4, 2024

Propagation of panic info when the Ark kernel crashes: Would be done via a log file as we do in Positron. Actually kind of neat because we could enable trace logs and get more context by default. The log file would be shown in a separate section of the github action report.

@DavisVaughan
Copy link
Contributor

We've had issues where we've broken something in release ark and can't catch it during testing because testing behavior works slightly differently #566 (comment) - in theory this would help avoid that

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

No branches or pull requests

2 participants