Skip to content

[tests] Enable sys, threads, eventloop cppia tests #11922

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

Open
wants to merge 3 commits into
base: development
Choose a base branch
from

Conversation

tobil4sk
Copy link
Member

@tobil4sk tobil4sk commented Jan 16, 2025

There were failures due to: HaxeFoundation/hxcpp#901. I've added workarounds for now to avoid the errors.

@skial skial mentioned this pull request Jan 17, 2025
1 task
@tobil4sk
Copy link
Member Author

This threads test currently works incorrectly in jit mode:

raises(
() -> thread.events.run(() -> {}),
sys.thread.NoEventLoopException
);

This is because local functions break exceptions in jit mode, see: HaxeFoundation/hxcpp#876 (comment)

@Simn
Copy link
Member

Simn commented Apr 7, 2025

The hxcpp PR has been merged, please update the branch.

@tobil4sk
Copy link
Member Author

There are still cppia jit failures. I think it is due to: HaxeFoundation/hxcpp#1212, but it's strange that it isn't affecting Linux because the minimal sample does.

@tobil4sk
Copy link
Member Author

it's strange that it isn't affecting Linux because the minimal sample does.

I've found that on linux there is an element of randomness, the same code can cause the issue or not depending on where it is found in the program and whether the client script was compiled with export_classes.info (which changes the classes included/excluded from the cppia script).

I think the problem is that there is some out of bounds memory access occurring due to the attempt to run a method on a null object, and in some cases this out of bounds access is not detected on Linux, but is always detected on Windows and Mac.

Either way, the hxcpp patch includes some additional tests and fixes these errors.

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

Successfully merging this pull request may close these issues.

2 participants