Vunda Von created CB-4987:
-----------------------------
Summary: 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.
--
This message was sent by Atlassian JIRA
(v6.1#6144)