Fixing Crashes on Specific Android Devices?

Hey everyone - I was looking for some advice on how I can identify and fix bugs and crashes that are only occurring on certain android devices.

I have around 200 users on my iOS version of my app and everything is fine, no crashes.

Now I’m beta testing android but some users are reporting crashes, though everything works fine on Pixel simulator and Nexus 5X simulators.

My app is supposed to be landscape only, for example, and one user with an S7 Edge said the phone attempted to rotate portrait when they held it upright and it crashed, something that doesn’t happen on my simulations.

Does anyone have any advice on how to track down and fix bugs on all of these different android devices, each with their android build different from stock android? I’m totally lost since iOS is so much more controlled and running on one device basically means it will work on any device…

Edit: I’m now having one user with the S7E report the crashes described in the post but the app is running fine on an S7, both running the same Android 7.1 (and I assume touchwiz?)

I’m way over my head in trying to figure out why it’s crashing on the S7E but running OK on the S7…

Are android users used to apps having issues related to all of the different manufacturer skins of android?

When you test by yourself on a REAL (not simulator) android phone, are you able to reproduce the problem?

As general advice I would say you could not 100% amend that if it’s working on the simulator it will works on a real device too. This is correct, as far as I noticed, for both iOS and android. It’s called a simulator for a reason and well shit happens :wink:

1 Like

I’m not able to reproduce the problem on my dev device, but since the Android ecosystem has so many different skins and builds for each device, I don’t know how to reproduce it without buying the specific device that a user is reporting crashes on.

I totally understand that the simulator isn’t a perfect test device, but I’m more generally confused as to whether or not other ionic devs have issues with a small subset of android devices or if this is out of the ordinary?

Not sure that is something related to Ionic or Cordova, I guess even for native Apps there is always that gap between Simulator and Real device and then as you say the Android eco system…

About the subset of Android devices and particularly Samsung, yes I think there is a gap. For example I have a card stack in my app. Everything looked fine till I discovered one day that the stack bottom to top (array wise) kind of produced a weird side effect only on real Samsung devices. Took me hours to find the problem and reimplement it top to bottom and it’s now working on all devices

I’ve got a (real) Samsung Edge, should I try to reproduce on my test phone? Send me the instruction and app in pm if you like

1 Like

Thanks for the offer to try to reproduce the crash - I’ll send a PM with a download code!

It’s also comforting to hear that this isn’t necessarily something specific to my app but something that occurs for others as well.

I’m pretty sure that this crash is related to orientation, since it crashes any time the user tries to rotate to portrait mode, meaning that it’s probably a Cordova issue and not ionic. I’m not sure how to investigate further than that without an actual device but it might be related to Edge phones since 2 other users have the beta working on their standard S7 phones.

Cool, sure send me the link thru pm!

I just got a kind of spontaneous idea…is the ability of rotating your app according the orientation of the phone mandatory? I know it’s not a solution, but I somewhere reckon having read than more and more, most on the people only use their phone in portrait mode…just saying that because in my case, my app only works in portrait :wink:

1 Like

Yeah I know that most users prefer portrait for one handed use but my app has a lot of information stored in charts that have 3 or 4 columns, and this doesn’t fit well on portrait phones since each column would be so small that the text wraps after a few letters, so my app is landscape only until I figure out a way to display the information in portrait without compromising usefulness.

1 Like

Hi,

Did you find any solution for your issue ? I am facing the same kind of issue. i’ve used ionic’s infinite scroll to load text/image/video in a list. App works fine on all ios and android devices but it crashes on Nexus 6(7.1.1) while scrolling. It crashes on real device only not emulator. Below is the logcat of the crash:

05-03 12:12:34.089 13695-13820/com.swingbyswing.clubby W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
05-03 12:12:34.090 13695-13820/com.swingbyswing.clubby E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
05-03 12:12:34.094 13695-13820/com.swingbyswing.clubby W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
05-03 12:12:34.095 13695-13820/com.swingbyswing.clubby E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
05-03 12:12:34.105 13695-13820/com.swingbyswing.clubby W/Adreno-GSL: <sharedmem_gpumem_alloc_id:2372>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
05-03 12:12:34.105 13695-13820/com.swingbyswing.clubby E/Adreno-GSL: <gsl_memory_alloc_pure:2115>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.
05-03 12:12:34.110 13695-13820/com.swingbyswing.clubby E/chromium: [ERROR:texture_manager.cc(3408)] [.RenderWorker-0x8099dc00]GL ERROR :GL_OUT_OF_MEMORY : glTexImage2D:
05-03 12:12:34.115 13695-13820/com.swingbyswing.clubby E/chromium: [ERROR:gles2_cmd_decoder.cc(5409)] Error: 5 for Command kTexImage2D
05-03 12:12:34.116 13695-13820/com.swingbyswing.clubby E/chromium: [ERROR:gles2_cmd_decoder.cc(4382)] GLES2DecoderImpl: Trying to make lost context current.
05-03 12:12:34.249 13695-13739/com.swingbyswing.clubby E/chromium: [ERROR:gles2_cmd_decoder.cc(9881)] [GroupMarkerNotSet(crbug.com/242999)!:50B09379]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.

--------- beginning of crash
05-03 12:12:34.418 18423-13739/? A/google-breakpad: -----BEGIN BREAKPAD MICRODUMP-----
V AndroidWebView:63.0.3239.111
O A arm 04 armv7l google/shamu/shamu:7.1.1/N6F27M/4299435:user/release-keys
P webview
R 0000000B SIGSEGV 00000004
G
05-03 12:12:34.437 18423-13739/? A/google-breakpad: H 0083C000 BE984000 01A4 03A90000 16EEA000 0C:17 0D:1C 0E:29 0F:40 10:1B 11:27 12:28 13:7A 14:08 15:07 16:0B 17:06 18:03 19:01
05-03 12:12:34.439 18423-13739/? A/google-breakpad: S 0 86CC90F0 86CC9000 00002000
05-03 12:12:34.440 18423-13739/? A/google-breakpad: S 86CC9000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000EDACEF0D0000000000000000C005000060020000EDACEF0DEDACEF0DEDACEF0D3091CC86EDACEF0D02000000000000000E000000130200003512F798EDACEF0D02000000E10D000000000000EDACEF0DEDACEF0DEDACEF0DEDACEF0D00000000EDACEF0D00000000000000000000000000000000000000000000000000000000000000000000000000000000
S 86CC9180 0000000000000000EDACEF0D000000000000000000000000C005000060020000EDACEF0DEDACEF0DEDACEF0D01

Thanks