Defold 1.2.181 BETA

Does Defold use the build server to build locally?

We use the build server to build the engine if you have native extensions or an app manifest.

That’s me again with a new issue)

Currently, I’m trying to create a bundle that can be uploaded to the Google Play Store. Tested on a sample Mobile Game project.

I’ve generated Keystore using this command:

keytool -genkey -v -noprompt -dname "CN=John Smith, OU=Area 51, O=US Air Force, L=Unknown, ST=Nevada, C=US" -keystore mykeystore.keystore -storepass 5Up3r_53cR3t -alias myAlias -keyalg RSA -validity 9125

build settings look like this:

the error is

Unable to find keystore alias

Build using bob.jar from http://d.defold.com/beta/ works fine (but only with java for intel architecture)

java -jar ~/Downloads/bob.jar -v --archive --platform=armv7-android --bundle-format=apk --keystore=mykeystore.keystore --keystore-pass=mykeystore.keystore.pass.txt --keystore-alias=myAlias build bundle

I wanted to test (Windows 10), but in live-project with a lot of extenstions, I got the error:

the build server also is updated to https://build-stage.defold.com

extensions:
image

(but in empty project beta works and in 1.2.180 works fine also)

2 Likes

If the project has no native extensions it will use the pre-built engine that ships inside bob.jar and the editor. The problem you got was because you had native extensions and we built a custom engine for you. And apparently there’s some kind of problem either with the combination of extensions you have or just the fact that the build happens on the build server (more likely).

2 Likes

Hi @BunBunBun!

I had missed updating a file with the new transcoder library info.
I’ve now pushed that fix and I’ll update the links (in the other thread) as soon as it has built.

Note: This feature is actually experimental, and not even in on the alpha branch yet, since I need to cleanup some code still

4 Likes

@Mathias_Westerdahl now all works! Thanks for fast fix!

2 Likes

