MobiVM / robovm

Ahead of time compiler for JVM bytecode targetting iOS, Mac OSX and Linux
https://mobivm.github.io
960 stars 133 forks source link

App freezes when creating larger byte array on a separate thread while interrupted by some iOS background functionality #677

Closed CoderBaron closed 1 year ago

CoderBaron commented 2 years ago

I'm using the latest snapshot versions of RoboVM and libGDX. It's either an issue with newer RoboVM/libGDX versions or the latest iOS versions. Haven't had this problem with RoboVM 2.3.12 or libGDX 1.10.0.

I noticed the freezes when trying my apps on iOS simulator with the latest versions. It did however only happen 3 out of 10 launches. These apps are loading a few larger textures 5MB+ during splash screen and there is also some iOS stuff running in the background (ads loading, in-app billing setup,...)

After hours of try-and-error I managed to make a reproducible sample: (You need a basic libGDX app with either the robovm or robovm-metalangle backend)

IOSLauncher.java

import com.badlogic.gdx.backends.iosrobovm.IOSApplication;
import com.badlogic.gdx.backends.iosrobovm.IOSApplicationConfiguration;
import org.robovm.apple.foundation.NSAutoreleasePool;
import org.robovm.apple.uikit.UIApplication;

public class IOSLauncher extends IOSApplication.Delegate {
    @Override
    protected IOSApplication createApplication() {
        return new IOSApplication(new TestApplicationListener(), new IOSApplicationConfiguration());
    }

    public static void main(String[] args) {
        var pool = new NSAutoreleasePool();
        UIApplication.main(args, null, IOSLauncher.class);
        pool.close();
    }
}

TestApplicationListener.java

import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
import org.robovm.apple.storekit.SKPaymentQueue;
import org.robovm.apple.storekit.SKPaymentTransactionObserverAdapter;
import org.robovm.apple.storekit.SKProductsRequest;
import org.robovm.apple.storekit.SKProductsRequestDelegateAdapter;

import java.util.Collections;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class TestApplicationListener implements ApplicationListener {
    private ExecutorService executor;
    private float delay, rot;
    private int counter;

    private ShapeRenderer renderer;

    @Override
    public void create() {
        // libGDX's asset manager uses such an executor service to schedule texture loading tasks.
        executor = Executors.newFixedThreadPool(1, r -> {
            Thread thread = new Thread(r, "AsyncExecutor");
            thread.setDaemon(true);
            return thread;
        });

        // Not relevant for freeze.
        renderer = new ShapeRenderer();

        // This code triggers the freeze somehow after some random time while the JVM creates another byte array.
        SKPaymentQueue.getDefaultQueue().addTransactionObserver(new SKPaymentTransactionObserverAdapter());
        SKProductsRequest productsRequest = new SKProductsRequest(
                Collections.singleton("com.test.TestProduct1"));
        productsRequest.setDelegate(new SKProductsRequestDelegateAdapter());
        productsRequest.start();
    }

    @Override
    public void render() {
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        Gdx.gl.glClearColor(0, 0, 0, 1);

        float delta = Gdx.graphics.getDeltaTime();
        delay += delta;

        if (delay >= 0.5f) {
            // Schedule creation of new buffer every 500ms. We don't want to allocate 5MB every frame.
            delay = 0;
            createBuffer(++counter);
        }

        // Just for visual confirmation of the freeze.
        rot -= delta * 360;
        if (rot <= -360) {
            rot += 360;
        }
        renderer.begin(ShapeType.Filled);
        renderer.rect(Gdx.graphics.getWidth() / 2f, Gdx.graphics.getHeight() / 2f, 25, 25, 50, 50, 1, 1, rot);
        renderer.end();
    }

    // This synchronized method submits a task which creates a huge byte array. This is the minimal code I extracted from libGDX's asynchronous texture loading.
    private synchronized void createBuffer(final int i) {
        executor.submit(() -> {
            System.out.println("Creating buffer " + i);
            byte[] buf = new byte[5366612];
            System.out.println("Buffer created " + i);
            return null;
        });
    }

    @Override
    public void resize(int width, int height) {}
    @Override
    public void pause() {}
    @Override
    public void resume() {}
    @Override
    public void dispose() {}
}

The renderer is only there to make it easier to notice when the freeze happens. It doesn't happen every time, so it's faster to just force close and restart the app multiple times in the simulator if the freeze doesn't happen within 5 seconds.

