Skip to content

[BUG] iOS: Crash when GC collects SKMetalView resources #3178

@AlisiaNew

Description

@AlisiaNew

Description

SkiaSharp v3.116.1
.Net 9
maui 9.0.0/9.0.100 SDK 9.0.100
maui-ios 9.0.0/9.0.100 SDK 9.0.100
IDE: JetBrains Rider

In our app we have several views, one of which contains an SKMetalView. Every time the GC runs to collect resources, the app crashes with the following stack:

at <unknown> <0xffffffff>
	  at SkiaSharp.SkiaApi:gr_direct_context_abandon_context <0x00007>
	  at SkiaSharp.GRContext:AbandonContext <0x0010f>
	  at SkiaSharp.GRContext:DisposeNative <0x00083>
	  at SkiaSharp.SKNativeObject:Dispose <0x001c3>
	  at SkiaSharp.SKObject:Dispose <0x0007b>
	  at SkiaSharp.GRContext:Dispose <0x0007b>
	  at SkiaSharp.SKNativeObject:Finalize <0x000a7>
	  at System.Object:runtime_invoke_virtual_void__this__ <0x00087>

Code

To reproduce the issue SkiaSharpSample:

  1. Click Open Skia Screen, then go back
  2. Click Open Text Screen, then go back
  3. Repeat steps 1 and 2 and the app will crash

Expected Behavior

No response

Actual Behavior

No response

Version of SkiaSharp

3.116.0 (Current)

Last Known Good Version of SkiaSharp

2.88.9 (Previous)

IDE / Editor

Other (Please indicate in the description)

Platform / Operating System

iOS

Platform / Operating System Version

iOS 17.5
iOS 18.2

Devices

No response

Relevant Screenshots

No response

Relevant Log Output

at <unknown> <0xffffffff>
	  at SkiaSharp.SkiaApi:gr_direct_context_abandon_context <0x00007>
	  at SkiaSharp.GRContext:AbandonContext <0x0010f>
	  at SkiaSharp.GRContext:DisposeNative <0x00083>
	  at SkiaSharp.SKNativeObject:Dispose <0x001c3>
	  at SkiaSharp.SKObject:Dispose <0x0007b>
	  at SkiaSharp.GRContext:Dispose <0x0007b>
	  at SkiaSharp.SKNativeObject:Finalize <0x000a7>
	  at System.Object:runtime_invoke_virtual_void__this__ <0x00087>

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions