-
Notifications
You must be signed in to change notification settings - Fork 193
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
Regression and crash #2209
Comments
I was able to recompile this code with Python 3.9 and pypi-timemachine 2022-01-01
pip install --index-url http://localhost:54455 pythran numpy This installs beniget-0.4.1 gast-0.5.3 numpy-1.22.0 ply-3.11 pythran-0.11.0 and with these versions, it works. The crash was already obtained in 2023-01-01 (beniget-0.4.1 gast-0.5.3 numpy-1.24.1 ply-3.11 pythran-0.12.0). |
I can also reproduce. the problem is non trivial, I won't delay the release for it :-/ |
We have a project for which we use again this old code. For now, we use it with an old environment (2022-01-01) and it works, but it would be much nicer/simpler for us if this code was compatible with standard 2024 environments. So my questions: do you think this is fixable in Pythran master and next Python release will support that? Or it is now too difficult and I should "fix" our code to overcome this Pythran issue? It is just to know if I should wait with this situation or find another solution to be able to use standard environments. |
I'll give it another try this week. |
I still don't understand that one, but here is a smaller reproducer: def is_valid_distance_matches_1ray(
candidate, approved_matches_ray
):
_, ray_id = candidate
if ray_id:
other_closest_points = approved_matches_ray[ray_id]
return len(other_closest_points) > 1
return True
# pythran export kernel_make_approved_matches__min_distance_matches_1ray((int32, int32) list)
def kernel_make_approved_matches__min_distance_matches_1ray(
candidates,
):
approved_matches_ray = {}
candidate = candidates[0]
assert is_valid_distance_matches_1ray(candidate, approved_matches_ray)
ray_id = candidate[1]
approved_matches_ray.setdefault(ray_id, [])
other_closest_points = approved_matches_ray[ray_id]
other_closest_points.append(1)
return approved_matches_ray |
I think this code was compiling fine with an old Pythran version (maybe few years ago). Now it crashes.
The C++ error contains
Is it useful to produce a simpler code to reproduce?
The text was updated successfully, but these errors were encountered: