Crash on devices running iOS 8.4 - cocos2d-iphone

Can anyone help here please?
I submitted version 2 of my app only to have it rejected as it crashed on a number of devices running 8.4 ….
{"bundleID":"properties.axxxxxxx.xxxxxxxxx”,”app_name”:”My App”,”share_with_app_devs":false,"name”:”My App”,”app_version":"2.0","is_first_party":false,"os_version":"iPhone OS 8.4 (12H143)","bug_type":"109","slice_uuid":"c94c9011-955b-3d2c-b949- 5797aefef990","build_version":"2.2","adam_id":0}
Incident Identifier: A3B5332C-0A28-4E48-BFEE-F1FB95495715
CrashReporter Key: 09b24a3f5088bdc521191691c1969f4d0b4b4f7a
Hardware Model: iPhone5,3
Process: My App [1147]
Path: /private/var/mobile/Containers/Bundle/Application/6E6E3FFA-11CD-4DA0-995D-D46C8E2C9624/My App.app/My App
Identifier: properties.axxxxxxx.xxxxxxxx
Version: 2.2 (2.0)
Code Type: ARM (Native)
Parent Process: launchd.development [1]
Date/Time: 2015-09-20 01:23:11.929 -0700
Launch Time: 2015-09-20 01:23:11.557 -0700
OS Version: iOS 8.4 (12H143)
UDID: b01ae3fde269ba2ac345c6dae55c505ad34d45ae
Report Version: 105
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread: 0
Filtered syslog:
2015-09-20 01:23:11.684 Alien Rabbits[1147]: <Error> assertion failed: 12H143: libxpc.dylib + 51915 [88A50DD0-8E7B-3CD6-AC30-BA113A415E4F]: 0x7d
2015-09-20 01:23:11.885 Alien Rabbits[1147]: <Error> +[NSMutableArray newMutableArrayUsingWeakReferencesWithCapacity:]: unrecognized selector sent to class 0x31e2aaf4
2015-09-20 01:23:11.888 Alien Rabbits[1147]: <Error> *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSMutableArray newMutableArrayUsingWeakReferencesWithCapacity:]: unrecognized selector sent to class 0x31e2aaf4'
*** First throw call stack:
(0x22a86fef 0x314a2c8b 0x22a8c325 0x22a8a327 0x229b9e78 0x610f5 0xb0507 0x91771 0x9116b 0xa3599 0x2b023 0x2616f243 0x26365ad9 0x26368199 0x26372e19 0x2636693b 0x2973eec9 0x22a4cfd5 0x22a4c299 0x22a4add3 0x22997201 0x22997013 0x26168e17 0x26163a09 0x2aecb 0x31a54aaf)
Last Exception Backtrace:
(0x22a86fea 0x314a2c86 0x22a8c320 0x22a8a322 0x229b9e74 0x610f0 0xb0502 0x9176c 0x91166 0xa3594 0x2b01e 0x2616f23e 0x26365ad4 0x26368194 0x26372e14 0x26366936 0x2973eec4 0x22a4cfd0 0x22a4c294 0x22a4adce 0x229971fc 0x2299700e 0x26168e12 0x26163a04 0x2aec6 0x31a54aaa)
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x31b1edf0 0x31b0a000 + 85488
1 libsystem_pthread.dylib 0x31b9dcc2 0x31b9a000 + 15554
2 libsystem_c.dylib 0x31aba904 0x31a70000 + 305412
3 libc++abi.dylib 0x30dc29c4 0x30dc2000 + 2500
4 libc++abi.dylib 0x30ddc66c 0x30dc2000 + 108140
5 libobjc.A.dylib 0x314a2f22 0x3149c000 + 28450
6 libc++abi.dylib 0x30dd9de0 0x30dc2000 + 97760
7 libc++abi.dylib 0x30dd98aa 0x30dc2000 + 96426
8 libobjc.A.dylib 0x314a2dce 0x3149c000 + 28110
9 CoreFoundation 0x22997298 0x2297f000 + 98968
10 CoreFoundation 0x2299700e 0x2297f000 + 98318
11 UIKit 0x26168e12 0x260f4000 + 478738
12 UIKit 0x26163a04 0x260f4000 + 457220
13 My App 0x0002aec6 0x23000 + 32454
14 libdyld.dylib 0x31a54aac 0x31a53000 + 6828
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x31b0b224 0x31b0a000 + 4644
1 libdispatch.dylib 0x31a400ec 0x31a32000 + 57580
2 libdispatch.dylib 0x31a34d36 0x31a32000 + 11574
Thread 2 name: Dispatch queue: FBSSerialQueue
Thread 2:
0 libsystem_kernel.dylib 0x31b0b4c4 0x31b0a000 + 5316
1 libdispatch.dylib 0x31a3e5da 0x31a32000 + 50650
2 FrontBoardServices 0x2973eea6 0x29729000 + 89766
3 libdispatch.dylib 0x31a332e0 0x31a32000 + 4832
4 libdispatch.dylib 0x31a3b724 0x31a32000 + 38692
5 libdispatch.dylib 0x31a35aa8 0x31a32000 + 15016
6 libdispatch.dylib 0x31a3cf9c 0x31a32000 + 44956
7 libdispatch.dylib 0x31a3e3be 0x31a32000 + 50110
8 libsystem_pthread.dylib 0x31b9adbe 0x31b9a000 + 3518
9 libsystem_pthread.dylib 0x31b9ab10 0x31b9a000 + 2832
Thread 3:
0 libsystem_kernel.dylib 0x31b1f9c0 0x31b0a000 + 88512
1 libsystem_pthread.dylib 0x31b9ae38 0x31b9a000 + 3640
2 libsystem_pthread.dylib 0x31b9ab10 0x31b9a000 + 2832
Thread 4:
0 libsystem_kernel.dylib 0x31b1f9c0 0x31b0a000 + 88512
1 libsystem_pthread.dylib 0x31b9ae38 0x31b9a000 + 3640
2 libsystem_pthread.dylib 0x31b9ab10 0x31b9a000 + 2832
Thread 5:
0 libsystem_kernel.dylib 0x31b1f9c0 0x31b0a000 + 88512
1 libsystem_pthread.dylib 0x31b9ae38 0x31b9a000 + 3640
2 libsystem_pthread.dylib 0x31b9ab10 0x31b9a000 + 2832
Thread 0 crashed with ARM Thread State (32-bit):
r0: 0x00000000 r1: 0x00000000 r2: 0x00000000 r3: 0x00000003
r4: 0x00000006 r5: 0x344be9dc r6: 0x344aa840 r7: 0x003233c8
r8: 0x16e86fe0 r9: 0x00000000 r10: 0x344a9074 r11: 0x16e87004
ip: 0x00000148 sp: 0x003233bc lr: 0x31b9dcc7 pc: 0x31b1edf0
cpsr: 0x00080010
No problems for me when running the app on an iPhone 6 with 8.4 and on a variety of devices running 8.0
The only way I have found to replicate the crash is running a device iPhone 4s on 8.0 using the profile tool and then I get:
2015-09-27 17:54:47.434 My App[9161:1516779] +[NSMutableArray newMutableArrayUsingWeakReferencesWithCapacity:]: unrecognized selector sent to class 0x393e5960
2015-09-27 17:54:47.444 My APP[9161:1516779] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSMutableArray newMutableArrayUsingWeakReferencesWithCapacity:]: unrecognized selector sent to class 0x393e5960'
*** First throw call stack:
(0x2b20a5f7 0x38a7cc77 0x2b20f9d9 0x2b20d999 0x2b13eb88 0xc4501 0x11383b 0xf4a71 0xf4463 0x1068a9 0x8e523 0x2e719469 0x2e90e515 0x2e910a49 0x2e91b2f9 0x2e90f2eb 0x319800c9 0x2b1d0ffd 0x2b1d02c1 0x2b1cee1b 0x2b11bb31 0x2b11b943 0x2e713127 0x2e70df21 0x8e3cb 0x39018aaf)
libc++abi.dylib:
terminating with uncaught exception of type NSException
The app will run on that device if the profile tool is not used. When it is loaded with the profile tool it will crashes when phone is disconnected connected.
The app is crashing before its finished launching from:
-(BOOL) application: (UIApplication*) application didFinishLaunchingWithOptions: (NSDictionary*) launchOptions
and it’s the call to Initialise OpenAL:
[OALSimpleAudio sharedInstance];
in the cocos2d CCAppDelegate.m file that triggers the crash.
If I take this call out, the crash happens a second or so later and the profile tool gives;
2015-09-27 18:38:52.634 My App[9188:1523335] -[EAGLContext ensureCurrentContext]: unrecognized selector sent to instance 0x167918e0
2015-09-27 18:38:52.667 My App[9188:1523335] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[EAGLContext ensureCurrentContext]: unrecognized selector sent to instance 0x167918e0'
*** First throw call stack:
(0x2b20a5f7 0x38a7cc77 0x2b20fabd 0x2b20d999 0x2b13eb88 0x199c65 0x191f6d 0x19a063 0x19487f 0x10b4ad 0x10aa33 0x10a9fd 0x10aa75 0x1226f1 0x12341b 0x123225 0x1224e5 0x121b63 0x122a1d 0x7d5c9 0xf4ffd 0xa34b9 0xd799f 0x2e6ac19f 0x2e0d7f65 0x2e0d3951 0x2e0d37d9 0x2e0d31c7 0x2e0d2fd1 0x2e91011d 0x2e910eb5 0x2e91b2f9 0x2e90f2eb 0x319800c9 0x2b1d0ffd 0x2b1d02c1 0x2b1cea5f 0x2b11bb31 0x2b11b943 0x2e713127 0x2e70df21 0x7d3fb 0x39018aaf)
libc++abi.dylib:
terminating with uncaught exception of type NSException
I’m using:
xcode 6.2
compiling to 8.0
cocos2d 3.2.1
Hours spent so far trying to resolve this.
Thanks

Related

How to fix the crash in CFNotificationCenterAddObserver for NSWorkspaceDidActivateApplicationNotification?

Not very much accustom to Objective C, hence trying to observe NSWorkspaceDidActivateApplicationNotification event in C++ code with CFNotificationCenterAddObserver() method.
#include<CoreFoundation/CFNotificationCenter.h>
#include<iostream>
#include<QGuiApplication>
void Callback (CFNotificationCenterRef center, void* observer, CFNotificationName name,
const void* object,
CFDictionaryRef userInfo)
{
std::cout << "Hello World\n";
//NSLog(#"New application: %#", [[name userInfo] objectForKey:NSWorkspaceApplicationKey]);
}
int main (int argc, char** argv)
{
QGuiApplication application(argc, argv);
std::cout << "Add observer\n";
CFNotificationCenterAddObserver(CFNotificationCenterGetDistributedCenter(), nullptr, Callback,
CFStringRef("NSWorkspaceDidActivateApplicationNotification"), nullptr,
CFNotificationSuspensionBehaviorDeliverImmediately);
std::cout << "Added ...\n";
return application.exec();
}
However it results in below crash. If I try to run in debug mode, then it sometimes shows the below crash or sometimes get stuck in that function itself.
Add observer
2021-12-03 21:44:24.527086+0530 Test[17288:982994] -[__NSTaggedDate length]: unrecognized selector sent to instance 0x100007c65
2021-12-03 21:44:24.527916+0530 Test[17288:982994] [General] An uncaught exception was raised
2021-12-03 21:44:24.527943+0530 Test[17288:982994] [General] -[__NSTaggedDate length]: unrecognized selector sent to instance 0x100007c65
2021-12-03 21:44:24.528044+0530 Test[17288:982994] [General] (
0 CoreFoundation 0x00007fff35570035 __exceptionPreprocess + 256
1 libobjc.A.dylib 0x00007fff5fc80a17 objc_exception_throw + 48
2 CoreFoundation 0x00007fff355e9fce -[NSObject(NSObject) __retain_OA] + 0
3 CoreFoundation 0x00007fff35511e9f ___forwarding___ + 1485
4 CoreFoundation 0x00007fff35511848 _CF_forwarding_prep_0 + 120
5 CoreFoundation 0x00007fff355aca4c __CFXNotificationRegisterObserver + 588
6 CoreFoundation 0x00007fff3548a037 CFNotificationCenterAddObserver + 204
7 Test 0x00000001000066a1 main + 129
8 libdyld.dylib 0x00007fff614503d5 start + 1
)
2021-12-03 21:44:24.528241+0530 Test[17288:982994] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSTaggedDate length]: unrecognized selector sent to instance 0x100007c65'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff35570035 __exceptionPreprocess + 256
1 libobjc.A.dylib 0x00007fff5fc80a17 objc_exception_throw + 48
2 CoreFoundation 0x00007fff355e9fce -[NSObject(NSObject) __retain_OA] + 0
3 CoreFoundation 0x00007fff35511e9f ___forwarding___ + 1485
4 CoreFoundation 0x00007fff35511848 _CF_forwarding_prep_0 + 120
5 CoreFoundation 0x00007fff355aca4c __CFXNotificationRegisterObserver + 588
6 CoreFoundation 0x00007fff3548a037 CFNotificationCenterAddObserver + 204
7 Test 0x00000001000066a1 main + 129
8 libdyld.dylib 0x00007fff614503d5 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
How to fix this?
Use CFSTR macro to create a CFStringRef from a constant C string like so:
CFSTR("NSWorkspaceDidActivateApplicationNotification")
NSWorkspaceDidActivateApplicationNotification docs says that you have to use NSWorkspace.notificationCenter to receive it, CFNotificationCenterGetDistributedCenter won't work.

MAC audioUnit AudioComponentInstanceDispose crash

the audio unit subType is kAudioUnitSubType_VoiceProcessingIO,
and use kAudioOutputUnitProperty_CurrentDevice to set Device ID for the audio unit
OSStatus result = AudioOutputUnitStop(audio_unit);
result = AudioUnitUninitialize(audio_unit);
result = AudioComponentInstanceDispose(audio_unit);
Thread trace:
3 ExceptionHandling 0x00007fff3c64ef31 -[NSExceptionHandler _handleException:mask:] + 364
4 ExceptionHandling 0x00007fff3c64ecac NSExceptionHandlerUncaughtSignalHandler + 35
5 libsystem_platform.dylib 0x00007fff204d3d7d _sigtramp + 29
6 CoreFoundation 0x00007fff2050f381 CFStringGetLength + 11
7 CoreFoundation 0x00007fff205225c7 CFStringCompare + 24
8 CoreAudio 0x00007fff221e83f5 _ZN9HALDevice4DuckEfPK14AudioTimeStampf + 921
9 CoreAudio 0x00007fff21d3ed48 AudioDeviceDuck + 843
10 AudioDSP 0x00000001390d7d4a _Z14DuckOtherAudiojff + 51
11 AudioDSP 0x0000000139213e06 _ZN16AUVoiceProcessor22DestroyAggregateDeviceEv + 974
12 AudioDSP 0x0000000139215459 _ZN16AUVoiceProcessorD2Ev + 417
13 AudioDSP 0x00000001392efdec _ZN13ComponentBase8AP_CloseEPv + 30
14 AudioToolboxCore 0x00007fff219e4b6a AudioComponentInstanceDispose + 55
You are disposing of an Audio Instance before it is stopped.
Note that AudioOutputUnitStop may not stop an audio unit immediately, since the audio thread runs asynchronously. If you delay for a half second after stopping the audio unit, that other thread is likely stopped by then and then you can more safely dispose of its resources.

Crash reported generated by Compiler in Swift 5 xcode 11

My app has been rejected from Apple quite a long time now.
They say that I get crash on dashboard but although it works fine on simulator and device
I implemented 2 approaches to get the crash report
Firebase Analytics
Symbolised the crash reported shared by Apple.
.init(coder:)
It says error generated by compiler
8 SSBS 0x10521c174 DashboardViewController.init(coder:) + 5308788 (<compiler-generated>:0)
9 SSBS 0x10521c238 #objc DashboardViewController.init(coder:) + 5308984 (<compiler-generated>:0)
In this case, what do I need to implement in my ViewController Class file
So the crash report generated fr
om that is :
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 0
*Last Exception Backtrace:
0 CoreFoundation 0x1adc3b794 0x1adb11000 + 1222548
1 libobjc.A.dylib 0x1ad95dbcc 0x1ad958000 + 23500
2 CoreFoundation 0x1adb31b98 0x1adb11000 + 134040
3 UIKitCore 0x1b1652c74 0x1b12b4000 + 3796084
4 UIFoundation 0x1b123fe94 0x1b11d5000 + 437908
5 UIFoundation 0x1b12400b4 0x1b11d5000 + 438452
6 UIFoundation 0x1b11dccac 0x1b11d5000 + 31916
7 UIKitCore 0x1b1699dd0 0x1b12b4000 + 4087248
8 SSBS 0x10521c174 DashboardViewController.init(coder:) + 5308788 (<compiler-generated>:0)
9 SSBS 0x10521c238 #objc DashboardViewController.init(coder:) + 5308984 (<compiler-generated>:0)
10 UIKitCore 0x1b1973c40 0x1b12b4000 + 7076928
11 UIFoundation 0x1b123fe94 0x1b11d5000 + 437908
12 UIFoundation 0x1b11dccac 0x1b11d5000 + 31916
13 UIKitCore 0x1b1977bbc 0x1b12b4000 + 7093180
14 UIFoundation 0x1b123fe94 0x1b11d5000 + 437908
15 UIFoundation 0x1b12400b4 0x1b11d5000 + 438452
16 UIFoundation 0x1b11dccac 0x1b11d5000 + 31916
17 UIKitCore 0x1b1972cd8 0x1b12b4000 + 7072984
18 UIKitCore 0x1b1975858 0x1b12b4000 + 7084120
19 UIKitCore 0x1b1e4784c 0x1b12b4000 + 12138572
20 SSBS 0x1052b55a8 closure #1 in LoginViewController.RegisterUserOnServer() + 5936552 (LoginViewController.swift:707)
21 Alamofire 0x105e47454 0x105d54000 + 996436
22 Alamofire 0x105d7ac94 0x105d54000 + 158868
23 libdispatch.dylib 0x1ad9009a8 0x1ad8a6000 + 371112
24 libdispatch.dylib 0x1ad901524 0x1ad8a6000 + 374052
25 libdispatch.dylib 0x1ad8b35b4 0x1ad8a6000 + 54708
26 CoreFoundation 0x1adbb97fc 0x1adb11000 + 690172
27 CoreFoundation 0x1adbb46d0 0x1adb11000 + 669392
28 CoreFoundation 0x1adbb3ce8 0x1adb11000 + 666856
29 GraphicsServices 0x1b7cfe38c 0x1b7cfb000 + 13196
30 UIKitCore 0x1b1ce2444 0x1b12b4000 + 10675268
31 SSBS 0x1051ba4b4 main + 4908212 (AppDelegate.swift:21)
32 libdyld.dylib 0x1ada3b8f0 0x1ada3a000 + 6384
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001ada30d88 0x1ada0b000 + 155016
1 libsystem_pthread.dylib 0x00000001ad9491e8 0x1ad947000 + 8680
2 libsystem_c.dylib 0x00000001ad89c9b0 0x1ad82a000 + 469424
3 libsystem_c.dylib 0x00000001ad89c940 0x1ad82a000 + 469312
4 libc++abi.dylib 0x00000001ada04cc0 0x1ad9f2000 + 76992
5 libc++abi.dylib 0x00000001ad9f6e10 0x1ad9f2000 + 19984
6 libobjc.A.dylib 0x00000001ad95de80 0x1ad958000 + 24192
7 SSBS 0x0000000105501948 FIRCLSTerminateHandler() + 8345928 (FIRCLSException.mm:338)
8 SSBS 0x00000001054abc90 CLSTerminateHandler+ 7994512 () + 348
9 libc++abi.dylib 0x00000001ada0414c 0x1ad9f2000 + 74060
10 libc++abi.dylib 0x00000001ada040e4 0x1ad9f2000 + 73956
11 libdispatch.dylib 0x00000001ad901538 0x1ad8a6000 + 374072
12 libdispatch.dylib 0x00000001ad8b35b4 0x1ad8a6000 + 54708
13 CoreFoundation 0x00000001adbb97fc 0x1adb11000 + 690172
14 CoreFoundation 0x00000001adbb46d0 0x1adb11000 + 669392
15 CoreFoundation 0x00000001adbb3ce8 0x1adb11000 + 666856
16 GraphicsServices 0x00000001b7cfe38c 0x1b7cfb000 + 13196
17 UIKitCore 0x00000001b1ce2444 0x1b12b4000 + 10675268
18 SSBS 0x00000001051ba4b4 main + 4908212 (AppDelegate.swift:21)
19 libdyld.dylib 0x00000001ada3b8f0 0x1ada3a000 + 6384*
code of DashboardViewController:
class DashboardViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//navigationHeaderItem()
// Do any additional setup after loading the view.
if(self.isNewDashboard == nil || self.isNewDashboard == true){
self.newDashboardView.isHidden = false
}else{
self.newDashboardView.isHidden = true
}
let menuMangerObj = MenuDrawerManager()
let resultItem=menuMangerObj.getByItemDrawerItem("My Meetings") as NSArray
if(resultItem.count>0){
self.newDashboardView.isHidden = false
}else{
self.newDashboardView.isHidden = true
}
self.loginUserName.text=userdDefaultData.string(forKey: "loginUserName")
}
}
I initiate a view controller like:
let vcObj = self.storyboard?.instantiateViewController(withIdentifier: "DashboardController") as! DashboardViewController
vcObj.isNewDashboard = true
self.navigationController?.pushViewController(vcObj, animated: true)
Am I am missing anything here?

