Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 14 Next capture
2021 2022 2023
2 captures
13 Jun 22 - 14 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by unity_YGbBuZNlK9KOUA · Jan 21, 2021 at 08:53 PM · androidwebrequestpngpersistentdatapathloadimage

Fatal Exception when loading multiple image files on Android from persistent data path

I'm having trouble to solve a Fatal Exception that is occurring when trying to load multiple .png files from my android persistent data path using Unity Web Request.

The coroutine that does the image loading is this:

 IEnumerator DoLoadSpriteFromLocal<T>(string p_loadPath, int p_loadID, T p_object, Action<bool, string, int, T, Sprite> p_callback)
     {
         string __loadPath = p_loadPath;
 #if UNITY_ANDROID
         __loadPath = $"file://{__loadPath}";
 #endif
 
         UnityWebRequest __uwr = UnityWebRequestTexture.GetTexture(__loadPath);
         var __operation = __uwr.SendWebRequest();
         
         float __timer = 0;
         while(!__operation.isDone)
         {
             yield return null;
             __timer += Time.deltaTime;
             if (__timer >= _timeoutTime)
             {
                 break;
             }
         }
 
         if (__operation.isDone)
         {
             if (__uwr.isHttpError || __uwr.isNetworkError) 
             { 
                 p_callback(false, $"Load sprite failed. \nLoad sprite path: {__loadPath} \nLoad sprite error: \n{__uwr.error}", p_loadID, p_object, null);
             } 
             else 
             {
                 Texture2D __texture = DownloadHandlerTexture.GetContent(__uwr);
                 Sprite __sprite = Sprite.Create(__texture, new Rect(0, 0, __texture.width, __texture.height), new Vector2(0.5f, 0.5f));
                 p_callback(true, $"Load sprite success. \nLoad sprite path: {__loadPath}", p_loadID, p_object, __sprite);
             }
         }
         else
         {
             p_callback(false, $"Load sprite timeout. \nLoad sprite path: {__loadPath}", p_loadID, p_object, null);
         }
     }