I’ve made partial roll out my game on Android with 1.2.181 and new AdMob extension (https://github.com/defold/extension-admob/tree/new-admob). Works fine.

4 Likes

Thanks for the info!
Hopefully the latest http-fixes will help reduce the number of crashes for the app.
I’m curious to know the stats once the users have started to use the latest version for a little while.

4 Likes

Hi @Mathias_Westerdahl … I had downloaded this around a few days ago for a test drive. It still doesn’t solve the issue I had on Ubuntu 20.04. Did I need to set the export MESA_GL_VERSION_OVERRIDE=2.1 environment variable still? Or it was meant to resolve that issue?

@britzl Is it possible to resolve #5703?

It’s also about require() detecting and can help me to share with community the way how to debug the code and run projects in VSCode without Defold Editor.

Yes, maybe. I’ve added some comments to the issue on GH.

Use case:
Editor: 1.2.181. PC, Windows 10. I catched a script error in my game, after that I folded an editor and dmengine windows and leave pc for a hour. When return saw that in console:
Assertion failed: size <= Capacity() D:\a\defold\defold\tmp\dynamo_home\sdk\include\dmsdk/dlib/array.h, line 472

Perhaps dmengine memory leak?

WARNING:DLIB: Profiler Engine.Sim took 4.844 seconds
WARNING:DLIB: Profiler Engine.Frame took 4.849 seconds
DEBUG:SCRIPT: focus lost on mycamera
DEBUG:SCRIPT: Sending 7 hit(s) to Google Analytics
ERROR:DLIB: Trying to cache an entry with no tag and max-age set to 0
DEBUG:SCRIPT: Nothing to send
DEBUG:SCRIPT: Window resized: 	0	0	 z=	1440
Assertion failed: size <= Capacity(), file D:\a\defold\defold\tmp\dynamo_home\sdk\include\dmsdk/dlib/array.h, line 472
INFO:CRASH: Successfully wrote Crashdump to file: C:\Users\isunt\AppData\Roaming\Defold/_crash
ERROR:CRASH: CALL STACK:

 0 0x7FF77A8E33A0 _snscanf_s <unknown>:0
 1 0x7FF77AA03DE0 LZ4MaxCompressedSize <unknown>:0
 2 0x7FF77AA03DE0 LZ4MaxCompressedSize <unknown>:0
 3 0x7FF77AA03DE0 LZ4MaxCompressedSize <unknown>:0
 4 0x7FF77AA03DE0 LZ4MaxCompressedSize <unknown>:0
 5 0x7FF77A94E960 DecryptXTeaCTR <unknown>:0
 6 0x7FF77A94E960 DecryptXTeaCTR <unknown>:0
 7 0x7FF77AA03DE0 LZ4MaxCompressedSize <unknown>:0
 8 0x7FF77A94E960 DecryptXTeaCTR <unknown>:0
 9 0x7FF77A94E960 DecryptXTeaCTR <unknown>:0
10 0x7FF77A94E960 DecryptXTeaCTR <unknown>:0
11 0x7FF77A94E960 DecryptXTeaCTR <unknown>:0
12 0x7FF77A8F6490 dmHashReverseErase64 <unknown>:0
13 0x7FF77A9BB0D0 Particle_Hash <unknown>:0
14 0x7FF77A8F6490 dmHashReverseErase64 <unknown>:0
15 0x7FF77A8F6490 dmHashReverseErase64 <unknown>:0
16 0x7FF77A8F6490 dmHashReverseErase64 <unknown>:0
17 0x7FF77A8F6490 dmHashReverseErase64 <unknown>:0
18 0x7FF77A8BDC30 sprintf <unknown>:0
19 0x7FF77AA03DE0 LZ4MaxCompressedSize <unknown>:0
20 0x7FFD1DFF7020 BaseThreadInitThunk <unknown>:0
21 0x7FFD1E322630 RtlUserThreadStart <unknown>:0

Crashdump is unformative :frowning:

2 Likes

Thanks @Dragosha!

Yes, that callstack is indeed broken (e.g. there’s no way C’s sprintf is calling our dmHashReverseErase64 function)

There should be a file C:\Users\isunt\AppData\Roaming\Defold/_crash.dmp too, is that available?

Are you using native extensions?
If so I also need the dmengine.pdb from your build folder to go with the .dmp file.

If the .pdb is missing, you can try to bundle onece, and selecting “With debug symbols” (I should make this options default).

If you can give me these two files, I should be able to debug the callstack.

C:\Users\isunt\AppData\Roaming\Defold/_crash
dmengine.pdb

unfortunately, no. I continued work on project and crash dump file is lost as i see.
I have not made a bundle, just builded (ctrl+b) project from an editor, so, no sure here is native extensions at dmengine. (also as I understand admob, gpgs and iap extensions are building for mobile, not PC).

also as I understand admob, gpgs and iap extensions are building for mobile, not PC

If you have native extensions, they’ll be sent to the build server and you’ll get a custom built engine back. This is regardless of if the extension is implemented to work on the platform (e.g. gpgs on Win32).

unfortunately, no. I continued work on project and crash dump file is lost as i see.

Ok.
Btw, the crash dump isn’t removed automatically. If it’s not there, it wasn’t created. :thinking:

But I saw dump and open the file in text editor. It looked like 0000 0000 0100 0000 etc. And not deleted it manually. Mystic :confused:

The .dmpfile is a windows format, and you can open it with Visual Studio and press F5 to debug it. However, you also need the engine and the debug symbols to do it.

So, I have first results. As I can see ares__sortaddrinfo crash is still in 1.2.181, but a little less often. 8 crashes detected for now.

backtrace:
  #00  pc 00000000001d4f74  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (ares__sortaddrinfo) (SourceCode: /Users/mawe/work/defold/external/cares/build/../package/c-ares-1.17.1/src/lib/ares__sortaddrinfo.c:491)
  #00  pc 00000000001cc474  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (end_hquery) (SourceCode: /Users/mawe/work/defold/external/cares/build/../package/c-ares-1.17.1/src/lib/ares_getaddrinfo.c:405)
  #00  pc 00000000001d24ac  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (qcallback) (SourceCode: /Users/mawe/work/defold/external/cares/build/../package/c-ares-1.17.1/src/lib/ares_query.c)
  #00  pc 00000000001d1618  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (end_query) (SourceCode: /Users/mawe/work/defold/external/cares/build/../package/c-ares-1.17.1/src/lib/ares_process.c:1493)
  #00  pc 00000000001d204c  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (process_answer) (SourceCode: /Users/mawe/work/defold/external/cares/build/../package/c-ares-1.17.1/src/lib/ares_process.c:669)
  #00  pc 00000000001d0828  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (read_udp_packets) (SourceCode: /Users/mawe/work/defold/external/cares/build/../package/c-ares-1.17.1/src/lib/ares_process.c:533)
  #00  pc 00000000001d0828  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (processfds) (SourceCode: /Users/mawe/work/defold/external/cares/build/../package/c-ares-1.17.1/src/lib/ares_process.c:132)
  #00  pc 00000000001d00d8  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (ares_process) (SourceCode: /Users/mawe/work/defold/external/cares/build/../package/c-ares-1.17.1/src/lib/ares_process.c:142)
  #00  pc 000000000016ba54  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (dmDNS::GetHostByName(char const*, dmSocket::Address*, dmDNS::Channel*, int, bool, bool)) (SourceCode: /home/runner/work/defold/defold/engine/dlib/build/../src/dlib/dns.cpp:414)
  #00  pc 000000000016c7b4  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (dmConnectionPool::DoDial(dmConnectionPool::ConnectionPool*, char const*, unsigned short, dmDNS::Channel*, bool, int, unsigned int*, dmSocket::Result*, bool, bool)) (SourceCode: /home/runner/work/defold/defold/engine/dlib/build/../src/dlib/connection_pool.cpp:350)
  #00  pc 000000000016cea8  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (dmConnectionPool::Dial(dmConnectionPool::ConnectionPool*, char const*, unsigned short, dmDNS::Channel*, bool, int, unsigned int*, dmSocket::Result*)) (SourceCode: /home/runner/work/defold/defold/engine/dlib/build/../src/dlib/connection_pool.cpp:429)
  #00  pc 000000000013d07c  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (dmHttpClient::Response::Connect(char const*, unsigned short, bool, int)) (SourceCode: /home/runner/work/defold/defold/engine/dlib/build/../src/dlib/http_client.cpp:196)
  #00  pc 000000000013d984  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (dmHttpClient::DoRequest(dmHttpClient::Client*, char const*, char const*)) (SourceCode: /home/runner/work/defold/defold/engine/dlib/build/../src/dlib/http_client.cpp:1015)
  #00  pc 00000000000f72d0  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so
  #00  pc 00000000000f7584  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so
  #00  pc 000000000014d760  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (dmMessage::InternalDispatch(unsigned long long, void (*)(dmMessage::Message*, void*), void*, bool)) (SourceCode: /home/runner/work/defold/defold/engine/dlib/build/../src/dlib/message.cpp:497)
  #00  pc 000000000014d974  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (dmMessage::DispatchBlocking(unsigned long long, void (*)(dmMessage::Message*, void*), void*)) (SourceCode: /home/runner/work/defold/defold/engine/dlib/build/../src/dlib/message.cpp:529)
  #00  pc 00000000000f7788  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so
  #00  pc 00000000001568dc  /data/app/com.dragosha.hamster-1/lib/arm/libLookYourLoot.so (dmThread::ThreadStartProxy(void*)) (SourceCode: /home/runner/work/defold/defold/engine/dlib/build/../src/dlib/thread.cpp:42)
  #00  pc 0000000000047063  /system/lib/libc.so (__pthread_start(void*)+22)
  #00  pc 0000000000019ded  /system/lib/libc.so (__start_thread+6)
2 Likes

I see that this bug was fixed in c-ares less than a month ago:

2 Likes