Bonjour,
J'ai un petit soucis, je développe ma première application en obj-c/cocoa. Mais j'ai un petit soucis, elle crash tous les jours à ± la même heure. En gros je lance l'application le matin quand j'arrive au boulot et plante vers 17h.
L'application lance une commande console toutes les x minutes utilisant la méthode suivante:
Je débute en obj-c/cocoa donc il y a sûrement quelque chose qui m'échappe, si quelqu'un a une idée. L'application utilise le garbage collector.
Le crash log:
J'ai un petit soucis, je développe ma première application en obj-c/cocoa. Mais j'ai un petit soucis, elle crash tous les jours à ± la même heure. En gros je lance l'application le matin quand j'arrive au boulot et plante vers 17h.
L'application lance une commande console toutes les x minutes utilisant la méthode suivante:
Bloc de code:
- (NSString*) executeCommand: (NSString*)cmd: (NSArray*) args
{
NSLog (@"CMD: %@ %@", cmd, [args componentsJoinedByString:@" "]);
NSTask *task = [NSTask new];
[task setLaunchPath:cmd];
[task setArguments:args];
NSPipe *pipe = [NSPipe pipe];
[task setStandardOutput:pipe];
[task launch];
NSFileHandle *file;
file = [pipe fileHandleForReading];
NSData *data = [file readDataToEndOfFile];
[task waitUntilExit];
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog (@"RESULT: \n%@", string);
return string;
}
Je débute en obj-c/cocoa donc il y a sûrement quelque chose qui m'échappe, si quelqu'un a une idée. L'application utilise le garbage collector.
Le crash log:
Bloc de code:
Process: ProxySwitcher [10813]
Path: /Applications/ProxySwitcher.app/Contents/MacOS/ProxySwitcher
Identifier: com.ftpix.ProxySwitcher
Version: 1.0 (1.0)
Code Type: X86-64 (Native)
Parent Process: launchd [214]
Date/Time: 2012-03-05 13:47:15.645 +0800
OS Version: Mac OS X 10.7.3 (11D50)
Report Version: 9
Crashed Thread: 2
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
objc[10813]: garbage collection is OFF
*** Terminating app due to uncaught exception 'NSFileHandleOperationException', reason: '*** -[NSConcreteFileHandle readDataOfLength:]: Bad file descriptor'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff8d84ffc6 __exceptionPreprocess + 198
1 libobjc.A.dylib 0x00007fff85dbed5e objc_exception_throw + 43
2 CoreFoundation 0x00007fff8d84fdfa +[NSException raise:format:arguments:] + 106
3 CoreFoundation 0x00007fff8d84fd84 +[NSException raise:format:] + 116
4 Foundation 0x00007fff88184fce _NSFileHandleRaiseOperationException + 130
5 Foundation 0x00007fff8812418a -[NSConcreteFileHandle readDataOfLength:] + 99
6 Foundation 0x00007fff88124125 -[NSConcreteFileHandle readDataToEndOfFile] + 25
7 ProxySwitcher 0x0000000109f107b0 -[CommandLine executeCommand::] + 400
8 ProxySwitcher 0x0000000109f109b2 -[CommandLine isProxyOn::] + 290
9 ProxySwitcher 0x0000000109f10db0 -[Proxy isOn:] + 112
10 ProxySwitcher 0x0000000109f11290 -[ProxyMenu isOn] + 64
11 ProxySwitcher 0x0000000109f11205 -[ProxyMenu initWithProxy:andParent:] + 261
12 ProxySwitcher 0x0000000109f0face -[ps_AppDelegate refreshMenu] + 798
13 ProxySwitcher 0x0000000109f1053b -[ps_AppDelegate backgroundRefreshInnerThread] + 43
14 Foundation 0x00007fff8811074e -[NSThread main] + 68
15 Foundation 0x00007fff881106c6 __NSThread__main__ + 1575
16 libsystem_c.dylib 0x00007fff88b448bf _pthread_start + 335
17 libsystem_c.dylib 0x00007fff88b47b75 thread_start + 13
)
terminate called throwing an exception
abort() called
Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff828ed67a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff828ecd71 mach_msg + 73
2 com.apple.CoreFoundation 0x00007fff8d7dc6fc __CFRunLoopServiceMachPort + 188
3 com.apple.CoreFoundation 0x00007fff8d7e4e64 __CFRunLoopRun + 1204
4 com.apple.CoreFoundation 0x00007fff8d7e4676 CFRunLoopRunSpecific + 230
5 com.apple.HIToolbox 0x00007fff8a49a31f RunCurrentEventLoopInMode + 277
6 com.apple.HIToolbox 0x00007fff8a4a15c9 ReceiveNextEventCommon + 355
7 com.apple.HIToolbox 0x00007fff8a4a1456 BlockUntilNextEventMatchingListInMode + 62
8 com.apple.AppKit 0x00007fff89819f5d _DPSNextEvent + 659
9 com.apple.AppKit 0x00007fff89819861 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135
10 com.apple.AppKit 0x00007fff8981619d -[NSApplication run] + 470
11 com.apple.AppKit 0x00007fff89a94b88 NSApplicationMain + 867
12 com.ftpix.ProxySwitcher 0x0000000109f0f3b2 main + 34
13 com.ftpix.ProxySwitcher 0x0000000109f0f384 start + 52
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x00007fff828ef7e6 kevent + 10
1 libdispatch.dylib 0x00007fff82a655be _dispatch_mgr_invoke + 923
2 libdispatch.dylib 0x00007fff82a6414e _dispatch_mgr_thread + 54
Thread 2 Crashed:
0 libsystem_kernel.dylib 0x00007fff828eece2 __pthread_kill + 10
1 libsystem_c.dylib 0x00007fff88b467d2 pthread_kill + 95
2 libsystem_c.dylib 0x00007fff88b37a7a abort + 143
3 libc++abi.dylib 0x00007fff8ac407bc abort_message + 214
4 libc++abi.dylib 0x00007fff8ac3dfcf default_terminate() + 28
5 libobjc.A.dylib 0x00007fff85dbf1b9 _objc_terminate + 94
6 libc++abi.dylib 0x00007fff8ac3e001 safe_handler_caller(void (*)()) + 11
7 libc++abi.dylib 0x00007fff8ac3e05c std::terminate() + 16
8 libc++abi.dylib 0x00007fff8ac3f152 __cxa_throw + 114
9 libobjc.A.dylib 0x00007fff85dbee7a objc_exception_throw + 327
10 com.apple.CoreFoundation 0x00007fff8d84fdfa +[NSException raise:format:arguments:] + 106
11 com.apple.CoreFoundation 0x00007fff8d84fd84 +[NSException raise:format:] + 116
12 com.apple.Foundation 0x00007fff88184fce _NSFileHandleRaiseOperationException + 130
13 com.apple.Foundation 0x00007fff8812418a -[NSConcreteFileHandle readDataOfLength:] + 99
14 com.apple.Foundation 0x00007fff88124125 -[NSConcreteFileHandle readDataToEndOfFile] + 25
15 com.ftpix.ProxySwitcher 0x0000000109f107b0 -[CommandLine executeCommand::] + 400
16 com.ftpix.ProxySwitcher 0x0000000109f109b2 -[CommandLine isProxyOn::] + 290
17 com.ftpix.ProxySwitcher 0x0000000109f10db0 -[Proxy isOn:] + 112
18 com.ftpix.ProxySwitcher 0x0000000109f11290 -[ProxyMenu isOn] + 64
19 com.ftpix.ProxySwitcher 0x0000000109f11205 -[ProxyMenu initWithProxy:andParent:] + 261
20 com.ftpix.ProxySwitcher 0x0000000109f0face -[ps_AppDelegate refreshMenu] + 798
21 com.ftpix.ProxySwitcher 0x0000000109f1053b -[ps_AppDelegate backgroundRefreshInnerThread] + 43
22 com.apple.Foundation 0x00007fff8811074e -[NSThread main] + 68
23 com.apple.Foundation 0x00007fff881106c6 __NSThread__main__ + 1575
24 libsystem_c.dylib 0x00007fff88b448bf _pthread_start + 335
25 libsystem_c.dylib 0x00007fff88b47b75 thread_start + 13
Thread 3:
0 libsystem_kernel.dylib 0x00007fff828ef192 __workq_kernreturn + 10
1 libsystem_c.dylib 0x00007fff88b46594 _pthread_wqthread + 758
2 libsystem_c.dylib 0x00007fff88b47b85 start_wqthread + 13
Thread 4:
0 libsystem_kernel.dylib 0x00007fff828ef192 __workq_kernreturn + 10
1 libsystem_c.dylib 0x00007fff88b46594 _pthread_wqthread + 758
2 libsystem_c.dylib 0x00007fff88b47b85 start_wqthread + 13
Thread 2 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000006 rcx: 0x000000010bc98468 rdx: 0x0000000000000000
rdi: 0x0000000000004403 rsi: 0x0000000000000006 rbp: 0x000000010bc98490 rsp: 0x000000010bc98468
r8: 0x00007fff71addfb8 r9: 0x000000010bc97ef8 r10: 0x00007fff828eed0a r11: 0xffffff80002d8220
r12: 0x00007fff726a59c8 r13: 0x000000010bc9a000 r14: 0x000000010bc9a000 r15: 0x000000010bc985e0
rip: 0x00007fff828eece2 rfl: 0x0000000000000246 cr2: 0x00007fff71addfb8
Logical CPU: 0