Tested on a M1 Mac iPhone 13 Pro iOS 15.4 simulator x86_64

CoderBaron commented 2 years ago

Just for clarification: The app hanging isn‘t limited to the SKProductsRequest. I also got the same result using Firebase remote config fetching as well as Admob ad setup. My guess is that while the app is allocating the byte array on a non-main Java thread, some native threading stuff somehow interrupts this process resulting in a never ending thread lock.

dkimitsa commented 2 years ago

hi, @CoderBaron tried playing with sample code on with following setup gdxVersion = '1.11.0' roboVMVersion = '2.3.19-SNAPSHOT' and wasn't able to reproduce a hang. probably SKProducts to be configured ?

CoderBaron commented 2 years ago

Hi @dkimitsa, I've been using the following versions: gdxVersion = '1.11.1-SNAPSHOT' roboVMVersion = '2.3.19-SNAPSHOT' and api "com.badlogicgames.gdx:gdx-backend-robovm-metalangle:$gdxVersion"

in my reproducible test.

CoderBaron commented 2 years ago

I don't have anything else setup, no SKProducts configuration. I tried it now with a different simulator to rule out that the sim instance was corrupted. At the first 2 tries nothing happened. On the third launch of the app I got the freeze again. After force closing the app I got the following crash report:

Incident Identifier: BBD172A6-DCA4-4963-9E9D-F20699ED28FB
CrashReporter Key:   B81F0B2C-65D6-5641-C7BB-7F17B7BB45ED
Hardware Model:      Macmini9,1
Process:             IOSLauncher [7104]
Path:                /Users/USER/Library/Developer/CoreSimulator/Devices/51112B66-CF0B-4881-B8D1-134F69089172/data/Containers/Bundle/Application/8691267E-9E36-4FC0-BABD-1815C2A9A7C9/IOSLauncher.app/IOSLauncher
Identifier:          com.mygdx.game
Version:             1.0 (1)
Code Type:           X86-64 (Native)
Role:                Foreground
Parent Process:      launchd_sim [6862]
Coalition:           com.apple.CoreSimulator.SimDevice.51112B66-CF0B-4881-B8D1-134F69089172 [287191]
Responsible Process: SimulatorTrampoline [57329]

Date/Time:           2022-08-20 23:21:14.7888 +0200
Launch Time:         2022-08-20 23:21:00.4311 +0200
OS Version:          macOS 12.4 (21F79)
Release Type:        User
Report Version:      104

Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Termination Reason: FRONTBOARD 2343432205 
<RBSTerminateContext| domain:10 code:0x8BADF00D explanation:[application<com.mygdx.game>:7104] failed to terminate gracefully after 5.0s
ProcessVisibility: Unknown
ProcessState: Running
WatchdogEvent: process-exit
WatchdogVisibility: Background
WatchdogCPUStatistics: (
"Elapsed total CPU time (seconds): 23.080 (user 9.030, system 14.050), 54% CPU",
"Elapsed application CPU time (seconds): 0.000, 0% CPU"
) reportType:CrashLog maxTerminationResistance:Interactive>

Triggered by Thread:  0

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104b221dc ???
2   libsystem_kernel.dylib                 0x10faedce8 mach_msg + 56
3   CoreFoundation                         0x112b62e58 __CFRunLoopServiceMachPort + 319
4   CoreFoundation                         0x112b5d46e __CFRunLoopRun + 1249
5   CoreFoundation                         0x112b5ca90 CFRunLoopRunSpecific + 562
6   GraphicsServices                       0x11140dc8e GSEventRunModal + 139
7   UIKitCore                              0x11fcff90e -[UIApplication _run] + 928
8   UIKitCore                              0x11fd04569 UIApplicationMain + 101
9   IOSLauncher                            0x1038ffe18 0x102fa0000 + 9829912
10  IOSLauncher                            0x1038ff32e */Class;)V + 691 (UIApplication.java:433)
11  IOSLauncher                            0x1038fe454 0x102fa0000 + 9823316
12  IOSLauncher                            0x1034bf335 */String;)V + 74 (IOSLauncher.java:17)
13  IOSLauncher                            0x103bca20e 0x102fa0000 + 12755470
14  IOSLauncher                            0x103bbf624 0x102fa0000 + 12711460
15  IOSLauncher                            0x103bc1e86 0x102fa0000 + 12721798
16  IOSLauncher                            0x103bc1f54 0x102fa0000 + 12722004
17  IOSLauncher                            0x103bba4a5 0x102fa0000 + 12690597
18  IOSLauncher                            0x103bb0100 0x102fa0000 + 12648704
19  dyld_sim                               0x10d1c9f21 start_sim + 10
20  dyld                                   0x204c0f51e start + 462

