-
Notifications
You must be signed in to change notification settings - Fork 919
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
interp: ptrtoint integer size does not equal pointer size #2389
Comments
Is this the issue that was mentioned in the patch for the conservative collector here: f870ed5 ? |
No, it is not. Although idk if the patch might impact it. |
Is this patch then still something I should create a PR for?
|
I do not know. I will need to look into that again. That should not be related to this issue. |
So the answer there is that yes that code still needs to be fixed but also my fix had a bug in it because |
For future reference, that patch has been turned into #2396 |
This issue is also happening when trying to build https://github.com/google/open-location-code/, and I'm pretty sure that's a recent failure. |
This issue is most likely unrelated to any runtime GC that might happen. The interp package intercepts calls to
No, what it actually shows is that there is a bug somewhere in the interp package. It is usually caused when something stores a pointer in a non-pointer field (such as int, uintptr, [4]byte, etc). It might be fixable by passing a correct layout parameter to |
While working on #2458, I found that this can be triggered by |
Not sure if this will help, but I had a similar issue until I removed all fmt and log references from my code |
(This is no longer crashing open-location-code/go either wasi or native.) |
…smoke test. Test currently enabled on pybadge (chosen at random) TODO: - enable test on arduino; currently fails with "interp: ptrtoint integer size..." (tinygo-org#2389) - enable test on nintendoswitch; currently fails with many missing definitions (tinygo-org#2530)
#2565 includes a regression test for this, but doesn't run it yet from Makefile, as it is still failing. |
I was playing with some basic code and got the same issue as soon as I added a use of
|
…smoke test. Test currently enabled on pybadge (chosen at random) TODO: - enable test on arduino; currently fails with "interp: ptrtoint integer size..." (tinygo-org#2389) - enable test on nintendoswitch; currently fails with many missing definitions (tinygo-org#2530)
I reduced one of the above testcases. To reproduce:
where main.go is
|
@deadprogram @dkegel-fastly In the spirit of prioritizing a fix for #2732, does it make sense to go ahead and enable the regression test Dan mentions above and in #2565? I'd suggest the build should fail until the fmt regression is fixed -- not supporting the arduino is not only blocking adoption but may be masking some other issues, like the apparent println() regression I also mention over there. |
I've marked the two bugs with the 0.23 milestone, that might suffice. |
Thanks Dan -- that should help. After I wrote that I realized that all I'm suggesting is TDD, but decided not to press it. Noticing that this bug is causing some uncertainty in other repos as well -- tinygo-org/drivers#328 for instance. |
Yeah, it's serious, and now that it has a minimal-ish reproducer, the compiler guys have something to chew on... |
I think I heard this is AVR-specific, and the AVR backend is so unstable we had to disable tests. See also #2492 Removing 0.23 milestone; who knows, maybe llvm 14 will improve things...? |
…smoke test. Test currently enabled on pybadge (chosen at random) TODO: - enable test on arduino; currently fails with "interp: ptrtoint integer size..." (tinygo-org#2389) - enable test on nintendoswitch; currently fails with many missing definitions (tinygo-org#2530)
Got same error with
So may be this is a bug with correct error reporting? |
I think this error was supposed to be used internally for rollback, but it seems that it replicates on AVR:
This example is pulled from #349 which I was checking on.
The text was updated successfully, but these errors were encountered: