airsdk / Adobe-Runtime-Support

Report, track and discuss issues in Adobe AIR. Monitored by Adobe - and HARMAN - and maintained by the AIR community.
206 stars 11 forks source link

iOS Crash: Symbol not found, probably Network.framework #3174

Open takazawa-gg opened 7 months ago

takazawa-gg commented 7 months ago

Problem Description

We create and use ANE for advertising. We have recently updated several Ad Network SDKs to comply with Apple's Privacy Manifest.

Apps using the new SDK crash when initializing ads.

When I check the crash log, it seems like the error is about missing symbols included in Network.framework. (The real cause may lie somewhere else.)

I also contacted Ad Network and they told me that they had updated the new SDK version to use Network.framework, but they couldn't tell me anything else. Unfortunately, they say AIR is not supported.

Network.framework is specified in linkerOption of ANE's platform.xml. When you check the app information with otool, Network.framework is displayed.

What am I missing? I would appreciate your help.

AIR SDK: 50.2.4.4
Device: iPhone 14 Pro (iOS 17.3.1), iPhone 6 Plus (iOS 12.5.7)

20240412_ios_crash.zip

Crash log: iPhone 14 Pro (iOS 17.3.1)

Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: DYLD 9 
missing symbol called

Triggered by Thread:  1

Thread 1 name:   Dispatch queue: FADNetworkMonitor
Thread 1 Crashed:
0   dyld                                   0x1c7a7ecfc __terminate_with_payload + 8
1   dyld                                   0x1c7a868b8 abort_with_payload_wrapper_internal + 136
2   dyld                                   0x1c7a868cc abort_with_payload + 16
3   dyld                                   0x1c7a4ae78 dyld4::halt(char const*, dyld4::StructuredError const*) + 304
4   dyld                                   0x1c7a64278 dyld4::APIs::_dyld_missing_symbol_abort() + 28
5   air                                    0x101b9933c +[FADNetworkState buildFromNWPath:] + 32
6   air                                    0x101b996b8 -[FADNetworkMonitor onUpdateNetworkPath:] + 48
7   air                                    0x101b99670 __36-[FADNetworkMonitor startMonitoring]_block_invoke + 48
8   Network                                0x1a5968780 __nw_path_evaluator_call_update_handler_block_invoke + 200
9   libdispatch.dylib                      0x1acc746a8 _dispatch_call_block_and_release + 32
10  libdispatch.dylib                      0x1acc76300 _dispatch_client_callout + 20
11  libdispatch.dylib                      0x1acc7d894 _dispatch_lane_serial_drain + 748
12  libdispatch.dylib                      0x1acc7e3c4 _dispatch_lane_invoke + 380
13  libdispatch.dylib                      0x1acc89004 _dispatch_root_queue_drain_deferred_wlh + 288
14  libdispatch.dylib                      0x1acc88878 _dispatch_workloop_worker_thread + 404
15  libsystem_pthread.dylib                0x20edaf964 _pthread_wqthread + 288
16  libsystem_pthread.dylib                0x20edafa04 start_wqthread + 8

Crash log: iPhone 6 Plus (iOS 12.5.7)

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Termination Description: DYLD, Symbol not found: _nw_path_get_status | Referenced from: /var/containers/Bundle/Application/7DB2709D-AF42-4961-BF49-3B0628F17745/air.app/air | Expected in: dyld shared cache
Triggered by Thread:  26

Thread 26 name:  Dispatch queue: FADNetworkMonitor
Thread 26 Crashed:
0   dyld                            0x0000000104d6e418 0x104d2c000 + 271384
1   dyld                            0x0000000104d6da58 0x104d2c000 + 268888
2   dyld                            0x0000000104d6da88 0x104d2c000 + 268936
3   dyld                            0x0000000104d308f8 0x104d2c000 + 18680
4   dyld                            0x0000000104d30a14 0x104d2c000 + 18964
5   libdyld.dylib                   0x000000018143c848 0x181439000 + 14408
6   air                             0x0000000101ccd33c 0x1005d0000 + 24105788
7   air                             0x0000000101ccd6b8 0x1005d0000 + 24106680
8   air                             0x0000000101ccd670 0x1005d0000 + 24106608
9   libnetwork.dylib                0x0000000182b81eb0 0x1828f9000 + 2657968
10  libdispatch.dylib               0x0000000181428a38 0x1813c9000 + 391736
11  libdispatch.dylib               0x00000001814297d4 0x1813c9000 + 395220
12  libdispatch.dylib               0x00000001813d2324 0x1813c9000 + 37668
13  libdispatch.dylib               0x00000001813d2e40 0x1813c9000 + 40512
14  libdispatch.dylib               0x00000001813db4ac 0x1813c9000 + 74924
15  libsystem_pthread.dylib         0x000000018160a114 0x1815fe000 + 49428
16  libsystem_pthread.dylib         0x000000018160ccd4 0x1815fe000 + 60628

platform.xml

<option>-framework Network</option>

otool

% otool -L Payload/air.app/air
Payload/air.app/air:
        :
    /System/Library/Frameworks/Network.framework/Network (compatibility version 1.0.0, current version 1.0.0)
takazawa-gg commented 6 months ago

@ajwfrost I don't know if this problem is a problem with the way we create ANE or with AIR. Could you please let me know if you have any clues?