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)