To load the images I start one of this coroutine for each one of the image files that I want to load. Then, after some loading the Android closes the game and point out a Fatal Exception with the following message:

 01-20 13:40:00.689: E/AndroidRuntime(24907): FATAL EXCEPTION: UnityMain
   01-20 13:40:00.689: E/AndroidRuntime(24907): Process: com.DefaultCompany.IndieWrestler, PID: 24907
   01-20 13:40:00.689: E/AndroidRuntime(24907): java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
   01-20 13:40:00.689: E/AndroidRuntime(24907): Version '2019.4.11f1 (2d9804dddde7)', Build type 'Development', Scripting Backend 'mono', CPU 'armeabi-v7a'
   01-20 13:40:00.689: E/AndroidRuntime(24907): Build fingerprint: 'Xiaomi/platina/platina:10/QKQ1.190910.002/V12.0.3.0.QDTMIXM:user/release-keys'
   01-20 13:40:00.689: E/AndroidRuntime(24907): Revision: '0'
   01-20 13:40:00.689: E/AndroidRuntime(24907): ABI: 'arm'
   01-20 13:40:00.689: E/AndroidRuntime(24907): Timestamp: 2021-01-20 13:39:53-0300
   01-20 13:40:00.689: E/AndroidRuntime(24907): pid: 24907, tid: 24998, name: UnityGfxDeviceW  >>> com.DefaultCompany.IndieWrestler <<<
   01-20 13:40:00.689: E/AndroidRuntime(24907): uid: 10540
   01-20 13:40:00.689: E/AndroidRuntime(24907): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
   01-20 13:40:00.689: E/AndroidRuntime(24907): Cause: null pointer dereference
   01-20 13:40:00.689: E/AndroidRuntime(24907):     r0  00000000  r1  4def3630  r2  00f42300  r3  00000000
   01-20 13:40:00.689: E/AndroidRuntime(24907):     r4  4def3610  r5  00000001  r6  00000000  r7  00000000
   01-20 13:40:00.689: E/AndroidRuntime(24907):     r8  00000000  r9  00000000  r10 000007d0  r11 000007d0
   01-20 13:40:00.689: E/AndroidRuntime(24907):     ip  ed33cc50  sp  b7306bb0  lr  c1082098  pc  ed2e256c
   01-20 13:40:00.689: E/AndroidRuntime(24907): backtrace:
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #00 pc 0005e56c  /apex/com.android.runtime/lib/bionic/libc.so (__memcpy_base_a55+244) (BuildId: 18716d52b3e361e6d51e50b6e66c16d5)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #01 pc 009f5094  /data/app/com.DefaultCompany.IndieWrestler-cNSHuzzHr165gLQPt0pCOA==/lib/arm/libunity.so (vk::ImageManager::UploadThreaded(vk::ScratchBufferAllocation, dynamic_array<VkBufferImageCopy, 0u>&, vk::Image*, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, TextureFormat, TextureColorSpace, int, unsigned int)+500) (BuildId: b554bd08ed514ed0bf8d653470ba6bfaeed63263)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #02 pc 009f437c  /data/app/com.DefaultCompany.IndieWrestler-cNSHuzzHr165gLQPt0pCOA==/lib/arm/libunity.so (vk::ImageManager::Upload(vk::CommandBuffer*, vk::ScratchBuffer*, vk::Image*, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, TextureFormat, TextureColorSpace, int, unsigned int)+388) (BuildId: b554bd08ed514ed0bf8d653470ba6bfaeed63263)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #03 pc 009f419c  /data/app/com.DefaultCompany.IndieWrestler-cNSHuzzHr165gLQPt0pCOA==/lib/arm/libunity.so (vk::ImageManager::CreateImage(vk::CommandBuffer*, vk::ScratchBuffer*, TextureDimension, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, TextureFormat, TextureColorSpace, int, unsigned int, VkSampleCountFlagBits, bool)+792) (BuildId: b554bd08ed514ed0bf8d653470ba6bfaeed63263)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #04 pc 009a0188  /data/app/com.DefaultCompany.IndieWrestler-cNSHuzzHr165gLQPt0pCOA==/lib/arm/libunity.so (vk::Texture::Create(vk::CommandBuffer*, vk::ScratchBuffer*, TextureID, TextureDimension, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, int, VkSampleCountFlagBits, bool, bool)+460) (BuildId: b554bd08ed514ed0bf8d653470ba6bfaeed63263)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #05 pc 009a0980  /data/app/com.DefaultCompany.IndieWrestler-cNSHuzzHr165gLQPt0pCOA==/lib/arm/libunity.so (GfxDeviceVK::UploadTexture2D(TextureID, TextureDimension, unsigned char const*, int, int, int, GraphicsFormat, int, TextureUploadFlags, TextureUsageMode)+264) (BuildId: b554bd08ed514ed0bf8d653470ba6bfaeed63263)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #06 pc 0036d34f  /data/app/com.DefaultCompany.IndieWrestler-cNSHuzzHr165gLQPt0pCOA==/lib/arm/libunity.so (GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&)+6854) (BuildId: b554bd08ed514ed0bf8d653470ba6bfaeed63263)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #07 pc 003724b7  /data/app/com.DefaultCompany.IndieWrestler-cNSHuzzHr165gLQPt0pCOA==/lib/arm/libunity.so (GfxDeviceWorker::RunExt(ThreadedStreamBuffer&)+26) (BuildId: b554bd08ed514ed0bf8d653470ba6bfaeed63263)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #08 pc 0037247d  /data/app/com.DefaultCompany.IndieWrestler-cNSHuzzHr165gLQPt0pCOA==/lib/arm/libunity.so (GfxDeviceWorker::Run()+96) (BuildId: b554bd08ed514ed0bf8d653470ba6bfaeed63263)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #09 pc 0036b647  /data/app/com.DefaultCompany.IndieWrestler-cNSHuzzHr165gLQPt0pCOA==/lib/arm/libunity.so (GfxDeviceWorker::RunGfxDeviceWorker(void*)+2) (BuildId: b554bd08ed514ed0bf8d653470ba6bfaeed63263)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #10 pc 007f563f  /data/app/com.DefaultCompany.IndieWrestler-cNSHuzzHr165gLQPt0pCOA==/lib/arm/libunity.so (Thread::RunThreadWrapper(void*)+342) (BuildId: b554bd08ed514ed0bf8d653470ba6bfaeed63263)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #11 pc 000aa8bb  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+20) (BuildId: 18716d52b3e361e6d51e50b6e66c16d5)
   01-20 13:40:00.689: E/AndroidRuntime(24907):       #12 pc 000619b3  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30) (BuildId: 18716d52b3e361e6d51e50b6e66c16d5)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libc.__memcpy_base_a55(__memcpy_base_a55:244)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libunity.vk::ImageManager::UploadThreaded(vk::ScratchBufferAllocation, dynamic_array<VkBufferImageCopy, 0u>&, vk::Image*, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, TextureFormat, TextureColorSpace, int, unsigned int)(UploadThreaded:500)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libunity.vk::ImageManager::Upload(vk::CommandBuffer*, vk::ScratchBuffer*, vk::Image*, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, TextureFormat, TextureColorSpace, int, unsigned int)(Upload:388)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libunity.vk::ImageManager::CreateImage(vk::CommandBuffer*, vk::ScratchBuffer*, TextureDimension, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, TextureFormat, TextureColorSpace, int, unsigned int, VkSampleCountFlagBits, bool)(CreateImage:792)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libunity.vk::Texture::Create(vk::CommandBuffer*, vk::ScratchBuffer*, TextureID, TextureDimension, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, int, VkSampleCountFlagBits, bool, bool)(Create:460)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libunity.GfxDeviceVK::UploadTexture2D(TextureID, TextureDimension, unsigned char const*, int, int, int, GraphicsFormat, int, TextureUploadFlags, TextureUsageMode)(UploadTexture2D:264)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libunity.GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&)(RunCommand:6854)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libunity.GfxDeviceWorker::RunExt(ThreadedStreamBuffer&)(RunExt:26)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libunity.GfxDeviceWorker::Run()(Run:96)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libunity.GfxDeviceWorker::RunGfxDeviceWorker(void*)(RunGfxDeviceWorker:2)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libunity.Thread::RunThreadWrapper(void*)(RunThreadWrapper:342)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libc.__pthread_start(void*)(__pthread_start:20)
   01-20 13:40:00.689: E/AndroidRuntime(24907):     at libc.__start_thread(__start_thread:30)

There does not seem to be a pattern to when the Android will show this exception since the point at which he stops the game can vary (some times the game will run without any problems, but in the majority of times it will occur the exception).

I tried to use File.ReadAllBytes but the same exception appears.

If someone have a hint to where is the problem in my game would be of a great help!

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
â–¼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

247 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Why am I unable to locate font files(.ttf) in unity android game in persistentDataPath? 1 Answer

UnityWebRequest uploadProgress 1 Answer

How to load PNG 8 bit in runtime 1 Answer

java.io.EOFException error 0 Answers

How to set persistent data path to sdcard on android 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges