Starling-Framework
Starling-Framework copied to clipboard
Fixing ArgumentError: Error #3672
I'm using fresh staring and air 18 on android for my game. For some months I have been getting thousands of errors (like below). Tried different ways to fix it but no success until I have found a stable way to reproduce the case. After I suspend the app and open it I catch nativeApplication's Event.ACTIVATE and call starling.start(), I also open some new game popup with newly uploaded textures. Right after this I get the error witch lead to some strange rendering.
ArgumentError: Error #3672
at starling.display::QuadBatch/createBuffers()
Now I have added following lines right before calling starling.start() and the bug is gone!
Starling.current.context.clear();
Starling.current.context.present();
I know my story lacks details and a good example to reproduce, but may be it will help someone (this problem seams petty popular). And probably bugtracking system in not the place for this )
That's an interesting find, thanks a lot for posting this information!
I added a note on the thread that's actively used to discuss this issue, so that more people hear about it (Adobe is watching that thread, too.)
It might make sense to add that workaround to Starling; but before that happens, I'd like to wait for some results from other developers, as well!
Anyone reading this: if you're still facing this issue, please try out the fix above and let us know if it helps! Thanks a lot in advance! :+1:
This fix TOTALLY solved my problem and I'm very thankful!
My problem was: on Android, once the device gets locked by inactivity, if in less than 5 seconds I press the power button it comes back directly to the game (no need to draw the unlock pattern) and my game crashes.
I've added those two lines and the issue is just magically gone. Thank you again shamruk!
Thanks for trying it out, @marcosroque, and for posting your results! That's great news! =)
Unfortunately, this fix didn't work for us. :( We tried this fix using Starling 1.6 and AIR 18 on Android. Still seeing exactly the same amount of those errors popping out.
ArgumentError: Error #3672
at starling.display::QuadBatch.createBuffers()()
at starling.display::QuadBatch.syncBuffers()()
at starling.display::QuadBatch.renderCustom()()
at starling.display::Sprite.render()()
at starling.display::DisplayObjectContainer.render()()
at starling.display::Sprite.render()()
at starling.display::DisplayObjectContainer.render()()
at starling.core::Starling.render()()
at starling.core::Starling.nextFrame()()
at starling.core::Starling.onEnterFrame()()
Any idea of what we could be doing wrong ?
My advice is to figure out what has happen before (last 10 seconds): app launched, suspended, released, video played, some ane/native popup was shown...
Unfortunately, we never manage to reproduce the issue at our end ...
You can try to add more logs to figure out last events and game state when error occurs
Hi @shamruk ,
Can you tell us on which device you could reproduce the issue ?
-Tushar, Adobe AIR Team
@tushar2708, "Can you tell us on which device you could reproduce the issue ?" Galaxy Tab 7, Galaxy Tab 10.1
@tushar2708 Hi Tushar, any news on this? Still getting thousands of #3672's per day while using latest AIR 19.. :(
THANK YOU shamruk !!! Your solution worked for as well !! I have also suffered alot because of this 3672 bug.. One Important Thing - just putting those 'present' & 'clear' commands did not worked for me. but when I did the following it worked: when the app is activated again, I call the 'present' & 'clear', then I WAIT a few frames, I put a delay of 0.5 second, and only then I proceed with my game graphics and logic stuff, including Starling.current.start()...
I guest that clearing the starling buffer should be completed with no "interfering". THANKS AGAIN :) it is a happy day for me
btw, this bug used to happen to me only on Samsung galaxy S7 smartphone and now it not occurring anymore...
For me such issues (ArgumentError: Error 3672
) fixed with latest AIR 50.2.3.7 if you using video playback on Android with Starling/Stage3D.