Can't find crashdump on android

I’ve created a bundle for android and it works good, but when i try to build my app through wifi to this device it crashes with this message:

INFO:CRASH: Successfully wrote Crashdump to file: /data/data/com.example.todo/files/_crash
13

But in this folder there are now crashdump files
The question is: why it can happen and does any ways exist to fix it?

Hi!

The crash file is written to the Android device, which can be hard to extract and read on your own. It’s actually meant to be read by Defold itself through the crash.* module functionality; https://www.defold.com/ref/crash/

Is there any other output before the crashdump is written? Errors? Do you use any Native Extensinos?

1 Like

No, before this message there are no errors or anything like that. And also i use a lot of extensions, but it started to happened when i’ve added AdMob extension
@sergey.lerg

I’ve just updated AdMob extension that improves stability. That might help. If not - please show what you have inside AdMob listener.

2 Likes
local function admob_listener(event)
	print(TAG, "admob event type", event.type)
	print(TAG, "admob event phase", event.phase)

	if event.phase == 'loaded' and event.type == 'interstitial' then
		admob.show('interstitial')
	end

	if event.phase == 'loaded' and event.type == 'rewarded' then
		admob.show('rewarded')
	end

	if event.phase == 'init' then 
	admob.load{
		type = 'banner',
		id = "ca-app-pub-3825550765420734/6655086030",
		size = 'smart',
		position = 'bottom',
		keywords = {'puzzle', 'game'}
	}
	admob.load{
		type = 'interstitial',
		id = 'ca-app-pub-3825550765420734/6419507656',
		immersive = true,
		keywords = {'action', 'game'}
	}

	admob.load{
		type = 'rewarded',
		id = 'ca-app-pub-3825550765420734/7463102373',
		immersive = true,
		keywords = {'action', 'game'}
	}
	end
end

Here is my code. And it works as expected when i create .apk file for android and install it manually. But problem(crash) appears when i try to rebuild already launched app through wifi

And crash independent from the code, because crash appears even if there is no lines of code with admob

Native extensions don’t play well with hot reload. I don’t think I can fix that.

Ok, understand you :thinking: . Thank you

You mean when reloading/streaming to an already running app, not hot reload of an asset right?

In either case I think we should try to fix this in general if it is a problem. You should get the finalize callback for the extension when the engine is restarted and new content is sent.

Hm, ok, I’ll try.

You don’t have to, it’s your extension. :slight_smile:

What I mean is that if there’s a problem with the native extension framework in general when reloading the app then we need to fix that.

I think its not the problem with the native extension framework, because in my case app crashes only with admob extension

I too would look into the life cycle functions of the actual extension crashing first.

As suggested, you can use the crash module to print out the callstack. If you give the callstack and the custom engine (the .so file inside the apk)

You should be able to access the _crash file if you have root access to your device though.