Closed veillette closed 5 years ago
We have not hit this assertion again. Closing
We are still getting this. It only happens around 50% of the time. Unable to reproduce.
I have not been able to reproduce on my machine either even after 20 minutes of fuzzing.
My hypothesis is that to do with a slow machine while in the process of launching the simulation and some of the bounds of the scenery elements are not set yet.
In #66, @brandonLi8 said:
@pixelzoom, I was hoping that you could give me advice to solving number #33. I have been getting this for weeks, but it seems strange that It only picks up about 30% of the time on CT. I have been unable to reproduce even after 25+ minutes of fuzzing, and I have been trying for weeks.
I'll have a look. Self assigning.
I had a look, then @brandonLi8 and I discussed this issue on Slack:
Chris Malley [2:49 PM]
I’m looking at https://github.com/phetsims/vector-addition/issues/33. The only occurrence of ‘canvas’ that I see is renderer: 'canvas'
in GraphNode for the sphere at the origin. Why is it necessary to use renderer: 'canvas'
for this? And are there other uses of Canvas?
Brandon Li [2:50 PM] Not sure why I put that there. I don’t even know what canvas is.
Chris Malley [2:52 PM]
Canvas is an API for drawing graphics via Javascript. When a scenery Node is set to renderer: 'canvas'
, it uses the Canvas API to do its rendering. The other values for renderer
are ‘svg’, ‘dom’, and ‘webgl’, which are all different rendering APIs. You typically don’t set renderer
unless you have performance (or bug) requirements that necessitate using a specific rendering API.
Brandon Li [2:54 PM] Hmm, yea I’ll remove it.
Chris Malley [2:54 PM] Yep, that’s the next thing I was going to say ;)
Brandon Li [2:56 PM] Hopefully that’ll do it.
Chris Malley [2:56 PM] I’m skeptical that was causing the problem (thought it might). I don’t see anything in the stack trace that is specific to Vector Addition.
Brandon Li [2:56 PM] Ya and no one can reproduce it.
Chris Malley [2:56 PM] If it continues to occur, comment in the issue that you need Jonathan to take a look, and assign it to Ariel.
Chris Malley [3:01 PM]
Ah… I see in the CT output that the query parameters were brand=phet&ea&fuzz&rootRenderer=canvas&memoryLimit=1000
. So I believe this means that it’s running a test using Canvas as the default renderer. I don’t know why that’s done by CT.
Brandon Li [3:02 PM] Even when I tried those exact query parameters and fuzzed for 25 minutes, I was not able to reproduce.
Chris Malley [3:03 PM] interesting.
I also tried running locally in requirejs mode with brand=phet&ea&fuzz&rootRenderer=canvas&memoryLimit=1000
and cannot reproduce.
Chris Malley [3:03 PM]
Question, anyone feel free to jump in. In https://github.com/phetsims/vector-addition/issues/33, Vector Addition does not use Canvas, but is experiencing a Canvas failure with CT query parameters brand=phet&ea&fuzz&rootRenderer=canvas&memoryLimit=1000
. What is the purpose of the rootRenderer=canvas
test? And how can we track this down? (edited)
Jonathan Olson [3:05 PM] It mimics how we used to force Canvas rendering for Edge (which we now do not do, IIRC)
Chris Malley [3:05 PM] So (1) should this test be removed from CT? and if not (2) how can we track this down?
There doesn't appear to be anything that I can assist with here (nothing sim-specific). So I'm assigning to @jonathanolson to continue the conversation started in Slack and documented in https://github.com/phetsims/vector-addition/issues/33#issuecomment-511571941.
Looks like we finally are clear. Will re open if this pops up again.
OK to close this issue. But there's still the general question of why the rootRenderer=canvas
test is being run for every sim if (according to @jonathanolson) we no longer force Canvas rendering on Edge. I've moved that question to https://github.com/phetsims/aqua/issues/75.