Error, potential bug?

Good day,

I am dealing with an unexpected error / issue in a game that has been released on Google play for sometime now. Nothing has been changed in the project, all I did was press “CTRL+B” and transition to each area that causes the errors. I am not sure if this is a bug or not. Maybe the Defold Team can assist? I can give access to the project for testing like before.

I am preparing a simple update, but the new versions 1.12.x are producing the following errors now.

ERROR:GAMESYS: Atlas doesn’t contains animation ‘gold_star’. Animation ‘house_1_back’ will be used  – NOT SURE WHAT CALLS THIS 12 TIMES**
ERROR:GAMEOBJECT: Could not initialize when spawning /game/core/objects/grass.goc.** – THIS EXIST**
ERROR:GAMESYS: Could not spawn an instance of prototype /game/core/objects/grass.goc.** – SEE ABOVE**
ERROR:GAMESYS: Atlas doesn’t contains animation ‘volcano_cave_bg’. Animation ‘rock_bg_white’ will be used** – THIS EXIST**
ERROR:GAMESYS: Atlas doesn’t contains animation ‘gold_star’. Animation ‘small_cloud_6’ will be used** – DON’T KNOW WHERE CALL IS MADE FOR “gold_star” , OR ATLAS USED **
ERROR:GAMESYS: Atlas doesn’t contains animation ‘big_cloud_1’. Animation ‘big_cloud_2’ will be used** – ONLY TWO ATLASES USE THE FILE, AND IT’S IN BOTH**
ERROR:GAMESYS: Atlas doesn’t contains animation ‘gold_star’. Animation ‘small_cloud_6’ will be used** – “gold_star” SHOULD NOT BE IN THE SAME FILE```

Not only the above issues, but now the game is broken on certain levels. :frowning:

Update:

I reverted to version 1.11.2 and everything works as it should.

Hello @britzl , @AGulev and others ,

Sorry for direct tagging

I am revisiting this thread as I have updated Defold to 1.12.3, and this issue persists. I get error messages stating that some of my existing Atlases are missing files that seem to have worked up to version 1.11.2.

Again, this game has been released for over a year and has been played to completion up until now.

(12 instances) ERROR:GAMESYS: Atlas doesn't contains animation 'gold_star'. Animation 'house_1_back' will be used

How am I to determine what atlas is failing? The scene uses GOs and collections called dynamically.

None of this happened in Defold version 1.11.2

Zero code changes occurred.

I also receive an error for this code. it seems frame_start and frame_end no longer exist?

local path = go.get(sprite_id, "image")
local ts_info = resource.get_atlas(path)

for i = 1, #ts_info.animations do
	if hash(ts_info.animations[i].id) == hash(anim) then
		--local frames, fps = go.get(sprite_id, "frame_count"), ts_info.animations[i].fps
		local frames = ts_info.animations[i].frame_end - ts_info.animations[i].frame_start
		local fps = ts_info.animations[i].fps
		local time = (1.0 / fps) * frames
		return { frames = frames, fps = fps, time = time }
	end
end

ERROR:SCRIPT: game/core/player/states/playerState.lua:299: attempt to perform arithmetic on field ‘frame_end’ (a nil value)
stack traceback:
game/core/player/states/playerState.lua:299: in function getAnimationFrames
game/core/player/states/idleState.lua:80: in function input
modules/fsm/fsm_engine.lua:88: in function input
game/core/player/player.script:291: in function <game/core/player/player.script:256>

Last issue I am having is that (even in version 1.11.2) Defold will no longer bundle an android project. I have IAP and UnityAds included.

https://github.com/AGulev/defold-extension-unity-ads/archive/refs/tags/4.19.0.zip

https://github.com/defold/extension-iap/archive/refs/tags/8.4.0.zip

Again, This android game has been running in Google play store for at least a year and did not have any issues.

IAP and UnityAds were updated, but the old versions are behaving the same way where bundling fails. Zero code changes occurred for bundling.

atlas api was changed, not frame_start and frame_end but table with frame ids

1 Like

Can you share the project with me? (bjorn@defold.se)

Yes, this was changed as the original with frame_start and frame_end only works in simple atlas cases when animations are ordered in a sequential list of frames. This is usually not the case.

1 Like

I believe you are still a member. Let me check. The current code does not work in the new Defold. It will require some data changes, but it will run in 1.12.3 with atlas errors.

You have a pending collab request.

Adding to the bundle issue for Android in Defold ver. 1.11.2

ERROR:EXT: Bundling 'Android Application...' failed: prelude.lua:361 Bob invocation failed

Thanks. I migrated your project to 1.13.0 using the script we provided in the release notes. I also updated from frame_start/frame_end to frames. The changes are in a branch named migrate-to-defold-1.13.0.

When are you getting these messages? I’m not seeing them.

2 Likes

I was only getting that message on defold version 1 12 3 I believe.

That was the last update I did.

Thank you for the migration. I will try and see if a bundle will work. Thanks.

Thanks for migrating the code to 1.13.0.

When bundling to Android APK/AAB, the errors still persists and the bundle fails.

ERROR:EXT: Bundling 'Android Application…' failed: prelude.lua:380 Bob invocation failed

I believe I have fixed the bundling error. I was still targeting a minimum SDK 21 where it needed to be 23.

1 Like

Is that the only thing in the build log? It’s not a very helpful piece of information. There should be more information about what’s wrong.

Hmm, I thought we still had 21 as the minimum SDK version. Perhaps one of your dependencies requires 23?

1 Like

That could very well be the case where a dependency requures sdk 23.

Although it bundles now, the full release and countless. I ran ADB on my pc and get this dump and not sure what to make of it…

07-26 08:09:38.792 18444 18444 E ast.shiborilan: Not starting debugger since process cannot load the jdwp agent.
07-26 08:09:38.842  1521  1817 E PostureManager: fail to get service
--------- beginning of crash
07-26 08:09:39.080 18444 18444 E AndroidRuntime: FATAL EXCEPTION: main
07-26 08:09:39.080 18444 18444 E AndroidRuntime: Process: com.genesyseast.shiboriland, PID: 18444
07-26 08:09:39.080 18444 18444 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate application androidx.multidex.MultiDexApplication: java.lang.ClassNotFoundException: Didn't find class "androidx.multidex.MultiDexApplication" on path: DexPathList[[zip file "/data/app/com.genesyseast.shiboriland-hFWgdAE1EJPDHi-D5XfqGg==/base.apk"],nativeLibraryDirectories=[/data/app/com.genesyseast.shiboriland-hFWgdAE1EJPDHi-D5XfqGg==/lib/arm, /data/app/com.genesyseast.shiboriland-hFWgdAE1EJPDHi-D5XfqGg==/base.apk!/lib/armeabi-v7a, /system/lib, /product/lib]]
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at android.app.LoadedApk.makeApplication(LoadedApk.java:1231)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6697)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at android.app.ActivityThread.access$1300(ActivityThread.java:228)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1900)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:107)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:214)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7631)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
07-26 08:09:39.080 18444 18444 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.multidex.MultiDexApplication" on path: DexPathList[[zip file "/data/app/com.genesyseast.shiboriland-hFWgdAE1EJPDHi-D5XfqGg==/base.apk"],nativeLibraryDirectories=[/data/app/com.genesyseast.shiboriland-hFWgdAE1EJPDHi-D5XfqGg==/lib/arm, /data/app/com.genesyseast.shiboriland-hFWgdAE1EJPDHi-D5XfqGg==/base.apk!/lib/armeabi-v7a, /system/lib, /product/lib]]
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at android.app.AppComponentFactory.instantiateApplication(AppComponentFactory.java:76)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at androidx.core.app.CoreComponentFactory.instantiateApplication(CoreComponentFactory.java:52)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at android.app.Instrumentation.newApplication(Instrumentation.java:1156)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        at android.app.LoadedApk.makeApplication(LoadedApk.java:1223)
07-26 08:09:39.080 18444 18444 E AndroidRuntime:        ... 9 more
07-26 08:09:39.225  1521  2169 E PostureManager: fail to get service

I saw this error and changed my manually modified manifest file to use androidx instead of the support version. I still get the error. My assumption is one of my dependencies uses androidx, but the supporting files are not bundled.

androidx.multidex.MultiDexApplication

See

2 Likes

Wow. I have really been away from development too long. Thank you very much.