Thread 1:: com.apple.rosetta.exceptionserver
0   ???                                 0x7ff7fff259c4 ???
1   ???                                 0x7ff7fff3e208 ???

Thread 2:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104d71fb4 ???
2   libsystem_pthread.dylib                0x10f967a6f _pthread_cond_wait + 1249
3   IOSLauncher                            0x103be4c17 0x102fa0000 + 12864535
4   IOSLauncher                            0x103bdcc30 0x102fa0000 + 12831792
5   IOSLauncher                            0x103bdcec0 0x102fa0000 + 12832448
6   IOSLauncher                            0x103be351b 0x102fa0000 + 12858651
7   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
8   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 3:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104d71fb4 ???
2   libsystem_pthread.dylib                0x10f967a6f _pthread_cond_wait + 1249
3   IOSLauncher                            0x103be4c17 0x102fa0000 + 12864535
4   IOSLauncher                            0x103bdcc30 0x102fa0000 + 12831792
5   IOSLauncher                            0x103bdcec0 0x102fa0000 + 12832448
6   IOSLauncher                            0x103be351b 0x102fa0000 + 12858651
7   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
8   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 4:
0   <translation info unavailable>         0x104d7df38 ???
1   <translation info unavailable>         0x104d7de58 ???
2   IOSLauncher                            0x103bdc929 0x102fa0000 + 12831017
3   IOSLauncher                            0x103bdcd44 0x102fa0000 + 12832068
4   IOSLauncher                            0x103bdcec0 0x102fa0000 + 12832448
5   IOSLauncher                            0x103be351b 0x102fa0000 + 12858651
6   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
7   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 5:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104d71fb4 ???
2   libsystem_pthread.dylib                0x10f967a6f _pthread_cond_wait + 1249
3   IOSLauncher                            0x103be4c17 0x102fa0000 + 12864535
4   IOSLauncher                            0x103bdcc30 0x102fa0000 + 12831792
5   IOSLauncher                            0x103bdcec0 0x102fa0000 + 12832448
6   IOSLauncher                            0x103be351b 0x102fa0000 + 12858651
7   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
8   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 6:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104d71fb4 ???
2   libsystem_pthread.dylib                0x10f967a6f _pthread_cond_wait + 1249
3   IOSLauncher                            0x103be4c17 0x102fa0000 + 12864535
4   IOSLauncher                            0x103bdcc30 0x102fa0000 + 12831792
5   IOSLauncher                            0x103bdcec0 0x102fa0000 + 12832448
6   IOSLauncher                            0x103be351b 0x102fa0000 + 12858651
7   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
8   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 7:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104d71fb4 ???
2   libsystem_pthread.dylib                0x10f967a6f _pthread_cond_wait + 1249
3   IOSLauncher                            0x103be4c17 0x102fa0000 + 12864535
4   IOSLauncher                            0x103bdcc30 0x102fa0000 + 12831792
5   IOSLauncher                            0x103bdcec0 0x102fa0000 + 12832448
6   IOSLauncher                            0x103be351b 0x102fa0000 + 12858651
7   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
8   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 8:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104d71fb4 ???
2   libsystem_pthread.dylib                0x10f967a6f _pthread_cond_wait + 1249
3   IOSLauncher                            0x103be4c17 0x102fa0000 + 12864535
4   IOSLauncher                            0x103bdcc30 0x102fa0000 + 12831792
5   IOSLauncher                            0x103bdcec0 0x102fa0000 + 12832448
6   IOSLauncher                            0x103be351b 0x102fa0000 + 12858651
7   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
8   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 9:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104b221dc ???
2   libsystem_kernel.dylib                 0x10faedce8 mach_msg + 56
3   libsystem_kernel.dylib                 0x10faf39ab mach_msg_server + 296
4   IOSLauncher                            0x103bb27ec 0x102fa0000 + 12658668
5   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
6   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 10:
0   ???                                 0x7ff7fff43814 ???

