Closed pepijndevos closed 1 year ago
So this is where the invalid access apparently happens: https://github.com/YosysHQ/nextpnr/blob/78926b31db6dbfb465e2585ce0050bf93cb3e35c/json/jsonwrite.cc#L91 which was allocated here: https://github.com/YosysHQ/nextpnr/blob/78926b31db6dbfb465e2585ce0050bf93cb3e35c/common/kernel/timing.cc#L767 Does that make sense?
Also not sure it's actually related, since the bug wq mentioned seems to refer to the chipdb version change, which this doesn't seem to be immediately related to.
Huh upstream build works but our local build still fails with Exception: Unknown bel:R6C20_RAMW
Seems like there is some mismatch in the bells as understood by nextpnr and apicula. Maybe some off-by-one error or something like #141?
Nah, it looks like some ancient version of aicula is being used for the tests, which knows nothing about these Bels.
https://github.com/YosysHQ/apicula/actions/runs/3773584601/jobs/6435571904#step:5:27
I have no idea where it says to use this version yet
@whitequark it looks like the latest build of yowasp-nextpnr-gowin on pypi uses a really old Apycula==0.4 release, while yowasp_nextpnr_gowin-0.4.post79.dev377 from CI does contain 0.6.1. AIUI Pypi releases are a manual process.
So I guess question 1 is, could you make a release? And question 2 is, should our CI be using CI artifacts or sandbox releases to test the latest changes?
So I guess question 1 is, could you make a release?
In general I do these in sync with nextpnr release. I've pushed one just for you now, though.
And question 2 is, should our CI be using CI artifacts or sandbox releases to test the latest changes?
I'm not sure I understand the two options proposed, can you elaborate?
If I understand your setup correctly, yowasp CI builds wheels and uploads then to testing pypi so I'm wondering if we should run our yowasp ci directly on your ci artifacts or on testing pypi rather than the manually released production pypi
Oh yeah, that seems quite reasonable.
@whitequark informed me that YoWASP build recently broke and @gatecat said it might help to run it in valgrind to see if the error reproduces.
https://github.com/YoWASP/nextpnr/commit/461a69a492c2d0285bc5e7480e01f36566ddf2dc#commitcomment-91992429
Relatedly, our own YoWASP CI has also been broken for a while, which just one day a couple of months stopped working. This however seems like a different error, possibly just incompatible nextpnr and apicula versions. https://github.com/YosysHQ/apicula/actions/workflows/yowasp_examples.yml
Anyway I've run nextpnr in valgrind and this is the result. An invalid read in some json code that was allocated and freed in the timing analyzer? Haven't looked deeper into it, just want to dump the output somewhere before I go to bed. It took quite a while to run it under valgrind...