-
Notifications
You must be signed in to change notification settings - Fork 24
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
Simulation issue #4
Comments
I see the same issue, also when trying to run simulations on a UTM virtual ARM machine using Rosetta (as described here: https://gist.github.com/sohnryang/ca5d2512f7c6e0bab87843dbf1a3708f). And it is also mentioned here: https://gist.github.com/sohnryang/ca5d2512f7c6e0bab87843dbf1a3708f?permalink_comment_id=4430497#gistcomment-4430497 I've tried to find any information about the error message, but even googling for VMAllocationTracker.cpp produces only the result above. No sure what is the origin of this error message. |
BTW, @ichi4096: Thanks a lot for your altruism to share your efforts. |
Thanks @arminsch :-) I've only tested Vivado by editing, sythesizing, running implementation, generating bitstream and programming devices because that's all we had to do in our classes for now. But I'll try to debug this issue, which is also seen when starting vitis_hls; my guess is that it doesn't work because of some Docker or Rosetta related issues, since Vivado works in virtual machines otherwise... The cpp file says somthing with Allocation and I remember somthing about different malloc implementations when going through the Vivado shell scripts, so I have a starting point of investigation. |
Maybe also giving some hints:
|
Let me know in case you need someone to discuss. I'm eager to help as this seems to be the last remaining issue that prevents me from changing my Laptop-HW. |
Well I tried strace and ltrace on the vivado_hls binary (in the unwrapped folder) and both seem to be broken under Rosetta. Maybe debugging with gdb will help... |
@ichi4096, thanks for the quick feedback! I'm looking it this as well |
I figured out how to run |
There are certain debugging tools that work when using UTM instead of Docker, such as It seems that I'm unsure if I can go further this route since my knowledge of these things is quite limited and Apple doesn't publicly disclose much of Rosetta's technicalities. My hope is that some shared library Vivado ships with is the culprit and can be replaced with a more recent version and that'll fix the problem. |
I see. I tried to debug this a bit but no luck on my side as well. I does seem like a Rosetta-related issue. Quite a few people are getting problems when doing mamps: docker/roadmap#384 |
Sorry for the delay, I had some studying to do. The good news: I finally figured out how to debug programs using the RosettaLinux When running it without arguments, it shows this:
Googling the name of the environment variable led to this blog, which explained the whole process. And instead of getting meaningless translated garbage, with which I can do pretty much nothing since it's JIT-compiled, I get actual x64 assembly :O As was to be expected, there are no debug symbols, but I'll see how far I get. |
There is very little I can do without debug symbols... So I asked for them here. Probably, I won't get an answer, however, I can ask specifically for the source code of the |
So… I got a response on the Xilinx support forum, but it doesn‘t help. This issue seems to be specifically rosetta-related, so I reported this issue via the Feedback app in macOS. In the meantime, somewhere in the EULA, they mention the version of rlwrap they used, which I downloaded via the wayback machine. I‘ll try to compile it with debug symbols and debug it properly. Also sorry for not updating for a long time, I had some catching up to do with my studies. |
A thought concerning this issue:
Maybe this is related to CPU re-mapping (as reported also on Windows here: https://gist.github.com/sohnryang/ca5d2512f7c6e0bab87843dbf1a3708f?permalink_comment_id=4482191#gistcomment-4482191). According to https://threedots.ovh/blog/2022/06/quick-look-at-rosetta-on-linux/ Unfortunately I can currently no check this, as I don't have a Vivado installation on ARM Linux. |
The simulation should work on the 2023 version, for which I just added support. Can anyone confirm? At least the binaries mentioned above don't crash anymore. |
I got same error when i simulate on 2023 version. assertion failed [metadata != nullptr]: request to change permissions for interval that isn't tracked |
Could you provide a simulation and detailed instructions for how to reproduce the error message? |
Could anybody please give a concrete example of a simulation that doesn't run? Meaning include the files, Vivado version, macOS version, Docker version and error messages as well as steps to reproduce the error. |
I can run post-synthesis functional sim but not post-synthesis timing sim, basically the same errors as CasparB. Really appreciate your work on this @ichi4096. Let me know if you need another test project for comparison on this. |
Are you able to run any simulations? It mentions permissions, but that is not the issue. In compile.log I see the following:
The text was updated successfully, but these errors were encountered: