'App crashing due to this error but function found based on error logs seem fine to me
Im dealing with this type of issue for the time and been stuck at this for weeks now. I already posted about finding location of error & tried to solve on my own after finding however I don't know what might be causing error here. Everything seems to be fine. Here's the error log file code:
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000018569e1a8
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: SIGNAL 5 Trace/BPT trap: 5
Terminating Process: exc handler [2868]
Triggered by Thread: 0
Kernel Triage:
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get
VM - Compressor failed a blocking pager_get
Thread 0 name:
Thread 0 Crashed:
0 libswiftCore.dylib 0x000000018569e1a8 closure #1 in closure #1 in closure #1 in _assertionFailure(_:_:file:line:flags:) + 300 (AssertCommon.swift:96)
1 libswiftCore.dylib 0x000000018569df48 closure #1 in closure #1 in _assertionFailure(_:_:file:line:flags:) + 220 (AssertCommon.swift:89)
2 libswiftCore.dylib 0x000000018569d83c _assertionFailure(_:_:file:line:flags:) + 232 (AssertCommon.swift:85)
3 TestAlertApp 0x0000000102992da4 0x102834000 + 1437092
4 TestAlertApp 0x0000000102992320 0x102834000 + 1434400
5 TestAlertApp 0x000000010288c8a0 0x102834000 + 362656
6 AudioToolbox 0x000000018b839d1c AudioSessionRequestRecordPermission + 76 (AudioSession.cpp:0)
7 AudioSession 0x000000018a0640a8 softLink_AudioSessionRequestRecordPermission + 52 (SoftLinking_AudioToolbox_iOS.mm:48)
8 AudioSession 0x000000018a05af74 -[AVAudioSession requestRecordPermission:] + 116 (AVAudioSession_iOS.mm:1328)
9 TestAlertApp 0x0000000102991f50 0x102834000 + 1433424
10 TestAlertApp 0x000000010299187c 0x102834000 + 1431676
11 TestAlertApp 0x0000000102994f70 0x102834000 + 1445744
12 TestAlertApp 0x000000010288c37c 0x102834000 + 361340
13 TestAlertApp 0x0000000102b03b98 closure #1 in AlertMeViewController.initiateAlertMe(_:_:) + 1836 (AlertMeViewController.swift:311)
14 TestAlertApp 0x00000001029e724c 0x102834000 + 1782348
15 TestAlertApp 0x0000000102cfbb64 closure #1 in static SLWebRequest.post(url:params:headers:completionHandler:) + 640 (SLWebRequest.swift:55)
16 Alamofire 0x000000010352bcb0 partial apply for specialized closure #2 in closure #2 in closure #3 in closure #1 in DownloadRequest.response<A>(queue:responseSerializer:completionHandler:) + 48
17 Alamofire 0x00000001034c441c thunk for @escaping @callee_guaranteed () -> () + 20 (<compiler-generated>:0)
18 libdispatch.dylib 0x000000018091d924 _dispatch_call_block_and_release + 32 (init.c:1517)
19 libdispatch.dylib 0x000000018091f670 _dispatch_client_callout + 20 (object.m:560)
20 libdispatch.dylib 0x000000018092db70 _dispatch_main_queue_callback_4CF + 944 (inline_internal.h:2601)
21 CoreFoundation 0x0000000180c65d84 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 (CFRunLoop.c:1795)
22 CoreFoundation 0x0000000180c1ff5c __CFRunLoopRun + 2540 (CFRunLoop.c:3144)
23 CoreFoundation 0x0000000180c33468 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268)
24 GraphicsServices 0x000000019c7d738c GSEventRunModal + 164 (GSEvent.c:2200)
25 UIKitCore 0x00000001835d65d0 -[UIApplication _run] + 1100 (UIApplication.m:3493)
26 UIKitCore 0x0000000183354f74 UIApplicationMain + 364 (UIApplication.m:5047)
27 TestAlertApp 0x000000010289654c 0x102834000 + 402764
28 dyld 0x00000001032adaa4 start + 520 (dyldMain.cpp:879)
So based on this error, I found this code:
func initAudio(_ alertType: String) {
if self.checkPermission() == 0 {
if AVAudioSession.sharedInstance().outputVolume < 0.0625 {
let soundid = kSystemSoundID_Vibrate
AudioServicesPlaySystemSound(soundid)
self.deleteAllRecordings()
}else{
self.alerttype = alertType
self.deleteAllRecordings()
}
}else if self.checkPermission() == 1 {
gotoPermission(1)
}else{
gotoPermission(2)
}
}
Im totally lost here what might be wrong. Is it caused by AVAudioSession? or the two functions, self.deleteAllRecordings() or gotoPermission(1) or gotoPermission(2)?
Here's the code for deleteAllRecordings() just in case:
func deleteAllRecordings() {
print("\(#function)")
if self.recorder != nil {
self.recorder.stop()
}
let docsDir =
NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let fileManager = FileManager.default
do {
let files = try fileManager.contentsOfDirectory(atPath: docsDir)
let recordings = files.filter( { (name: String) -> Bool in
return name.hasSuffix("wav")
})
for i in 0 ..< recordings.count {
let path = docsDir + "/" + recordings[i]
print("removing \(path)")
do {
try fileManager.removeItem(atPath: path)
} catch {
NSLog("could not remove \(path)")
}
}
self.record()
} catch {
print("could not get contents of directory at \(docsDir)")
print(error.localizedDescription)
}
}
and code for gotoPermission():
func gotoPermission(_ grant: Int) {
if grant == 1 {
self.askForPermission()
} else {
if !self.initiatorStatus.InAlertMe && !self.initiatorStatus.InTimedAlert{
self.beepStartPlayer.play()
DispatchQueue.main.async {
Timer.scheduledTimer(withTimeInterval: Double(User().cUser.RecordSeconds), repeats: false, block: { _ in
if self.initiatorStatus.InAlert == true {
self.startBeep()
}
})
}
}
}
}
Is there something that might cause te crash in above code? According to log file, this is where the error occurs.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