opencv c++ VideoCapture open() error

I'm trying to read a webcam stream in opencv c++ on OS X but when I attempt to open the feed I produce the following error:
Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array'
Stacktrace:
*** First throw call stack:
(
0 CoreFoundation 0x00007fff86cfee7b __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fff9b8e8cad objc_exception_throw + 48
2 CoreFoundation 0x00007fff86c181dc -[__NSArrayM objectAtIndex:] + 204
3 libopencv_highgui.2.4.dylib 0x0000000104b09280 _ZN13CvCaptureFileC2EPKc + 350
4 libopencv_highgui.2.4.dylib 0x0000000104b07cf2 _Z32cvCreateFileCapture_AVFoundationPKc + 34
5 libopencv_highgui.2.4.dylib 0x0000000104afb7ee cvCreateFileCapture + 14
6 libopencv_highgui.2.4.dylib 0x0000000104afba9e _ZN2cv12VideoCapture4openERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE + 64
7 classification.bin 0x0000000104031842 main + 370
8 libdyld.dylib 0x00007fff9c1cc255 start + 1
9 ??? 0x0000000000000005 0x0 + 5
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6
Code:
VideoCapture cap;
printf("vidcap created\n"); // This message is printed
cap.open("http://192.168.1.155:80/video.cgi?dummy=.mjpg");
printf("feed opened\n"); // this one is not
What could be the reason for this error?

Processing files make my program go into non-responding mode. New Process or New thread?

I made an application using Qt where I manipulate Images using the Magick++ library.
The problem is when I'm trying to apply the effects into a list of images, the programs stops responding until the processing is done, I guess that is very normal but I also guess that there should be a solution using new process? concurrency perhaps?
This is the code that is being executed when I'm processing images.
foreach (QFileInfo f, list)
{
Image image;
image.read(qPrintable(f.absoluteFilePath()));
try {
//Apply effects effects
image.addNoise(GaussianNoise);
image.magick("png");
image.rotate(90);
image.write("//users//files//");
}
catch ( Magick::Exception & error)
{
// Displaying any possible errors on the text browser
ui->textBrowser_error->setText(error.what());
}
}
Can anyone show me a code hint that can help me avoid my program by going into non-responding mode?
This is the current solution(Thanks to OneOfOne)
void ClassName::processAll() {
QList<QFileInfo> files = list;
QFuture<void> future = QtConcurrent::map(files, &ClassName::processImage);
}
void ClassName::processImage(QFileInfo & f) {
Image image;
image.read(qPrintable(f.absoluteFilePath()));
try {
// Apply effects effects
image.magick("png");
image.rotate(90);
image.write("//Users//macmini//Desktop//files");
} catch ( Magick::Exception & error) {
// Displaying any possible errors on the text browser.
/* ui->textBrowser_error->setText(error.what()); <- This will not run so I had to commented out */
}
}
This makes my program compile but after that I get a runtime error from apple:
Process: ProgramName [2801]
Path: /Users/macmini/ProgramName-build-desktop/ProgramName.app/Contents/MacOS/ProgramName
Identifier: com.yourcompany.ProgramName
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: Qt Creator [2630]
Date/Time: 2010-12-13 18:55:54.381 +0000
OS Version: Mac OS X 10.6.5 (10H574)
Report Version: 6
Interval Since Last Report: 459149 sec
Crashes Since Last Report: 54
Per-App Interval Since Last Report: 59953 sec
Per-App Crashes Since Last Report: 16
Anonymous UUID: 2FA19EA1-D3CE-479B-B074-AB6A297BEFCF
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000010
Crashed Thread: 7
Thread 0: Dispatch queue: com.apple.main-thread
0 com.apple.Foundation 0x00007fff83a9927d -[NSConcreteMapTable objectForKey:] + 1
1 com.apple.AppKit 0x00007fff80f670df -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 1104
2 com.apple.AppKit 0x00007fff80f66ab0 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 254
3 com.apple.AppKit 0x00007fff80f63362 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2683
4 com.apple.AppKit 0x00007fff80edcb9a -[NSView displayIfNeeded] + 969
5 QtGui 0x0000000100346cca -[QCocoaWindow displayIfNeeded] + 250
6 com.apple.AppKit 0x00007fff80ed7a46 _handleWindowNeedsDisplay + 678
7 com.apple.CoreFoundation 0x00007fff86644b37 __CFRunLoopDoObservers + 519
8 com.apple.CoreFoundation 0x00007fff86620464 __CFRunLoopRun + 468
9 com.apple.CoreFoundation 0x00007fff8661fdbf CFRunLoopRunSpecific + 575
10 com.apple.HIToolbox 0x00007fff840a291a RunCurrentEventLoopInMode + 333
11 com.apple.HIToolbox 0x00007fff840a267d ReceiveNextEventCommon + 148
12 com.apple.HIToolbox 0x00007fff840a25d8 BlockUntilNextEventMatchingListInMode + 59
13 com.apple.AppKit 0x00007fff80eace64 _DPSNextEvent + 718
14 com.apple.AppKit 0x00007fff80eac7a9 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155
15 com.apple.AppKit 0x00007fff80e7248b -[NSApplication run] + 395
16 QtGui 0x0000000100354344 QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1588
17 QtCore 0x00000001010bde54 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 68
18 QtCore 0x00000001010be174 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 180
19 QtCore 0x00000001010bf79c QCoreApplication::exec() + 188
20 com.yourcompany.ProgramName 0x00000001000031cb main + 107
21 com.yourcompany.ProgramName 0x0000000100002fb6 _start + 224
22 com.yourcompany.ProgramName 0x0000000100002ed5 start + 33
Thread 1: Dispatch queue: com.apple.libdispatch-manager
0 libSystem.B.dylib 0x00007fff8061a16a kevent + 10
1 libSystem.B.dylib 0x00007fff8061c03d _dispatch_mgr_invoke + 154
2 libSystem.B.dylib 0x00007fff8061bd14 _dispatch_queue_invoke + 185
3 libSystem.B.dylib 0x00007fff8061b83e _dispatch_worker_thread2 + 252
4 libSystem.B.dylib 0x00007fff8061b168 _pthread_wqthread + 353
5 libSystem.B.dylib 0x00007fff8061b005 start_wqthread + 13
Thread 2: com.apple.CFSocket.private
0 libSystem.B.dylib 0x00007fff80644e92 select$DARWIN_EXTSN + 10
1 com.apple.CoreFoundation 0x00007fff86642498 __CFSocketManager + 824
2 libSystem.B.dylib 0x00007fff8063a536 _pthread_start + 331
3 libSystem.B.dylib 0x00007fff8063a3e9 thread_start + 13
Thread 3:
0 libSystem.B.dylib 0x00007fff8061a16a kevent + 10
1 QtCore 0x00000001010aae8a QKqueueFileSystemWatcherEngine::run() + 154
2 QtCore 0x00000001010064cf QThreadPrivate::start(void*) + 175
3 libSystem.B.dylib 0x00007fff8063a536 _pthread_start + 331
4 libSystem.B.dylib 0x00007fff8063a3e9 thread_start + 13
Thread 4:
0 libSystem.B.dylib 0x00007fff8061af8a __workq_kernreturn + 10
1 libSystem.B.dylib 0x00007fff8061b39c _pthread_wqthread + 917
2 libSystem.B.dylib 0x00007fff8061b005 start_wqthread + 13
Thread 5:
0 libSystem.B.dylib 0x00007fff8061af8a __workq_kernreturn + 10
1 libSystem.B.dylib 0x00007fff8061b39c _pthread_wqthread + 917
2 libSystem.B.dylib 0x00007fff8061b005 start_wqthread + 13
Thread 6:
Thread 7 Crashed:
0 libMagickCore.4.dylib 0x000000010144068c gomp_resolve_num_threads + 28
1 libMagickCore.4.dylib 0x00000001012c5d95 AcquirePixelCache + 309
2 libMagickCore.4.dylib 0x000000010137be02 AcquireImage + 370
3 libMagick++.4.dylib 0x00000001002b5057 Magick::ImageRef::ImageRef() + 87
4 libMagick++.4.dylib 0x00000001002ab742 Magick::Image::Image() + 50
5 com.yourcompany.ProgramName 0x00000001000047e1 ProgramName::processImage(QFileInfo&) + 33
6 com.yourcompany.ProgramName 0x0000000100008d1d QtConcurrent::MapKernel<QList<QFileInfo>::iterator, QtConcurrent::FunctionWrapper1<void, QFileInfo&> >::runIteration(QList<QFileInfo>::iterator, int, void*) + 13
7 com.yourcompany.ProgramName 0x0000000100009238 QtConcurrent::MapKernel<QList<QFileInfo>::iterator, QtConcurrent::FunctionWrapper1<void, QFileInfo&> >::runIterations(QList<QFileInfo>::iterator, int, int, void*) + 72
8 com.yourcompany.ProgramName 0x000000010000974d QtConcurrent::IterateKernel<QList<QFileInfo>::iterator, void>::threadFunction() + 573
9 QtCore 0x0000000100fffcb9 QtConcurrent::ThreadEngineBase::run() + 57
10 QtCore 0x0000000101002425 QThreadPoolThread::run() + 117
11 QtCore 0x00000001010064cf QThreadPrivate::start(void*) + 175
12 libSystem.B.dylib 0x00007fff8063a536 _pthread_start + 331
13 libSystem.B.dylib 0x00007fff8063a3e9 thread_start + 13
Thread 8:
0 libSystem.B.dylib 0x00007fff8063a3dc thread_start + 0
Thread 7 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x0000000000002148
rdi: 0x0000000000000104 rsi: 0x0000000000000000 rbp: 0x0000000116580b10 rsp: 0x0000000116580b00
r8: 0x0000000101b6e000 r9: 0x0000000116580b00 r10: 0x00007fffffe00050 r11: 0x0000000102b6c600
r12: 0x0000000000000000 r13: 0x0000000102b28000 r14: 0x0000000102b82a68 r15: 0x0000000116580d00
rip: 0x000000010144068c rfl: 0x0000000000010297 cr2: 0x0000000000000010
Binary Images:
0x100000000 - 0x100290fe7 +com.yourcompany.ProgramName ??? (???) <688ECF56-94E8-00A4-B958-94612C902F9F> /Users/macmini/ProgramName-build-desktop/ProgramName.app/Contents/MacOS/ProgramName
0x10029b000 - 0x1002dcff7 +libMagick++.4.dylib 5.0.0 (compatibility 5.0.0) <51C6408C-04BD-548B-E2FC-F112252FA2BD> /opt/local/lib/libMagick++.4.dylib
0x100317000 - 0x100ceafef +QtGui 4.7.0 (compatibility 4.7.0) <BD43BAAD-873D-45E8-3605-1E344992BB51> /Library/Frameworks/QtGui.framework/Versions/4/QtGui
0x100f92000 - 0x101217fef +QtCore 4.7.0 (compatibility 4.7.0) <AEA4A1B9-46B8-7621-8D00-555040D89C56> /Library/Frameworks/QtCore.framework/Versions/4/QtCore
0x1012ab000 - 0x101482ff7 +libMagickCore.4.dylib 5.0.0 (compatibility 5.0.0) <25912B2F-55D0-2DA9-DBBF-43986B432952> /opt/local/lib/libMagickCore.4.dylib
0x10151d000 - 0x10162efff +libMagickWand.4.dylib 5.0.0 (compatibility 5.0.0) <80E63BB5-E18A-2BAB-7AFF-D3037AE57427> /opt/local/lib/libMagickWand.4.dylib
0x10164c000 - 0x101679fe7 +liblcms.1.dylib 2.19.0 (compatibility 2.0.0) <2B45C260-15E9-151E-4C8A-05D6B402522B> /opt/local/lib/liblcms.1.dylib
0x101686000 - 0x1016dffff +libtiff.3.dylib 13.4.0 (compatibility 13.0.0) <262BF250-EA47-62E2-D6CB-573CB1E8DD6D> /opt/local/lib/libtiff.3.dylib
0x1016ec000 - 0x101721ff7 +libjpeg.8.dylib 9.2.0 (compatibility 9.0.0) <055E3C7A-A428-2298-816E-79D4279DEE25> /opt/local/lib/libjpeg.8.dylib
0x101728000 - 0x101756ff7 +libfontconfig.1.dylib 6.4.0 (compatibility 6.0.0) <ABE342A5-D352-6D3E-D588-60CEE60396EA> /opt/local/lib/libfontconfig.1.dylib
0x101761000 - 0x101780fef +libexpat.1.dylib 7.2.0 (compatibility 7.0.0) <4F23C4ED-72D8-5478-FBBC-5DC01F8E4752> /opt/local/lib/libexpat.1.dylib
0x101787000 - 0x101807fff +libfreetype.6.dylib 13.1.0 (compatibility 13.0.0) <1DBA7D79-C80E-B3F6-6BEF-5ECBBB318ADE> /opt/local/lib/libfreetype.6.dylib
0x10181c000 - 0x101918fe7 +libiconv.2.dylib 8.0.0 (compatibility 8.0.0) <6907D6DB-2535-7725-484F-74378F42AFED> /opt/local/lib/libiconv.2.dylib
0x101925000 - 0x101933ff7 +libXext.6.dylib 11.0.0 (compatibility 11.0.0) <CB09409A-FEA2-3CF5-769A-127ECCCE2963> /opt/local/lib/libXext.6.dylib
0x101939000 - 0x101986fe7 +libXt.6.dylib 7.0.0 (compatibility 7.0.0) <D780E06E-3060-3D13-BCEC-2F297E840939> /opt/local/lib/libXt.6.dylib
0x10199e000 - 0x1019acfff +libbz2.1.0.dylib 1.0.6 (compatibility 1.0.0) <B2276F4D-BAC5-E9C3-690C-DCC478079569> /opt/local/lib/libbz2.1.0.dylib
0x1019b1000 - 0x1019c5ff7 +libz.1.dylib 1.2.5 (compatibility 1.0.0) <6D767FC2-DF89-6017-4B82-A1E5EB8CEED9> /opt/local/lib/libz.1.dylib
0x1019c9000 - 0x1019cbff7 libclparser.dylib ??? (???) <9985A543-86E9-DA9E-3B97-80CA7AAE84A1>
--Code Removed-- It didnt fit!
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
0x7fff85f7e000 - 0x7fff85ffdfe7 com.apple.audio.CoreAudio 3.2.6 (3.2.6) <1DD64A62-0DE4-223F-F781-B272FECF80F0> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x7fff85ffe000 - 0x7fff86083ff7 com.apple.print.framework.PrintCore 6.3 (312.7) <CDFE82DD-D811-A091-179F-6E76069B432D> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x7fff86084000 - 0x7fff86588fe7 com.apple.VideoToolbox 0.484.20 (484.20) <8B6B82D2-350B-E9D3-5433-51453CDA65B4> /System/Library/PrivateFrameworks/VideoToolbox.framework/Versions/A/VideoToolbox
0x7fff865d4000 - 0x7fff8674bfe7 com.apple.CoreFoundation 6.6.4 (550.42) <770C572A-CF70-168F-F43C-242B9114FCB5> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x7fff8674c000 - 0x7fff8679bff7 com.apple.DirectoryService.PasswordServerFramework 6.0 (6.0) <14FD0978-4BE0-336B-A19E-F388694583EB> /System/Library/PrivateFrameworks/PasswordServer.framework/Versions/A/PasswordServer
0x7fff867e0000 - 0x7fff86821ff7 com.apple.CoreMedia 0.484.20 (484.20) <42F3B74A-F886-33A0-40EE-8399B12BD32A> /System/Library/PrivateFrameworks/CoreMedia.framework/Versions/A/CoreMedia
0x7fff86822000 - 0x7fff868c2fff com.apple.LaunchServices 362.1 (362.1) <2740103A-6C71-D99F-8C6F-FA264546AD8F> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x7fff868c3000 - 0x7fff868e4fff libresolv.9.dylib 41.0.0 (compatibility 1.0.0) <6993F348-428F-C97E-7A84-7BD2EDC46A62> /usr/lib/libresolv.9.dylib
0x7fff868e5000 - 0x7fff86d28fef libLAPACK.dylib 219.0.0 (compatibility 1.0.0) <0CC61C98-FF51-67B3-F3D8-C5E430C201A9> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
0x7fff86d3f000 - 0x7fff86d55fe7 com.apple.MultitouchSupport.framework 207.10 (207.10) <1828C264-A54A-7FDD-FE1B-49DDE3F50779> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
0x7fff86d56000 - 0x7fff86da7fef com.apple.HIServices 1.8.1 (???) <BE479ABF-3D27-A5C7-800E-3FFC1731767A> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x7fff86de0000 - 0x7fff86e03fff com.apple.opencl 12.3 (12.3) <D30A45FC-4520-45AF-3CA5-092313DB5D54> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
0x7fff86e04000 - 0x7fff86ebafff libobjc.A.dylib 227.0.0 (compatibility 1.0.0) <F206BE6D-8777-AE6C-B367-7BEA76C14241> /usr/lib/libobjc.A.dylib
0x7fff86f54000 - 0x7fff86f6afff com.apple.ImageCapture 6.0.1 (6.0.1) <09ABF2E9-D110-71A9-4A6F-8A61B683E936> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
0x7fff86f6b000 - 0x7fff86f9cfff libGLImage.dylib ??? (???) <57DA0064-4581-62B8-37A8-A07ADEF46EE2> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
0x7fff86f9d000 - 0x7fff86fa1ff7 libCGXType.A.dylib 545.0.0 (compatibility 64.0.0) <63F77AC8-84CB-0C2F-8D2B-190EE5CCDB45> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib
0x7fff86fa2000 - 0x7fff86fc7ff7 com.apple.CoreVideo 1.6.2 (45.6) <E138C8E7-3CB6-55A9-0A2C-B73FE63EA288> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
0x7fff86fd4000 - 0x7fff86fedfff com.apple.CFOpenDirectory 10.6 (10.6) <CCF79716-7CC6-2520-C6EB-A4F56AD0A207> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
0x7fff86fee000 - 0x7fff870e6ff7 libiconv.2.dylib 7.0.0 (compatibility 7.0.0) <7E4ADB5A-CC77-DCFD-3E54-2F35A2C8D95A> /usr/lib/libiconv.2.dylib
0x7fff870e7000 - 0x7fff872a5fff libicucore.A.dylib 40.0.0 (compatibility 1.0.0) <781E7B63-2AD0-E9BA-927C-4521DB616D02> /usr/lib/libicucore.A.dylib
0x7fff872a6000 - 0x7fff87643fe7 com.apple.QuartzCore 1.6.3 (227.34) <215222AF-B30A-7CE5-C46C-1A766C1D1D2E> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x7fff87644000 - 0x7fff87646fff com.apple.print.framework.Print 6.1 (237.1) <CA8564FB-B366-7413-B12E-9892DA3C6157> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
0x7fff87682000 - 0x7fff8769dff7 com.apple.openscripting 1.3.1 (???) <FD46A0FE-AC79-3EF7-AB4F-396D376DDE71> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
0x7fff8769e000 - 0x7fff8769ffff liblangid.dylib ??? (???) <EA4D1607-2BD5-2EE2-2A3B-632EEE5A444D> /usr/lib/liblangid.dylib
0x7fff876a0000 - 0x7fff876bdff7 libPng.dylib ??? (???) <14043CBC-329F-4009-299E-DEE411E16134> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x7fff87901000 - 0x7fff8794bff7 com.apple.Metadata 10.6.3 (507.12) <9231045A-E2E3-B0C2-C81A-92C9EA98A4DF> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x7fff87af2000 - 0x7fff87b01fff com.apple.NetFS 3.2.1 (3.2.1) <FF21DB1E-F425-1005-FB70-BC19CAF4006E> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
0x7fff87b11000 - 0x7fff87b8ffff com.apple.CoreText 3.5.0 (???) <4D5C7932-293B-17FF-7309-B580BB1953EA> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
0x7fff87ba9000 - 0x7fff87bf8fef libTIFF.dylib ??? (???) <AE9DC484-1382-F7AD-FE25-C28082FCB5D9> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x7fff87bf9000 - 0x7fff87cb2fff libsqlite3.dylib 9.6.0 (compatibility 9.0.0) <2C5ED312-E646-9ADE-73A9-6199A2A43150> /usr/lib/libsqlite3.dylib
0x7fff87d3d000 - 0x7fff87d4eff7 libz.1.dylib 1.2.3 (compatibility 1.0.0) <FB5EE53A-0534-0FFA-B2ED-486609433717> /usr/lib/libz.1.dylib
0x7fff87ee8000 - 0x7fff88026fff com.apple.CoreData 102.1 (251) <32233D4D-00B7-CE14-C881-6BF19FD05A03> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x7fff88027000 - 0x7fff88027ff7 com.apple.CoreServices 44 (44) <DC7400FB-851E-7B8A-5BF6-6F50094302FB> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x7fff88028000 - 0x7fff88057ff7 com.apple.quartzfilters 1.6.0 (1.6.0) <9CECB4FC-1CCF-B8A2-B935-5888B21CBEEF> /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzFilters.framework/Versions/A/QuartzFilters
0x7fff88058000 - 0x7fff8806afe7 libsasl2.2.dylib 3.15.0 (compatibility 3.0.0) <76B83C8D-8EFE-4467-0F75-275648AFED97> /usr/lib/libsasl2.2.dylib
0x7fff880be000 - 0x7fff881e4fff com.apple.audio.toolbox.AudioToolbox 1.6.5 (1.6.5) <B51023BB-A5C9-3C65-268B-6B86B901BB2C> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x7fff881e5000 - 0x7fff881ebfff libCGXCoreImage.A.dylib 545.0.0 (compatibility 64.0.0) <4EE16374-A094-D542-5BC5-7E846D0CE56E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXCoreImage.A.dylib
0x7fff881ec000 - 0x7fff881eefff libRadiance.dylib ??? (???) <76438F90-DD4B-9941-9367-F2DFDF927876> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
0x7fff881f5000 - 0x7fff881f5ff7 com.apple.Carbon 150 (152) <19B37B7B-1594-AD0A-7F14-FA2F85AD7241> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x7fff881f6000 - 0x7fff88233ff7 libFontRegistry.dylib ??? (???) <8C69F685-3507-1B8F-51AD-6183D5E88979> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
0x7fff88234000 - 0x7fff88237ff7 com.apple.securityhi 4.0 (36638) <38935851-09E4-DDAB-DB1D-30ADC39F7ED0> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
0x7fff88238000 - 0x7fff883a7fe7 com.apple.QTKit 7.6.6 (1756) <250AB242-816D-9F5D-94FB-18BF2AE9AAE7> /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit
0x7fff8845f000 - 0x7fff88569ff7 com.apple.MeshKitIO 1.1 (49.2) <F296E151-80AE-7764-B969-C2050DF26BFE> /System/Library/PrivateFrameworks/MeshKit.framework/Versions/A/Frameworks/MeshKitIO.framework/Versions/A/MeshKitIO
0x7fff8856a000 - 0x7fff8856eff7 libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) <95718673-FEEE-B6ED-B127-BCDBDB60D4E5> /usr/lib/system/libmathCommon.A.dylib
0x7fff885b3000 - 0x7fff885c4fff com.apple.DSObjCWrappers.Framework 10.6 (134) <3C08225D-517E-2822-6152-F6EB13A4ADF9> /System/Library/PrivateFrameworks/DSObjCWrappers.framework/Versions/A/DSObjCWrappers
0x7fff885c5000 - 0x7fff88690fe7 ColorSyncDeprecated.dylib 4.6.0 (compatibility 1.0.0) <3C223A94-EF14-28C5-844B-C25DFC87FB42> /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ColorSync.framework/Versions/A/Resources/ColorSyncDeprecated.dylib
0x7fff88691000 - 0x7fff887b2fe7 libcrypto.0.9.8.dylib 0.9.8 (compatibility 0.9.8) <48AEAFE1-21F4-B3C8-4199-35AD5E8D0613> /usr/lib/libcrypto.0.9.8.dylib
0x7fff887b3000 - 0x7fff888cafef libxml2.2.dylib 10.3.0 (compatibility 10.0.0) <EE067D7E-15B3-F043-6FBD-10BA31FE76C7> /usr/lib/libxml2.2.dylib
0x7fff888cb000 - 0x7fff888d0fff libGIF.dylib ??? (???) <9A2723D8-61F9-6D65-D254-4F9273CDA54A> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x7fff88c15000 - 0x7fff88c58ff7 libRIP.A.dylib 545.0.0 (compatibility 64.0.0) <7E30B5F6-99FD-C716-8670-5DD4B4BAED72> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
0x7fff88c59000 - 0x7fff88ca2fef libGLU.dylib ??? (???) <EB4255DD-A9E5-FAD0-52A4-CCB4E792B86F> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x7fff88ca3000 - 0x7fff88ceffff libauto.dylib ??? (???) <F7221B46-DC4F-3153-CE61-7F52C8C293CF> /usr/lib/libauto.dylib
0x7fff88cf0000 - 0x7fff88d6dfef libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) <35ECA411-2C08-FD7D-11B1-1B7A04921A5C> /usr/lib/libstdc++.6.dylib
0x7fff88d6e000 - 0x7fff88d82ff7 com.apple.speech.synthesis.framework 3.10.35 (3.10.35) <621B7415-A0B9-07A7-F313-36BEEDD7B132> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x7fff88d83000 - 0x7fff88d84ff7 com.apple.TrustEvaluationAgent 1.1 (1) <74800EE8-C14C-18C9-C208-20BBDB982D40> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
0x7fff88d85000 - 0x7fff88df1ff7 com.apple.CorePDF 1.3 (1.3) <6770FFB0-DEA0-61E0-3520-4B95CCF5D1CF> /System/Library/PrivateFrameworks/CorePDF.framework/Versions/A/CorePDF
0x7fff88e6f000 - 0x7fff88e76fff com.apple.OpenDirectory 10.6 (10.6) <4200CFB0-DBA1-62B8-7C7C-91446D89551F> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
0x7fff88e77000 - 0x7fff890b2fef com.apple.imageKit 2.0.3 (1.0) <5D18C246-303A-6580-9DC9-79BE79467C95> /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/ImageKit
0x7fff890b3000 - 0x7fff890b3ff7 com.apple.Accelerate.vecLib 3.6 (vecLib 3.6) <DA9BFF01-40DF-EBD5-ABB7-787DAF2D77CF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
0x7fff890b4000 - 0x7fff890fbfff com.apple.QuickLookFramework 2.3 (327.6) <11DFB135-24A6-C0BC-5B97-ECE352A4B488> /System/Library/Frameworks/QuickLook.framework/Versions/A/QuickLook
0x7fff890fc000 - 0x7fff89127ff7 libxslt.1.dylib 3.24.0 (compatibility 3.0.0) <87A0B228-B24A-C426-C3FB-B40D7258DD49> /usr/lib/libxslt.1.dylib
0x7fffffe00000 - 0x7fffffe01fff libSystem.B.dylib ??? (???) <71E6D4C9-F945-6EC2-998C-D61AD590DAB6> /usr/lib/libSystem.B.dylib
Model: Macmini2,1, BootROM MM21.009A.B00, 2 processors, Intel Core 2 Duo, 2 GHz, 2 GB, SMC 1.19f0
Graphics: Intel GMA 950, GMA 950, Built-In, spdisplays_integrated_vram
Memory Module: global_name
AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x86), Atheros 5424: 2.1.14.5
Bluetooth: Version 2.3.8f7, 2 service, 19 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Serial ATA Device: Hitachi HTS541612J9SA00, 111.79 GB
Parallel ATA Device: PIONEER DVD-RW DVR-K06
USB Device: A4 TECH USB2.0 PC Camera J, 0x0ac8 (Vimicro Corporation), 0xc40a, 0xfd600000
USB Device: 2.4Ghz wireless combo sets, 0x04fc (SUNPLUS TECHNOLOGY CO., LTD.), 0x05d8, 0x1d100000
USB Device: Bluetooth USB Host Controller, 0x05ac (Apple Inc.), 0x8205, 0x7d100000
USB Device: IR Receiver, 0x05ac (Apple Inc.), 0x8240, 0x7d200000
You can create a processing function and use Qt4's QtConcurrent::map or QtConcurrent::run.
Also check QFuture.
Example:
void processImage(QFileInfo & f) {
Image image;
image.read(qPrintable(f.absoluteFilePath()));
try {
//Apply effects effects
image.addNoise(GaussianNoise);
image.magick("png");
image.rotate(90);
image.write("//users//files//");
} catch ( Magick::Exception & error) {
// Displaying any possible errors on the text browser
ui->textBrowser_error->setText(error.what());
}
}
void processAll() {
const QList<QFileInfo> files = getFilesList();
QFuture<void> future = QtConcurrent::map(files, processImage);
//do something with future
}
edit :: Changed QFile to QFileInfo.
I don't know how it works with Qt, but on Windows (WINAPI), a user interface stops responding when the message queue for that window goes unanswered for a period of time. Here's such a loop for completeness:
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
// if you don't handle this "fast" enough, windows "whites" you out
switch ( msg )
{
case WM_COMMAND:
// ...
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}
This happens if you're doing some heavy lifting processing one of those messages. That's what happens when a Windows window turns white, or grey, or whatever.
I've never worked with GUIs on Linux (I tend to write cli stuff) but I imagine it's the same principle.
You basically want to break out a new thread. However, how you do this is the interesting part.
If your app is linux-only, you could use pthreads or you could do:
pid_t result = fork()
if ( result == 0 )
{
// child
}
elseif ( result > 0 )
{
// parent, result = child process id.
}
else
{
// error. result == -1.
}
As I understand it, there is little cost difference between a thread and a process on Linux.
However, some GUI frameworks provide their own thread wrappers I believe (wxWidgets comes to mind) for portability reasons. You might want to go with that if you're looking for a cross platform solution. I don't know if Qt provides such an option. However, before anyone else says it, Boost probably does.