Software Archive
Read-only legacy content
17061 Discussions

errno 12 Out of memory on some phones if (--ignore-gpu-blacklist) is applied

Omar_A_1
New Contributor I
774 Views

Hi there everyone,

I am developing a simple photo editor using webgl 2d canvas. I am testing the app with a couple of phones and some of them have blacklisted GPUs. So I added the (--ignore-gpu-blacklist) flag so now the app works on these devices too without an issue. But now I have a problem with the other devices which don't need the (--ignore-gpu-blacklist) flag.... (a problem I don't have if the flag wasn't added).
The app crashes after seconds on these devices with the following errors:
<gsl_ldd_control:364>: ioctl fd 46 code 0xc00c092f (IOCTL_KGSL_GPMEM_ALLOC) failed: errno 12 Out of memory
<ioctl_kgsl_sharedmem_alloc:1176>: ioctl_kgsl_sharedmem_alloc: FATAL ERROR : (null)

I am using the latest xdk version with xwalk 15.

I tried everything to fix this problem. I read everywhere and I found nothing related to the out of memory error with the ignore gpu blacklist flag. The only conclusion I got is without the flag, the app work without an issue on devices that don't need the (--ignore-gpu-blacklist) flag. And if I add it, it crashes frequently on them.

I really hope someone can help me.

Thank you in advance for everything.

0 Kudos
1 Solution
Omar_A_1
New Contributor I
774 Views

Hello again Paul,

I am now happy to say that I fixed the issue. Like I said before, the  (--ignore-gpu-blacklist) flag enables a blacklisted feature in all adreno gpus. The feature is 2d canvas acceleration which is disabled in default settings. So disabling that with this flag (--disable-accelerated-2d-canvas) fixes the issue and the app works on all devices without crashing.

Thank you so much for your help.... Very much appreciated.

On a side question, when is the next release of intel xdk and will it have the latest stable crosswalk version?

View solution in original post

0 Kudos
5 Replies
Omar_A_1
New Contributor I
774 Views

I also want to add that I tried the following flag (--show-fps-counter) to watch the gpu memory on the device before the app crashes and the weird thing about it is it being so low (10-13 mb) right before the crash. And the max allowed gbu memory for use is actually 102mb.

0 Kudos
PaulF_IntelCorp
Employee
774 Views

What happens if you build for "shared" rather than "embedded"? If you build for the "shared" Crosswalk library it will pull the Crosswalk shared library from the Google Play store. That version of Crosswalk is 16, which performs substantially better than CW15, and this would be the easiest way to see if the problem is related to the version of Crosswalk.

0 Kudos
Omar_A_1
New Contributor I
774 Views

Thank you Paul for the response. Your suggestion was very good and it never crossed my mind :(
Unfortunately, the result was just a little better but very notable. However, the app still crashes after a little while. I think the problem occurs because the flag enables some features that are not needed in adreno gpus. And I think if I disable it with a flag, the app won't crash. I reached this conclusion after removing the (--ignore-gpu-blacklist) and adding this (--skip-gpu-data-loading) which according to chromium-command-line-switches makes all GPU features are available. And with it I get the same result (a crash).

I find this issue very annoying and weird because like I said on my original post, it only happens on these phones if I add the (--ignore-gpu-blacklist) flag which they don't need to make the app work flawlessly. But I had to add if for the other phones which do need it.

I really hope you have another theory I can work with. Your help is very much appreciated.

0 Kudos
Omar_A_1
New Contributor I
775 Views

Hello again Paul,

I am now happy to say that I fixed the issue. Like I said before, the  (--ignore-gpu-blacklist) flag enables a blacklisted feature in all adreno gpus. The feature is 2d canvas acceleration which is disabled in default settings. So disabling that with this flag (--disable-accelerated-2d-canvas) fixes the issue and the app works on all devices without crashing.

Thank you so much for your help.... Very much appreciated.

On a side question, when is the next release of intel xdk and will it have the latest stable crosswalk version?

0 Kudos
PaulF_IntelCorp
Employee
774 Views

Hello Omar -- thank you for that great investigative work! Finding the --disable-accelerated-2d-canvas fix may help many others!

I cannot say when the next release of the XDK will happen, because it is subject to slips, but it should appear in the near future. It has many significant changes that will be welcomed improvements. One of those improvements will be more flexibility selecting the CW version. It will, by default, support CW16, but you'll be able to try beta versions of CW, as well (with some small amount of extra efforts).

0 Kudos
Reply