Skip to content

Conversation

ggcrunchy
Copy link
Contributor

As mentioned by @naveen-pcs in #645, there was a new crash with this sort of error in 3701:

[split_config.arm64_v8a.apk!libcorona.so] Rtt_Profiling.cpp - Rtt::Profiling::EntryRAII::EntryRAII(Rtt::ProfilingState&, int&, char const*)

This seemed to be consistent with a profile entry not being allocated, as if the ID were invalid in that part of the code. This was odd, since when the ID was None it just adds a slot to the array, the code seems to generally just work otherwise, and the device reports didn't seem to indicate any memory problems.

By a total fluke—while trying to figure out something else—I stumbled on this comment, and in particular niko20's point here.

That sounds right on target. These static IDs are new with the recent changes, and if they survived a new launch they would refer to bogus spots in the profiling list.

I had logic to update one "simulator run" value in the profiling state, if it was in simulator, that would make IDs None on first use, since the simulator run would differ from a "master" value. I've now changed it to just do that unconditionally.

It actually looks like the "master" value would be more generally useful (for instance in some audio fixes, rather than comparing pointers across threads), so I moved it out of the profiling state into Runtime, as GetGenerationID().

ggcrunchy and others added 22 commits February 7, 2019 17:09
…nd buffer and assignment logic

Next up, prepare details from graphics.defineEffect()
…from Program

Slight redesign of TimeTransform with caching (to synchronize multiple invocations with a frame) and slightly less heavyweight call site
Err, was calling Modulo for sine method, heh

That said, time transform seems to work in basic test
Fixed error detection for positive number time transform inputs

Relaxed amplitude positivity requirement
Maintenance Revert Test
My mistake adding back changes made
…erationID in Runtime

Profiling begin macro now takes Runtime argument

No simulator-only distinction for same
@ggcrunchy ggcrunchy requested a review from Shchvova as a code owner December 7, 2023 07:35
@ggcrunchy
Copy link
Contributor Author

After looking into an error that arose with build 3701 I see that Mac's relaunch mechanics are hard to square with static variables at all. While away from the computer I realized this would be pretty easy to refactor and I now have something that seems to work just fine on Mac.

In light of that Mac behavior I might have to reconsider the aforementioned generation ID as well.

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