Extender server + iOS 13 + OSX 10.15 + Clang 9

#21

Actually now I remember the master branch for the has been reverted to the old library so that shouldn’t be crashing. If you try the previous commit to master branch it should have the XCode 11 library included I think: https://github.com/GameAnalytics/GA-SDK-DEFOLD/archive/a51bdcff2adb2570cc0bcb56a5fa74c7f97da9b4.zip

1 Like

#22

Although I’ll look into this furhter, I just want to point out that the lowest OSX version we support is 10.7 (and we’ll likely update that soon), and the function (operatingsystemversionstring) you’re using is specified to exist after 10.2.
So there shouldn’t really be a need to use the respondsWithSelector in this case? This should at least unblock you in this case.

I read too quickly for another function. The operatingsystemversionstring exists since 10.10 :confused:

1 Like

#23

win64 bundles work for me but not win32

2 Likes

#24

Ok thanks for reporting it. Is it possible to test if this worked when building on the previous build server?

0 Likes

#25

We are building the win32 with Visual Studio should we be building it in another way to avoid crash?

0 Likes

#26

Both the stage and live servers are now the same. use https://build.defold.com for building production code.

0 Likes

#27

Visual Studio should be fine. Afaik 2015/2017/2019 should be ABI compatible (we use the 2015 sdk’s)

1 Like

#28

Ok thanks. Any idea what could cause a crash in win32 build but not in win64?

0 Likes

#29

Not sure yet, it would be good to see the crash dump files

0 Likes

#30

Crash dump file:

_crash.dmp.zip (16.1 KB)

I am trying to narrow it down to where the crash happens and it looks to be somewhere in the initialization of the extension that goes wrong. It looks like the comma seperated strings for for example custom dimensions is not parsed correctly in my code still in the extension layer not in the actual SDKs code. So one step closer hopefully :slight_smile:

2 Likes

#31

In the extension we use strlen, snprintf and other c string functions but should we instead be using the new functions in <dmsdk/dlib/dstrings.h> or does it not make a difference?

0 Likes

#32

I am missing the exe file and pdb file in this zip.
I just added the “Generate debug symbols” button to the bundle dialog in the editor.
This adds a “dmengine.pdb” to your “build.zip” which is located in your project folder.
(A bit cumbersome, I know, and I’ll work on that)

Also note that once you have those three files, you can double click on the .dmp file, then press F5 to debug the crash.

0 Likes

#33

snprintf behaves differently on different platforms. This is why we have our own.
Be aware of return values, and if anything goes wrong, to be sure to handle that.
The same goes for many c functions.

strlen should afaik work the same on all platforms.

0 Likes

#34

Ok thanks. Good to know. I looks like there is some problems when use the c string functions on win32 builds but not win64. I will try to migrate to defold c string functions to see if it solves the problem.

1 Like

#35

Switching to use the defold string api seems to have worked. @Mathias_Westerdahl did you get any crash with the modified mac os lib I sent you? If not then I will release a new version of the GA SDK extension.

2 Likes

#36

I’d say don’t wait for me, I’ve been busy chasing bugs today, and didn’t get to test your library (sorry)

2 Likes

#37

GameAnalitycs doesn’t build with the error on Windows in 162 Editor:
/gameanalytics/src/GameAnalyticsDefold.cpp
Line 14: ‘dmsdk/dlib/dstrings.h’ file not found
#include <dmsdk/dlib/dstrings.h>
^~~~~~~~~~~~~~~~~~~~~~~

0 Likes

#38

This was added in 1.2.163. If you’re using the latest GameAnalytics version I guess you also need to use the latest Defold version.

0 Likes

#39

Damn, can’t use 163 because of unicode issues.

0 Likes

#40

Well, that’s why one uses release numbers, use the one you think works for you:
https://github.com/GameAnalytics/GA-SDK-DEFOLD/archive/2.2.8.zip

E:g. https://github.com/GameAnalytics/GA-SDK-DEFOLD/archive/2.2.8.zip

3 Likes