Thread 11:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104d71fb4 ???
2   libsystem_pthread.dylib                0x10f967a6f _pthread_cond_wait + 1249
3   IOSLauncher                            0x103bc3a91 0x102fa0000 + 12728977
4   IOSLauncher                            0x10350a7d4 0x102fa0000 + 5679060
5   IOSLauncher                            0x10350a77d [J]java.lang.Object.wait()V + 21 (Object.java:364)
6   IOSLauncher                            0x1034feadf [J]java.lang.Daemons$ReferenceQueueDaemon.run()V + 282 (Daemons$ReferenceQueueDaemon.java:131)
7   IOSLauncher                            0x1035232ba [J]java.lang.Thread.run()V + 28 (Thread.java:837)
8   IOSLauncher                            0x103bca20e 0x102fa0000 + 12755470
9   IOSLauncher                            0x103bbf624 0x102fa0000 + 12711460
10  IOSLauncher                            0x103bbf1f1 0x102fa0000 + 12710385
11  IOSLauncher                            0x103bc9757 0x102fa0000 + 12752727
12  IOSLauncher                            0x103be330a 0x102fa0000 + 12858122
13  IOSLauncher                            0x103be05e5 0x102fa0000 + 12846565
14  IOSLauncher                            0x103be465f 0x102fa0000 + 12863071
15  libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
16  libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 12:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104d71fb4 ???
2   libsystem_pthread.dylib                0x10f967a6f _pthread_cond_wait + 1249
3   IOSLauncher                            0x103bc3a91 0x102fa0000 + 12728977
4   IOSLauncher                            0x10350a7d4 0x102fa0000 + 5679060
5   IOSLauncher                            0x10350a792 [J]java.lang.Object.wait(J)V + 19 (Object.java:401)
6   IOSLauncher                            0x10352da78 */Reference; + 112 (ReferenceQueue.java:102)
7   IOSLauncher                            0x10352d776 0x102fa0000 + 5822326
8   IOSLauncher                            0x10352d9db */Reference; + 19 (ReferenceQueue.java:73)
9   IOSLauncher                            0x1034fdf82 [J]java.lang.Daemons$FinalizerDaemon.run()V + 140 (Daemons$FinalizerDaemon.java:171)
10  IOSLauncher                            0x1035232ba [J]java.lang.Thread.run()V + 28 (Thread.java:837)
11  IOSLauncher                            0x103bca20e 0x102fa0000 + 12755470
12  IOSLauncher                            0x103bbf624 0x102fa0000 + 12711460
13  IOSLauncher                            0x103bbf1f1 0x102fa0000 + 12710385
14  IOSLauncher                            0x103bc9757 0x102fa0000 + 12752727
15  IOSLauncher                            0x103be330a 0x102fa0000 + 12858122
16  IOSLauncher                            0x103be05e5 0x102fa0000 + 12846565
17  IOSLauncher                            0x103be465f 0x102fa0000 + 12863071
18  libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
19  libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 13:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104d71fb4 ???
2   libsystem_pthread.dylib                0x10f967a6f _pthread_cond_wait + 1249
3   IOSLauncher                            0x103bc3aba 0x102fa0000 + 12729018
4   IOSLauncher                            0x103bc3d9d 0x102fa0000 + 12729757
5   IOSLauncher                            0x103523c15 0x102fa0000 + 5782549
6   IOSLauncher                            0x103523bb1 [J]java.lang.Thread.sleep(JI)V + 17 (Thread.java:1009)
7   IOSLauncher                            0x103523b9e [J]java.lang.Thread.sleep(J)V + 19 (Thread.java:991)
8   IOSLauncher                            0x103520bec 0x102fa0000 + 5770220
9   IOSLauncher                            0x1034fe6f0 [J]java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(J)V + 165 (Daemons$FinalizerWatchdogDaemon.java:243)
10  IOSLauncher                            0x1034fe73e */Object;)Z + 46 (Daemons$FinalizerWatchdogDaemon.java:255)
11  IOSLauncher                            0x1034fe3dd [J]java.lang.Daemons$FinalizerWatchdogDaemon.run()V + 72 (Daemons$FinalizerWatchdogDaemon.java:213)
12  IOSLauncher                            0x1035232ba [J]java.lang.Thread.run()V + 28 (Thread.java:837)
13  IOSLauncher                            0x103bca20e 0x102fa0000 + 12755470
14  IOSLauncher                            0x103bbf624 0x102fa0000 + 12711460
15  IOSLauncher                            0x103bbf1f1 0x102fa0000 + 12710385
16  IOSLauncher                            0x103bc9757 0x102fa0000 + 12752727
17  IOSLauncher                            0x103be330a 0x102fa0000 + 12858122
18  IOSLauncher                            0x103be05e5 0x102fa0000 + 12846565
19  IOSLauncher                            0x103be465f 0x102fa0000 + 12863071
20  libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
21  libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 14:
0   ???                                 0x7ff7fff43814 ???

