Defold 1.2.181 has been released

With latest update it is still not possible do this?:


May be in beta?, alpha?

With latest update it is still not possible do this?:

Not quite, but we’re getting closer.
We now have the gameobject.h and the dmGameObject::GetPosition(HInstance instance).
Next, we need to expose a GetInstance() function to do what our (currently internal) function does.
Shouldn’t be a very big task, hopefully I can add it for the next release.

Please note that this task isn’t our main priority, but a side effect of other tasks we’re performing.

4 Likes

Found a problem with etc1/etc2 formats - they don’t convert, the resulting texture files only contain the header.
This causes the build to crash when trying to render such a texture - and the crash is at the native level.

Here’s what my setup looks like for these textures:45
It worked well on version 172.

1 Like

Hi @Dragosha!

We’ve added a check for the size of the image before trying to transcode it to PVRTC.
You can try out the alpha build here:
https://d.defold.com/alpha/

6 Likes

Hello!
Tried to build the game with 1.2.181 and buid-stage server and have resource cannot be null error.

NE dependencies list:

https://github.com/defold/extension-review/archive/3.0.1.zip,
https://github.com/defold/extension-gpgs/archive/refs/tags/2.3.0.zip,
https://github.com/defold/extension-iap/archive/3.0.1.zip,
https://github.com/defold/extension-admob/archive/refs/heads/new-admob.zip,
https://github.com/defold/extension-adinfo/archive/refs/tags/3.0.0.zip

The example with only new-admob extension builds well and works correct on my phone.

Translation error in build log:


dx -JXms2048m -JXmx2048m --dex --multi-dex --main-dex-list=/tmp/job11617014642978414946/build/main_dex_list.txt --output /tmp/job11617014642978414946/build /var/extender/sdk/ff5b94e432eb58dabdb8e367bed9acc5e99e129b/defoldsdk//ext/share/java/android-support-multidex.jar /var/extender/sdk/ff5b94e432eb58dabdb8e367bed9acc5e99e129b/defoldsdk//share/java/glfw_android.jar /var/extender/sdk/ff5b94e432eb58dabdb8e367bed9acc5e99e129b/defoldsdk//share/java/gamesys_android.jar /var/extender/sdk/ff5b94e432eb58dabdb8e367bed9acc5e99e129b/defoldsdk//share/java/sound_android.jar /tmp/job11617014642978414946/upload/extension-iap/lib/android/in-app-purchasing-2.0.61.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-20.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.loader-loader-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-runtime-2.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.arch.core-core-common-2.0.1.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-gass-20.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.slidingpanelayout-slidingpanelayout-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.android.billingclient-billing-3.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.customview-customview-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-auth-api-phone-17.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-base-18.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.annotation-annotation-1.1.0.jar /tmp/.gradle/unpacked/androidx.core-core-1.2.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-tasks-17.2.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.drawerlayout-drawerlayout-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.documentfile-documentfile-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.swiperefreshlayout-swiperefreshlayout-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-auth-base-17.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.play-core-1.8.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-games-20.0.1.aar/classes.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-common-2.0.0.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-impl-16.4.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.coordinatorlayout-coordinatorlayout-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-base-17.5.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-auth-18.1.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-livedata-core-2.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-livedata-2.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.sqlite-sqlite-2.0.1.aar/classes.jar /tmp/.gradle/unpacked/androidx.legacy-legacy-support-core-ui-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-stats-16.0.1.aar/classes.jar /tmp/.gradle/unpacked/androidx.sqlite-sqlite-framework-2.0.1.aar/classes.jar /tmp/.gradle/unpacked/androidx.arch.core-core-runtime-2.0.1.aar/classes.jar /tmp/.gradle/unpacked/androidx.collection-collection-1.0.0.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-service-2.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.interpolator-interpolator-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-sdk-api-18.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.viewpager-viewpager-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.legacy-legacy-support-core-utils-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-drive-17.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.asynclayoutinflater-asynclayoutinflater-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.localbroadcastmanager-localbroadcastmanager-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.fragment-fragment-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.cursoradapter-cursoradapter-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-identifier-17.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-base-20.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.lifecycle-lifecycle-viewmodel-2.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.room-room-runtime-2.1.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-measurement-16.4.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.browser-browser-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.room-room-common-2.1.0.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-basement-17.6.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.ump-user-messaging-platform-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.work-work-runtime-2.1.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.versionedparcelable-versionedparcelable-1.1.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.android.gms-play-services-ads-lite-20.0.0.aar/classes.jar /tmp/.gradle/unpacked/androidx.print-print-1.0.0.aar/classes.jar /tmp/.gradle/unpacked/com.google.guava-listenablefuture-1.0.jar /tmp/job11617014642978414946/build/tmp5javac/output.jar /tmp/job11617014642978414946/build/tmp2javac/output.jar /tmp/job11617014642978414946/build/tmp1javac/output.jar /tmp/job11617014642978414946/build/tmp0rjava/R.jar /tmp/job11617014642978414946/build/tmp4javac/output.jar /tmp/job11617014642978414946/build/tmp3javac/output.jar  
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/measurement/zzim;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/measurement/zzin;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/measurement/zzio;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/measurement/zzip;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/measurement/zziq;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/measurement/zzir;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/measurement/zzis;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/measurement/zzit;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/internal/measurement/zziu;

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Translation has been interrupted
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:614)
	at com.android.dx.command.dexer.Main.runMultiDex(Main.java:365)
	at com.android.dx.command.dexer.Main.runDx(Main.java:286)
	at com.android.dx.command.dexer.Main.main(Main.java:244)
	at com.android.dx.command.Main.main(Main.java:95)
Caused by: java.lang.InterruptedException: Too many errors
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:606)
	... 4 more

log.txt (133.5 KB)

2 Likes

This is a conflict between

https://github.com/defold/extension-admob/archive/refs/heads/new-admob.zip

and

https://github.com/defold/extension-adinfo/arch/refs/tags/3.0.0.zip

I’ll take a look, but do you need extension-adinfo in your project (I added API for IDFA request in the admob extension itself)?

3 Likes

Thanks! I’ve removed adinfo extension and added builtin method admob.request_idfa() instead. The bundle builded successful and works.

4 Likes

As we’re still looking into this, I’m wondering a little about the use case.

E.g. in 1.2.180 we added support for UASTC transcoding of the textures.
I.e. they are compressed in a platform independent format, and later (on the device) transcoded into the hardware format.
The texture quality is generally much higher, and also uses the latest supported hardware formats on your device.

So, the question is, given this new functionality, do you still want/need the ETC1/ETC2 explicit format conversion in your bundles, or is the UASTC solution good for you?

My first step is ofc to add a crash fix. But didn’t have time to readd any proper ETC1/ETC2 support into the next release (and the question is, do we still want it?)

2 Likes

Interesting, haven’t seen that crash before.
dmSound::Finalize()
Redmi Note 8 Pro, Android 10 (SDK 29)

backtrace:
  #00  pc 00000000001a3178  /data/app/com.dragosha.hamster-5cDE63u5ZWEiwGpOFjlppg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libLookYourLoot.so (offset 0x1000) (dmSound::Finalize()) (SourceCode: /home/runner/work/defold/defold/engine/sound/build/../src/sound.cpp:405)
  #00  pc 00000000000437ec  /data/app/com.dragosha.hamster-5cDE63u5ZWEiwGpOFjlppg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libLookYourLoot.so (offset 0x1000) (dmEngine::Delete(dmEngine::Engine*)) (SourceCode: /home/runner/work/defold/defold/engine/engine/build/../src/engine.cpp:287)
  #00  pc 0000000000046ed0  /data/app/com.dragosha.hamster-5cDE63u5ZWEiwGpOFjlppg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libLookYourLoot.so (offset 0x1000) (dmEngineCreate(int, char**)) (SourceCode: /home/runner/work/defold/defold/engine/engine/build/../src/engine.cpp:1930)
  #00  pc 00000000000432c8  /data/app/com.dragosha.hamster-5cDE63u5ZWEiwGpOFjlppg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libLookYourLoot.so (offset 0x1000) (dmEngine::RunLoop(dmEngine::RunLoopParams const*)) (SourceCode: /home/runner/work/defold/defold/engine/engine/build/../src/engine_loop.cpp:54)
  #00  pc 0000000000043260  /data/app/com.dragosha.hamster-5cDE63u5ZWEiwGpOFjlppg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libLookYourLoot.so (offset 0x1000) (EngineMain(int, char**)) (SourceCode: /home/runner/work/defold/defold/engine/engine/build/../src/engine_main.cpp:49)
  #00  pc 0000000000043260  /data/app/com.dragosha.hamster-5cDE63u5ZWEiwGpOFjlppg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libLookYourLoot.so (offset 0x1000) (EngineMainThread(void*)) (SourceCode: /home/runner/work/defold/defold/engine/engine/build/../src/engine_main.cpp:68)
  #00  pc 0000000000163ff0  /data/app/com.dragosha.hamster-5cDE63u5ZWEiwGpOFjlppg==/split_config.arm64_v8a.apk!lib/arm64-v8a/libLookYourLoot.so (offset 0x1000) (dmThread::ThreadStartProxy(void*)) (SourceCode: /home/runner/work/defold/defold/engine/dlib/build/../src/dlib/thread.cpp:42)
  #00  pc 00000000000e24a4  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
  #00  pc 0000000000083d98  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

Indeed. We have done sound related changes recently. @JCash do you think any of them could be in play here?

The crash is just a side symptom (which we ofc should fix).
On line 1930, it tries to cleanup, since the creation failed.
The real question is why the engine didn’t start properly.?
Do you have any logs?

nope, it’s from Google Play console. 1 impacted user, not sure that is matter.

Actual crash list for the latest game release (1.2.181):

1 Like

The #1 and #3 there are c-ares related, and although we didn’t have time to remove it for this release, it should be gone by 1.2.183.

3 Likes

How many users are is this?

Of course I’d like to reach zero crashes, but going under 10 affected users in 30 days, would be very nice to be honest.

latest update arrived to 11.5K users from 17 Apr 2021

30 days stats looks a little differently:
2021-04-22_15-19-03


Bad behaviour threshold for ANR is 0.47%
Bad behaviour threshold for crash rate is 1.09%

And crashes for all apk version (30days):

1 Like

Ok, so getting rid of ares_sortaddrinfo will bring the crash rate way down. As @JCash wrote we’ll make sure this is done in 1.2.183.

3 Likes

Yes, because explicit use of ETC1/ETC2 saves significantly on build size.

In general, the benefits of UASTC on a real build are rather vague. It doesn’t give significant gain in build size (compared to RGBA32), the only place where savings occur is in video memory.

In contrast, clearly using formats such as ETC1/2 (android), PVRTC (iOS), DXT1/5 (win) gives good gain in build size.

2 Likes