You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Vunda Von (JIRA)" <ji...@apache.org> on 2013/10/03 09:51:47 UTC

[jira] [Updated] (CB-4987) IOS 7 Phonegap crash when rendering images

     [ https://issues.apache.org/jira/browse/CB-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vunda Von updated CB-4987:
--------------------------

    Description: 
I have an infinite scrolling list in which the user scrolls to the bottom and new items load from the database.  I am properly removing any object and image from the DOM however that is not in view.  I unload images by setting their src to an empty string.  I have monitored with Instruments on the Mac and I can see the memory constantly being collected and never peaking about 25 MB.  My problem is random, when rendering a new page from infinite scrolling, if it is heavy with images, it crashes.  Here is log from the thread that crashed:

{code}
Thread 10 Crashed:
0   AGXGLDriver                   	0x2e5ec26d AGXHalLLVMShader::emitConstants(unsigned int*, unsigned long long, GLDTextureRec* const*, AGXSamplerState const* const*) + 261
1   AGXGLDriver                   	0x2e5d097d agxuEmitRenderPipelineState + 2293
2   AGXGLDriver                   	0x2e5d946b agxuBeginPrimitiveBuffer(AGXContextRec*, unsigned int, int*) + 279
3   GLEngine                      	0x319d722b gleBeginPrimitiveTCLFunc + 67
4   GLEngine                      	0x319ab0c7 gleDrawArraysOrElements_ExecCore + 595
5   GLEngine                      	0x319a94df glDrawElements_IMM_ES2Exec + 231
6   QuartzCore                    	0x31c3bb8b CA::OGL::GLContext::draw_elements(CA::OGL::PrimitiveMode, unsigned int, unsigned short const*, CA::OGL::Vertex const*, unsigned int, unsigned int, CA::OGL::ClipPlane const*) + 339
7   QuartzCore                    	0x31c3ba2d CA::OGL::Context::array_flush() + 89
8   QuartzCore                    	0x31c764fb CA::OGL::DownsampleState::downsample1(float, float) + 227
9   QuartzCore                    	0x31c75659 CA::OGL::Context::downsample_surface(CA::OGL::Surface*, CA::Vec2<double> const&, CA::Transform const&, CA::OGL::Context::DownsampleFilter, float) + 681
10  QuartzCore                    	0x31c65629 CA::OGL::ContentsGeometry::fill_and_unbind(CA::OGL::Context&, CA::OGL::Image*, CA::OGL::TextureFilter, float) const + 953
11  QuartzCore                    	0x31c3d025 CA::CG::fill_image(CA::CG::Renderer&, CGImage*, CA::Rect const&, CA::Mat2<float> const&, bool, bool, CGInterpolationQuality, CA::Bounds const*) + 1781
12  QuartzCore                    	0x31c3c921 CA::CG::DrawImage::draw_image(CA::CG::Renderer&, bool) const + 77
13  QuartzCore                    	0x31c39679 CA::CG::DrawOp::render(CA::CG::Renderer&) const + 2145
14  QuartzCore                    	0x31c37d9d CA::CG::Queue::render_callback(void*) + 265
15  libdispatch.dylib             	0x3a003e73 _dispatch_queue_drain + 371
16  libdispatch.dylib             	0x3a000f97 _dispatch_queue_invoke + 39
17  libdispatch.dylib             	0x3a00474f _dispatch_root_queue_drain + 75
18  libdispatch.dylib             	0x3a0049cd _dispatch_worker_thread2 + 53
19  libsystem_pthread.dylib       	0x3a12edfd _pthread_wqthread + 297
20  libsystem_pthread.dylib       	0x3a12ecc0 start_wqthread + 4
{code}

Images are about 900px width and resized with css to about 400px.  There are no shadows or fancy css3 effects on the images.

Every time the app crashes, it usually comes after a memory warning.  I have reproduced this only after getting 3 memory warnings. 

  was:
I have an infinite scrolling list in which the user scrolls to the bottom and new items load from the database.  I am properly removing any object and image from the DOM however that is not in view.  I unload images by setting their src to an empty string.  I have monitored with Instruments on the Mac and I can see the memory constantly being collected and never peaking about 25 MB.  My problem is random, when rendering a new page from infinite scrolling, if it is heavy with images, it crashes.  Here is log from the thread that crashed:

{code}
Thread 10 Crashed:
0   AGXGLDriver                   	0x2e5ec26d AGXHalLLVMShader::emitConstants(unsigned int*, unsigned long long, GLDTextureRec* const*, AGXSamplerState const* const*) + 261
1   AGXGLDriver                   	0x2e5d097d agxuEmitRenderPipelineState + 2293
2   AGXGLDriver                   	0x2e5d946b agxuBeginPrimitiveBuffer(AGXContextRec*, unsigned int, int*) + 279
3   GLEngine                      	0x319d722b gleBeginPrimitiveTCLFunc + 67
4   GLEngine                      	0x319ab0c7 gleDrawArraysOrElements_ExecCore + 595
5   GLEngine                      	0x319a94df glDrawElements_IMM_ES2Exec + 231
6   QuartzCore                    	0x31c3bb8b CA::OGL::GLContext::draw_elements(CA::OGL::PrimitiveMode, unsigned int, unsigned short const*, CA::OGL::Vertex const*, unsigned int, unsigned int, CA::OGL::ClipPlane const*) + 339
7   QuartzCore                    	0x31c3ba2d CA::OGL::Context::array_flush() + 89
8   QuartzCore                    	0x31c764fb CA::OGL::DownsampleState::downsample1(float, float) + 227
9   QuartzCore                    	0x31c75659 CA::OGL::Context::downsample_surface(CA::OGL::Surface*, CA::Vec2<double> const&, CA::Transform const&, CA::OGL::Context::DownsampleFilter, float) + 681
10  QuartzCore                    	0x31c65629 CA::OGL::ContentsGeometry::fill_and_unbind(CA::OGL::Context&, CA::OGL::Image*, CA::OGL::TextureFilter, float) const + 953
11  QuartzCore                    	0x31c3d025 CA::CG::fill_image(CA::CG::Renderer&, CGImage*, CA::Rect const&, CA::Mat2<float> const&, bool, bool, CGInterpolationQuality, CA::Bounds const*) + 1781
12  QuartzCore                    	0x31c3c921 CA::CG::DrawImage::draw_image(CA::CG::Renderer&, bool) const + 77
13  QuartzCore                    	0x31c39679 CA::CG::DrawOp::render(CA::CG::Renderer&) const + 2145
14  QuartzCore                    	0x31c37d9d CA::CG::Queue::render_callback(void*) + 265
15  libdispatch.dylib             	0x3a003e73 _dispatch_queue_drain + 371
16  libdispatch.dylib             	0x3a000f97 _dispatch_queue_invoke + 39
17  libdispatch.dylib             	0x3a00474f _dispatch_root_queue_drain + 75
18  libdispatch.dylib             	0x3a0049cd _dispatch_worker_thread2 + 53
19  libsystem_pthread.dylib       	0x3a12edfd _pthread_wqthread + 297
20  libsystem_pthread.dylib       	0x3a12ecc0 start_wqthread + 4
{code}

Images are about 900px width and resized with css to about 400px.  There are no shadows or fancy css3 effects on the images.


> IOS 7 Phonegap crash when rendering images
> ------------------------------------------
>
>                 Key: CB-4987
>                 URL: https://issues.apache.org/jira/browse/CB-4987
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 3.0.0
>         Environment: IOS 7, iPhone 5s, Cordova 3.0
>            Reporter: Vunda Von
>
> I have an infinite scrolling list in which the user scrolls to the bottom and new items load from the database.  I am properly removing any object and image from the DOM however that is not in view.  I unload images by setting their src to an empty string.  I have monitored with Instruments on the Mac and I can see the memory constantly being collected and never peaking about 25 MB.  My problem is random, when rendering a new page from infinite scrolling, if it is heavy with images, it crashes.  Here is log from the thread that crashed:
> {code}
> Thread 10 Crashed:
> 0   AGXGLDriver                   	0x2e5ec26d AGXHalLLVMShader::emitConstants(unsigned int*, unsigned long long, GLDTextureRec* const*, AGXSamplerState const* const*) + 261
> 1   AGXGLDriver                   	0x2e5d097d agxuEmitRenderPipelineState + 2293
> 2   AGXGLDriver                   	0x2e5d946b agxuBeginPrimitiveBuffer(AGXContextRec*, unsigned int, int*) + 279
> 3   GLEngine                      	0x319d722b gleBeginPrimitiveTCLFunc + 67
> 4   GLEngine                      	0x319ab0c7 gleDrawArraysOrElements_ExecCore + 595
> 5   GLEngine                      	0x319a94df glDrawElements_IMM_ES2Exec + 231
> 6   QuartzCore                    	0x31c3bb8b CA::OGL::GLContext::draw_elements(CA::OGL::PrimitiveMode, unsigned int, unsigned short const*, CA::OGL::Vertex const*, unsigned int, unsigned int, CA::OGL::ClipPlane const*) + 339
> 7   QuartzCore                    	0x31c3ba2d CA::OGL::Context::array_flush() + 89
> 8   QuartzCore                    	0x31c764fb CA::OGL::DownsampleState::downsample1(float, float) + 227
> 9   QuartzCore                    	0x31c75659 CA::OGL::Context::downsample_surface(CA::OGL::Surface*, CA::Vec2<double> const&, CA::Transform const&, CA::OGL::Context::DownsampleFilter, float) + 681
> 10  QuartzCore                    	0x31c65629 CA::OGL::ContentsGeometry::fill_and_unbind(CA::OGL::Context&, CA::OGL::Image*, CA::OGL::TextureFilter, float) const + 953
> 11  QuartzCore                    	0x31c3d025 CA::CG::fill_image(CA::CG::Renderer&, CGImage*, CA::Rect const&, CA::Mat2<float> const&, bool, bool, CGInterpolationQuality, CA::Bounds const*) + 1781
> 12  QuartzCore                    	0x31c3c921 CA::CG::DrawImage::draw_image(CA::CG::Renderer&, bool) const + 77
> 13  QuartzCore                    	0x31c39679 CA::CG::DrawOp::render(CA::CG::Renderer&) const + 2145
> 14  QuartzCore                    	0x31c37d9d CA::CG::Queue::render_callback(void*) + 265
> 15  libdispatch.dylib             	0x3a003e73 _dispatch_queue_drain + 371
> 16  libdispatch.dylib             	0x3a000f97 _dispatch_queue_invoke + 39
> 17  libdispatch.dylib             	0x3a00474f _dispatch_root_queue_drain + 75
> 18  libdispatch.dylib             	0x3a0049cd _dispatch_worker_thread2 + 53
> 19  libsystem_pthread.dylib       	0x3a12edfd _pthread_wqthread + 297
> 20  libsystem_pthread.dylib       	0x3a12ecc0 start_wqthread + 4
> {code}
> Images are about 900px width and resized with css to about 400px.  There are no shadows or fancy css3 effects on the images.
> Every time the app crashes, it usually comes after a memory warning.  I have reproduced this only after getting 3 memory warnings. 



--
This message was sent by Atlassian JIRA
(v6.1#6144)