Thread 15:
0   ???                                 0x7ff7fff43814 ???

Thread 16:: com.apple.uikit.eventfetch-thread
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104b221dc ???
2   libsystem_kernel.dylib                 0x10faedce8 mach_msg + 56
3   CoreFoundation                         0x112b62e58 __CFRunLoopServiceMachPort + 319
4   CoreFoundation                         0x112b5d46e __CFRunLoopRun + 1249
5   CoreFoundation                         0x112b5ca90 CFRunLoopRunSpecific + 562
6   Foundation                             0x10e36de31 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 213
7   Foundation                             0x10e36e0aa -[NSRunLoop(NSRunLoop) runUntilDate:] + 72
8   UIKitCore                              0x11fdc2d1e -[UIEventFetcher threadMain] + 491
9   Foundation                             0x10e396f89 __NSThread__start__ + 1009
10  libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
11  libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 17:
0   ???                                 0x7ff7fff43814 ???

Thread 18:
0   ???                                 0x7ff7fff43814 ???

Thread 19:: AVAudioSession Notify Thread
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104b221dc ???
2   libsystem_kernel.dylib                 0x10faedce8 mach_msg + 56
3   CoreFoundation                         0x112b62e58 __CFRunLoopServiceMachPort + 319
4   CoreFoundation                         0x112b5d46e __CFRunLoopRun + 1249
5   CoreFoundation                         0x112b5ca90 CFRunLoopRunSpecific + 562
6   AudioSession                           0x11c3c916d CADeprecated::GenericRunLoopThread::Entry(void*) + 157
7   AudioSession                           0x11c3db20b CADeprecated::CAPThread::Entry(CADeprecated::CAPThread*) + 77
8   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
9   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 20:: AMCP Logging Spool
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x10581ad74 ???
2   caulk                                  0x1196e6bd8 caulk::mach::semaphore::wait_or_error() + 16
3   caulk                                  0x1196e205e caulk::concurrent::details::worker_thread::run() + 36
4   caulk                                  0x1196e20b2 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 41
5   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
6   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 21:
0   ???                                 0x7ff7fff43814 ???

Thread 22:
0   ???                                 0x7ff7fff43814 ???

Thread 23:
0   ???                                 0x7ff7fff43814 ???

