Hey everyone I'm facing a crash that's been recurr...
# compose-ios
h
Hey everyone I'm facing a crash that's been recurring for some time when using Compose iOS in production
It just happens as you scroll
Copy code
Crashed: RenderingDispatchQueue
0  WallHub                        0x21ad948 GrGpuResource::release() + 2299128
1  WallHub                        0x21ad944 GrGpuResource::release() + 2299124
2  WallHub                        0x21ba5cc GrResourceCache::purgeAsNeeded() + 2351484
3  WallHub                        0x22a4bf8 GrMtlTexture::GrMtlTexture(GrMtlGpu*, skgpu::Budgeted, SkISize, sk_sp<GrMtlAttachment>, GrMipmapStatus, std::__1::basic_string_view<char, std::__1::char_traits<char>>) + 3311528
4  WallHub                        0x22a4ed4 GrMtlTexture::MakeNewTexture(GrMtlGpu*, skgpu::Budgeted, SkISize, MTLPixelFormat, unsigned int, GrMipmapStatus, std::__1::basic_string_view<char, std::__1::char_traits<char>>) + 3312260
5  WallHub                        0x2298064 GrMtlGpu::onCreateTexture(SkISize, GrBackendFormat const&, skgpu::Renderable, int, skgpu::Budgeted, skgpu::Protected, int, unsigned int, std::__1::basic_string_view<char, std::__1::char_traits<char>>) + 3259412
6  WallHub                        0x21abc28 GrGpu::createTextureCommon(SkISize, GrBackendFormat const&, GrTextureType, skgpu::Renderable, int, skgpu::Budgeted, skgpu::Protected, int, unsigned int, std::__1::basic_string_view<char, std::__1::char_traits<char>>) + 2291672
7  WallHub                        0x21abf44 GrGpu::createTexture(SkISize, GrBackendFormat const&, GrTextureType, skgpu::Renderable, int, skgpu::Budgeted, skgpu::Protected, GrColorType, GrColorType, GrMipLevel const*, int, std::__1::basic_string_view<char, std::__1::char_traits<char>>) + 2292468
8  WallHub                        0x21be328 GrResourceProvider::createTexture(SkISize, GrBackendFormat const&, GrTextureType, GrColorType, skgpu::Renderable, int, skgpu::Budgeted, skgpu::Mipmapped, skgpu::Protected, GrMipLevel const*, std::__1::basic_string_view<char, std::__1::char_traits<char>>) + 2367192
9  WallHub                        0x21b4a74 std::__1::__function::__func<GrProxyProvider::createNonMippedProxyFromBitmap(SkBitmap const&, SkBackingFit, skgpu::Budgeted)::$_0, std::__1::allocator<GrProxyProvider::createNonMippedProxyFromBitmap(SkBitmap const&, SkBackingFit, skgpu::Budgeted)::$_0>, GrSurfaceProxy::LazyCallbackResult (GrResourceProvider*, GrSurfaceProxy::LazySurfaceDesc const&)>::operator()(GrResourceProvider*&&, GrSurfaceProxy::LazySurfaceDesc const&) + 2328100
10 WallHub                        0x21c2d24 GrSurfaceProxyPriv::doLazyInstantiation(GrResourceProvider*) + 2386132
11 WallHub                        0x21b3340 GrProxyProvider::createProxyFromBitmap(SkBitmap const&, skgpu::Mipmapped, SkBackingFit, skgpu::Budgeted) + 2322160
12 WallHub                        0x21cc69c make_bmp_proxy(GrProxyProvider*, SkBitmap const&, GrColorType, skgpu::Mipmapped, SkBackingFit, skgpu::Budgeted) + 2425420
13 WallHub                        0x21cc0ac GrMakeCachedBitmapProxyView(GrRecordingContext*, SkBitmap const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>, skgpu::Mipmapped) + 2423900
14 WallHub                        0x220cfb8 skgpu::ganesh::RasterAsView(GrRecordingContext*, SkImage_Raster const*, skgpu::Mipmapped, GrImageTexGenPolicy) + 2689896
15 WallHub                        0x2183fb4 skgpu::ganesh::Device::drawEdgeAAImage(SkImage const*, SkRect const&, SkRect const&, SkPoint const*, SkCanvas::QuadAAFlags, SkMatrix const&, SkSamplingOptions const&, SkPaint const&, SkCanvas::SrcRectConstraint, SkMatrix const&, SkTileMode) + 2128740
16 WallHub                        0x2185820 skgpu::ganesh::Device::drawImageQuadDirect(SkImage const*, SkRect const&, SkRect const&, SkPoint const*, SkCanvas::QuadAAFlags, SkMatrix const*, SkSamplingOptions const&, SkPaint const&, SkCanvas::SrcRectConstraint) + 2134992
17 WallHub                        0x2181534 skgpu::ganesh::Device::drawImageRect(SkImage const*, SkRect const*, SkRect const&, SkSamplingOptions const&, SkPaint const&, SkCanvas::SrcRectConstraint) + 2117860
18 WallHub                        0x1fe4f50 SkCanvas::onDrawImageRect2(SkImage const*, SkRect const&, SkRect const&, SkSamplingOptions const&, SkPaint const*, SkCanvas::SrcRectConstraint) + 428800
19 WallHub                        0x2068740 SkRecordDraw(SkRecord const&, SkCanvas*, SkPicture const* const*, SkDrawable* const*, int, SkBBoxHierarchy const*, SkPicture::AbortCallback*) + 967408
20 WallHub                        0x1fe6d0c SkCanvas::onDrawPicture(SkPicture const*, SkMatrix const*, SkPaint const*) + 436412
21 WallHub                        0x2068740 SkRecordDraw(SkRecord const&, SkCanvas*, SkPicture const* const*, SkDrawable* const*, int, SkBBoxHierarchy const*, SkPicture::AbortCallback*) + 967408
22 WallHub                        0x1fe6d0c SkCanvas::onDrawPicture(SkPicture const*, SkMatrix const*, SkPaint const*) + 436412
23 WallHub                        0x2584318 org_jetbrains_skia_Canvas__1nDrawPicture + 6323912
24 WallHub                        0x689b48 kfun:org.jetbrains.skia.Canvas#drawPicture(org.jetbrains.skia.Picture;org.jetbrains.skia.Matrix33?;org.jetbrains.skia.Paint?){}org.jetbrains.skia.Canvas + 62 (Native.native.kt:62)
25 WallHub                        0xbd4c20 kfun:androidx.compose.ui.window.MetalRedrawer.MetalRedrawer$draw$$inlined$trace$1.invoke#internal + 579 (Canvas.kt:579)
26 WallHub                        0xbd7b40 kfun:androidx.compose.ui.window.MetalRedrawer.MetalRedrawer$draw$$inlined$trace$1.$<bridge-DN>invoke(){}#internal + 50 (Trace.uikit.kt:50)
27 WallHub                        0xbd7c14 kfun:androidx.compose.ui.window.MetalRedrawer.MetalRedrawer$draw$$inlined$trace$2.$<bridge-DN>invoke(){}#internal + 50 (Trace.uikit.kt:50)
28 WallHub                        0x1f46008 ___6f72672e6a6574627261696e732e636f6d706f73652e75693a75692f6f70742f6275696c644167656e742f776f726b2f346664313831636635653831343836352f636f6d706f73652f75692f75692f7372632f75696b69744d61696e2f6b6f746c696e2f616e64726f6964782f636f6d706f73652f75692f77696e646f772f4d6574616c52656472617765722e75696b69742e6b74_75_knbridge1_block_invoke + 4369096712
29 libdispatch.dylib              0x1adc _dispatch_call_block_and_release + 32
30 libdispatch.dylib              0x1b7fc _dispatch_client_callout + 16
31 libdispatch.dylib              0xa468 _dispatch_lane_serial_drain + 740
32 libdispatch.dylib              0xaf44 _dispatch_lane_invoke + 388
33 libdispatch.dylib              0x153ec _dispatch_root_queue_drain_deferred_wlh + 292
34 libdispatch.dylib              0x14ce4 _dispatch_workloop_worker_thread + 692
35 libsystem_pthread.dylib        0x13b8 _pthread_wqthread + 292
36 libsystem_pthread.dylib        0x8c0 start_wqthread + 8
my app is a wallpaper app hence drawing a lot of images
Copy code
fun MainViewController(
    onAppInitialized: (() -> Unit)? = null,
) = ComposeUIViewController(
    configure = {
        onFocusBehavior = OnFocusBehavior.DoNothing
        parallelRendering = true
    }
) {
    WallHubApp(onAppInitialized = onAppInitialized)
}
could this
parallelRendering
cause issues, idk?
z
@Andrei Salavei perhaps
thank you color 1
h
i will also roll out a version without
parallelRendering
and see if it alleviates crashes pepe cryingq
a
The issue with parallel rendering fixed in CMP 1.11.0-alpha03 - you can try it. Appreciate for the feedback.
K 1
🙏 1