Очень редкий периодический сбой в AVFoundation.AVAudioPlayerNode.play() (AVAudioPlayerNode.mm:660)IOS

Программируем под IOS
Ответить
Anonymous
 Очень редкий периодический сбой в AVFoundation.AVAudioPlayerNode.play() (AVAudioPlayerNode.mm:660)

Сообщение Anonymous »

Последние 8+ месяцев в моем приложении происходил сбой. Хотя я горжусь тем, что могу отлаживать и исправлять что угодно, мне ни разу не удалось воспроизвести этот сбой. Поскольку это код, который выполняется МНОГО, и я вижу только 2-3 случайных сбоя в неделю, о которых сообщается по этому поводу, моя интуиция подсказывает, что это проблема синхронизации многопоточности с «чем-то». Я внес множество изменений в код, пытаясь исправить это, но по состоянию на эту неделю проблема остается.
Хотелось бы точно знать, почему указанная строка кода в AVFoundation выдает ошибку. внутреннее исключение или как я могу найти этот ответ самостоятельно. Ниже приведена соответствующая часть трассировки стека. Поделиться самим кодом нереально, поэтому надеемся, что это станет для кого-то сигналом.
В качестве фона это приложение для музыкального проигрывателя. Этот код выполняется при нажатии кнопки воспроизведения в приложении (т. е. он МНОГО работает правильно). Непосредственно перед этим тестирование audioEngine.isRunning возвращает TRUE, а AVAudioPlayerNode прикрепляется к движку и т. д. Другими словами, если бы это было что-то очевидное, это немедленно привело бы к сбою.< /p>

Код: Выделить всё

Hardware Model:      iPhone16,2
AppVariant:          1:iPhone16,2:17
Code Type:           ARM-64 (Native)
Role:                Background

Date/Time:           2024-03-05 11:03:12.9509 +1000
Launch Time:         2024-03-02 18:01:24.2495 +1000
OS Version:          iPhone OS 17.3.1 (21D61)
Release Type:        User
Baseband Version:    1.40.01
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: SIGNAL 6 Abort trap: 6

Triggered by Thread:  0

Last Exception Backtrace:
0   CoreFoundation                  0x1b0a8a678 __exceptionPreprocess + 164 (NSException.m:249)
1   libobjc.A.dylib                 0x1a8d07c80 objc_exception_throw + 60 (objc-exception.mm:356)
2   CoreFoundation                  0x1b0b0f424 +[NSException raise:format:arguments:] + 96 (NSException.m:0)
3   AVFAudio                        0x1c9dd2d74 AVAE_RaiseException(NSString*, ...) + 52 (AVAEInternal.h:69)
4   AVFAudio                        0x1c9eaed5c AVAudioPlayerNodeImpl::StartImpl(AVAudioTime*) + 2524 (AVAudioPlayerNode.mm:660)
5   AVFAudio                        0x1c9dd31e4 AVAudioNodeImplBase::Start(AVAudioTime*) + 64 (AVAudioNodeImpl.h:176)
6   AVFAudio                        0x1c9eab440 -[AVAudioPlayerNode play] + 68 (AVAudioPlayerNode.mm:1138)
Сделали все, кроме более раннего запроса StackOverflow или переписывания всего механизма воспроизведения, чтобы исправить это.

Подробнее здесь: https://stackoverflow.com/questions/781 ... -avaudiopl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»