Thread 24:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x10581ad74 ???
2   caulk                                  0x1196e6bd8 caulk::mach::semaphore::wait_or_error() + 16
3   caulk                                  0x1196e205e caulk::concurrent::details::worker_thread::run() + 36
4   caulk                                  0x1196e20b2 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 41
5   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
6   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 25:: com.apple.audio.IOThread.client
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104b221dc ???
2   libsystem_kernel.dylib                 0x10faedce8 mach_msg + 56
3   CoreAudio                              0x11ab50120 HALC_ProxyIOContext::IOWorkLoop() + 4762
4   CoreAudio                              0x11ab4e8c7 invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 63
5   CoreAudio                              0x11ac49ec6 HALB_IOThread::Entry(void*) + 72
6   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
7   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 26:: com.apple.CoreMotion.MotionThread
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104b221dc ???
2   libsystem_kernel.dylib                 0x10faedce8 mach_msg + 56
3   CoreFoundation                         0x112b62e58 __CFRunLoopServiceMachPort + 319
4   CoreFoundation                         0x112b5d46e __CFRunLoopRun + 1249
5   CoreFoundation                         0x112b5ca90 CFRunLoopRunSpecific + 562
6   CoreFoundation                         0x112b5dc3c CFRunLoopRun + 40
7   CoreMotion                             0x126de4288 0x126cc9000 + 1159816
8   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
9   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 27:: AURemoteIO::IOThread
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104b221dc ???
2   libsystem_kernel.dylib                 0x10faedce8 mach_msg + 56
3   libEmbeddedSystemAUs.dylib             0x133742955 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, AURemoteIO::IOThread::IOThread(AURemoteIO&, caulk::thread::attributes const&, caulk::mach::os_workgroup const&)::'lambda'(), std::__1::tuple<> > >(void*) + 593
4   libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
5   libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 28:
0   ???                                    0x104a9a940 ???
1   <translation info unavailable>         0x104d71fb4 ???
2   libsystem_pthread.dylib                0x10f967a6f _pthread_cond_wait + 1249
3   IOSLauncher                            0x103be4c17 0x102fa0000 + 12864535
4   IOSLauncher                            0x103bdcc30 0x102fa0000 + 12831792
5   IOSLauncher                            0x103bdc28d 0x102fa0000 + 12829325
6   IOSLauncher                            0x103bdaa27 0x102fa0000 + 12823079
7   IOSLauncher                            0x103bd2c62 0x102fa0000 + 12790882
8   IOSLauncher                            0x103bd2aad 0x102fa0000 + 12790445
9   IOSLauncher                            0x103bd424d 0x102fa0000 + 12796493
10  IOSLauncher                            0x103bd8ac1 0x102fa0000 + 12815041
11  IOSLauncher                            0x103bd8b91 0x102fa0000 + 12815249
12  IOSLauncher                            0x103bd8e1b 0x102fa0000 + 12815899
13  IOSLauncher                            0x103bd74ee 0x102fa0000 + 12809454
14  IOSLauncher                            0x103be2fdd 0x102fa0000 + 12857309
15  IOSLauncher                            0x103bbcb84 0x102fa0000 + 12700548
16  IOSLauncher                            0x103bb2a9c 0x102fa0000 + 12659356
17  IOSLauncher                            0x103bb2b29 0x102fa0000 + 12659497
18  IOSLauncher                            0x103bb093e 0x102fa0000 + 12650814
19  IOSLauncher                            0x1034bfa57 */Object; + 140 (TestApplicationListener.java:72)
20  IOSLauncher                            0x1034bf592 0x102fa0000 + 5371282
21  IOSLauncher                            0x1034bfcac 0x102fa0000 + 5373100
22  IOSLauncher                            0x1036483bb [J]java.util.concurrent.FutureTask.run()V + 448 (FutureTask.java:237)
23  IOSLauncher                            0x103653629 */ThreadPoolExecutor$Worker;)V + 222 (ThreadPoolExecutor.java:1112)
24  IOSLauncher                            0x103655dec [J]java.util.concurrent.ThreadPoolExecutor$Worker.run()V + 29 (ThreadPoolExecutor$Worker.java:587)
25  IOSLauncher                            0x1035232ba [J]java.lang.Thread.run()V + 28 (Thread.java:837)
26  IOSLauncher                            0x103bca20e 0x102fa0000 + 12755470
27  IOSLauncher                            0x103bbf624 0x102fa0000 + 12711460
28  IOSLauncher                            0x103bbf1f1 0x102fa0000 + 12710385
29  IOSLauncher                            0x103bc9757 0x102fa0000 + 12752727
30  IOSLauncher                            0x103be330a 0x102fa0000 + 12858122
31  IOSLauncher                            0x103be05e5 0x102fa0000 + 12846565
32  IOSLauncher                            0x103be465f 0x102fa0000 + 12863071
33  libsystem_pthread.dylib                0x10f9674e1 _pthread_start + 125
34  libsystem_pthread.dylib                0x10f962f6b thread_start + 15

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000c00  rcx: 0x0000000007000806  rdx: 0x0000000000000000
  rdi: 0x00000000ffffffff  rsi: 0x0000000000000000  rbp: 0x00000000ffffffff  rsp: 0x0000000000004803
   r8: 0x0000000307000806   r9: 0x00000000ffffffff  r10: 0x0000000000000c00  r11: 0x000060000278c128
  r12: 0x0000000000004803  r13: 0x000000030bc5f020  r14: 0x0000000000000000  r15: 0x0000000007000806
  rip: <unavailable>       rfl: 0x0000000000000283
 tmp0: 0xffffffffffffffff tmp1: 0x0000000104a9a948 tmp2: 0x000000010faedce8

TestApplicationListener.java:72 is the line byte[] buf = new byte[5366612];

dkimitsa commented 2 years ago

thanks for crash log. any luck to symbolicate stack positions above TestApplicationListener.java:72 ? sadly I still unable to reproduce it on simulator. would be great if you are able to share complete project with command line to start it. thx

Tom-Ski commented 1 year ago

Reopen with sample code please.