Forums > Jitter

jit.qt.grab crashes Max on open with IIDC camera connected

April 24, 2013 | 9:37 pm

Hello there Max community! Apologies for the multiple post. (The post body didn’t make it through before.)

I am trying to use a PTGrey Firefly MV 1394a camera with MaxMSP 6.1.2 on OSX 10.8.3 for a motion reactive LED sculpture.

The camera works as an input for Messages/iChat, so the thunderbolt-to-firewire800-to-firewire400 connection seems sane. When I try to use it with jit.qt.grab, Max crashes on open.

My laptop’s built-in webcam works with jit.qt.grab when the IIDC camera is not plugged in. The open and close commands behave just fine. Also, when I plug in the IIDC camera, I see it listed as "Camera" when I do getvdevlist and getinput list.

However, regardless of whether I choose Camera (IIDC) or the Built-In-iSight (USB), Max crashes when I try to open either camera.

I built and installed libdc1394. I have also tried removing the libdc and I get the same result.

Many thanks for any advice!

Regards,

John Taylor


April 24, 2013 | 9:39 pm

Here is a crash report if this helps. Thanks in advance for any help. -John

—–

Process: Max [450]
Path: /Applications/Max6/Max.app/Contents/MacOS/Max
Identifier: com.cycling74.Max
Version: 6.0.8 [a0c1b20] (6.0.8)
Code Type: X86 (Native)
Parent Process: launchd [153]
User ID: 501

Date/Time: 2013-04-24 13:41:25.464 -0700
OS Version: Mac OS X 10.8.3 (12D78)
Report Version: 10

Interval Since Last Report: 1230687 sec
Crashes Since Last Report: 28
Per-App Interval Since Last Report: 286517 sec
Per-App Crashes Since Last Report: 10
Anonymous UUID: 0D415904-9788-0BAA-922A-018DFAE12D57

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0×0000000000000004

VM Regions Near 0×4:
–> __PAGEZERO 0000000000000000-0000000000001000 [ 4K] —/— SM=NUL /Applications/Max6/Max.app/Contents/MacOS/Max
__TEXT 0000000000001000-0000000000676000 [ 6612K] rwx/rwx SM=COW /Applications/Max6/Max.app/Contents/MacOS/Max

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.IOFireWireLib 0x0d3c7c76 IOFireWireLib::LocalIsochPort::ExportDCLs(unsigned int*, unsigned long*) + 1048
1 com.apple.IOFireWireLib 0x0d3c7548 IOFireWireLib::LocalIsochPort::LocalIsochPort(IUnknownVTbl const&, IOFireWireLib::Device&, bool, DCLCommandStruct*, unsigned long, unsigned long, unsigned long, IOVirtualRange*, unsigned long, IOVirtualRange*, unsigned long, IOFWIsochPortOptions) + 768
2 com.apple.IOFireWireLib 0x0d3c85d7 IOFireWireLib::LocalIsochPortCOM::Alloc(IOFireWireLib::Device&, unsigned char, DCLCommandStruct*, unsigned long, unsigned long, unsigned long, IOVirtualRange*, unsigned long, IOVirtualRange*, unsigned long, IOFWIsochPortOptions) + 117
3 com.apple.IOFireWireLib 0x0d3ccfb4 IOFireWireLib::Device::CreateLocalIsochPortWithOptions(unsigned char, DCLCommandStruct*, unsigned long, unsigned long, unsigned long, IOVirtualRange*, unsigned long, IOVirtualRange*, unsigned long, IOFWIsochPortOptions, CFUUIDBytes) + 96
4 com.apple.IOFireWireLib 0x0d3ce1c8 IOFireWireLib::DeviceCOM::S_CreateLocalIsochPort(IOFireWireDeviceInterface_t**, unsigned char, DCLCommandStruct*, unsigned long, unsigned long, unsigned long, IOVirtualRange*, unsigned long, IOVirtualRange*, unsigned long, CFUUIDBytes) + 114
5 com.apple.QuickTimeIIDCDigitizer 0x0d21f0b0 0xd21e000 + 4272
6 com.apple.QuickTimeIIDCDigitizer 0x0d232ef8 0xd21e000 + 85752
7 com.apple.QuickTimeIIDCDigitizer 0x0d22ac8e 0xd21e000 + 52366
8 com.apple.QuickTimeIIDCDigitizer 0x0d22b371 0xd21e000 + 54129
9 com.apple.QuickTimeIIDCDigitizer 0x0d22af17 0xd21e000 + 53015
10 com.apple.QuickTimeIIDCDigitizer 0x0d22022f 0xd21e000 + 8751
11 com.apple.QuickTimeIIDCDigitizer 0x0d221d5b 0xd21e000 + 15707
12 com.apple.CoreServices.CarbonCore 0x97b2bade CallComponent + 151
13 com.apple.CoreServices.CarbonCore 0x97b2bb38 CallComponentDispatch + 29
14 com.apple.QuickTimeComponents.component 0x96dc9353 0×96228000 + 12194643
15 com.apple.QuickTimeComponents.component 0x96cbb85f 0×96228000 + 11090015
16 com.apple.QuickTimeComponents.component 0x96cbe350 0×96228000 + 11101008
17 com.apple.CoreServices.CarbonCore 0x97bc0a9f callComponentStorage_411 + 34
18 com.apple.CoreServices.CarbonCore 0x97bb1abf CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 45
19 com.apple.CoreServices.CarbonCore 0x97bb1aff CallComponentFunctionWithStorageProcInfo + 30
20 com.apple.QuickTimeComponents.component 0x96cbadb1 _SGVideoComponentDispatch + 81
21 com.apple.CoreServices.CarbonCore 0x97b2bade CallComponent + 151
22 com.apple.CoreServices.CarbonCore 0x97b2bb38 CallComponentDispatch + 29
23 com.apple.QuickTimeComponents.component 0x96dca1a5 0×96228000 + 12198309
24 com.apple.QuickTimeComponents.component 0x96cbb109 0×96228000 + 11088137
25 com.apple.QuickTimeComponents.component 0x96cc1354 0×96228000 + 11113300
26 com.apple.CoreServices.CarbonCore 0x97bc0adb callComponentStorage_44 + 25
27 com.apple.CoreServices.CarbonCore 0x97bb1abf CallComponentFunctionCommonWithStorage(char**, ComponentParameters*, long (*)(), unsigned long) + 45
28 com.apple.CoreServices.CarbonCore 0x97bb1aff CallComponentFunctionWithStorageProcInfo + 30
29 com.apple.QuickTimeComponents.component 0x96cbadb1 _SGVideoComponentDispatch + 81
30 com.apple.CoreServices.CarbonCore 0x97b2bade CallComponent + 151
31 com.apple.CoreServices.CarbonCore 0x97b2bb38 CallComponentDispatch + 29
32 com.apple.QuickTime 0x9077da9f SGSetChannelUsage + 43
33 com.cycling74.jit.qt.grab 0x126e435a jit_qt_grab_start + 161
34 com.cycling74.jit.qt.grab 0x126e6b84 jit_qt_grab_mreset + 388
35 com.cycling74.jit.qt.grab 0x126e6e28 jit_qt_grab_opencomponent + 666
36 com.cycling74.jit.qt.grab 0x126e7075 jit_qt_grab_open + 91
37 com.cycling74.Max 0x000b8431 object_method_typedfun + 101
38 com.cycling74.Max 0x000b85b2 object_method_typed + 169
39 com.cycling74.MaxAPI 0x058753e9 object_method_typed + 89
40 com.cycling74.JitterAPI 0x12f0e670 max_jit_obex_gimmeback_dumpout + 79
41 com.cycling74.JitterAPI 0x12f0f1c1 max_defer_low_method + 162
42 com.cycling74.Max 0x000261cc typedmess_fun + 1050
43 com.cycling74.Max 0x0006c41c outlet_anything + 846
44 com.cycling74.Max 0x000261cc typedmess_fun + 1050
45 com.cycling74.Max 0×00026581 typedmess + 72
46 com.cycling74.Max 0×00027577 aeval + 1288
47 com.cycling74.Max 0x000102d9 atombuf_eval + 145
48 com.cycling74.MaxAPI 0×05873594 atombuf_eval + 84
49 com.cycling74.message 0x0cee6753 jmessage_atombuf_eval + 339
50 com.cycling74.message 0x0cee6e30 jmessage_dobang + 123
51 com.cycling74.message 0x0cee6f05 jmessage_mousedown + 205
52 com.cycling74.Max 0x000b8aa5 object_method + 963
53 com.cycling74.Max 0x000fd194 BoxComponent::sendMouseMessage(juce::MouseEvent const&, symbol*, double, double) + 264
54 com.cycling74.Max 0×00101457 BoxComponent::mouseDown(juce::MouseEvent const&) + 1247
55 com.cycling74.Max 0×00330410 juce::Component::internalMouseDown(juce::MouseInputSource&, juce::Point const&, juce::Time const&) + 584
56 com.cycling74.Max 0x0038e392 juce::MouseInputSourceInternal::sendMouseDown(juce::Component*, juce::Point
const&, long long) + 96
57 com.cycling74.Max 0x0038ea38 juce::MouseInputSourceInternal::setButtons(juce::Point
const&, long long, juce::ModifierKeys const&) + 380
58 com.cycling74.Max 0x0038eb74 juce::MouseInputSourceInternal::handleEvent(juce::ComponentPeer*, juce::Point
const&, long long, juce::ModifierKeys const&) + 172
59 com.cycling74.Max 0x0038dc45 juce::MouseInputSource::handleEvent(juce::ComponentPeer*, juce::Point
const&, long long, juce::ModifierKeys const&) + 75
60 com.cycling74.Max 0×00396289 juce::ComponentPeer::handleMouseEvent(int, juce::Point
const&, juce::ModifierKeys const&, long long) + 103
61 com.cycling74.Max 0x004362df juce::NSViewComponentPeer::sendMouseEvent(NSEvent*) + 113
62 com.cycling74.Max 0×00436599 juce::NSViewComponentPeer::redirectMouseDown(NSEvent*) + 129
63 com.cycling74.Max 0x0042b9f3 -[JuceNSView_1_52_105_3 asyncMouseDown:] + 34
64 com.cycling74.Max 0x0042eade -[JuceNSView_1_52_105_3 mouseDown:] + 52
65 com.apple.AppKit 0×92228991 -[NSWindow sendEvent:] + 6968
66 com.apple.AppKit 0x9222397f -[NSApplication sendEvent:] + 4278
67 com.apple.AppKit 0x9213d69c -[NSApplication run] + 951
68 com.cycling74.Max 0x0043270f juce::MessageManager::runDispatchLoop() + 731
69 com.cycling74.Max 0x002c1f02 juce::JUCEApplication::main(juce::StringArray const&) + 68
70 com.cycling74.Max 0x002c2025 juce::JUCEApplication::main(int, char const**) + 73
71 com.cycling74.Max 0x0000db8b _start + 209
72 com.cycling74.Max 0x0000dab9 start + 41


May 23, 2014 | 2:13 pm

Hi, did you ever get this camera working well with Max? I’m trying to find a similar spec’ed camera that plays nice with Max on macs.


May 23, 2014 | 3:17 pm

hi,, i had same problem and setting [jit.qt.grab 640 480] solved

don’t know, but seems like the crash is because FF is sending 640×480 and jit.qt.grab is trying to get 320×240
but i never try to change size to 320×240 in FlyCapture and see if then jit.qt.grab 320×240 works

if you like to have 60fps send to qt.grab (framerate 60, colormode uyvy) message and then you can go back to argb

good luck


May 23, 2014 | 4:07 pm

hi carsol,

do you have the firefly firewire camera? i’m looking for a good camera to use with max.


May 24, 2014 | 3:36 am

hi brunatius,

yes, i use a FireFlyMV2, b&w firewire, and works very well with Max once you know how to make it run…

i choose this model, one year go because its very sensitive to infrared lighting, but if i would need another camera in the future, probably i would check GigE interface (for long distance cabling) and CCD

my main concern with PGR is the lack of FlyCapture config utility for Mac platform, they have only Windows version of the app.
Even so, you can modify parameters using IIDC commands, not so easy but possible… theres other parameters in memory registers (like fps) and i didn’t had the time to check how to change them via iidc cmds.

best!


May 30, 2014 | 8:33 am

Hi Carsol,

Thanks for getting back to me. I’m interested in imaging social dancing and making the video interact with music being played. I think IR would help me but then I would need to provide IR illumination? How would that work within a context where there are many lights around, some even very bright red?

Also, did you end up using C-mount objectives and putting IR filters on them? I’m finding the 1/3" sensor to be a bit small even when I put a 8.5mm c-mount objective on the cameras. I tried some 2/3" sensors and they work better to capture a bigger area with dancers.

Your work was very inspiring btw.


May 30, 2014 | 3:17 pm

I think I may be having the same problem as the original poster but I’m on OS 10.9.3 and using Max 6.1.7. When I try to use a Sony HCR-HD7 (IIDC camera) Max will crash immediately after I hit the open button (using Jitter Tutorial 21, example 1). It will actually work about 8% of the time.

I was just testing something else and when I have a PS Eye plugged in (using this macam driver which is working for me in 10.9) the IIDC camera will also work every time without any crashes.


June 3, 2014 | 10:54 am

Brunatius,
if you want track in the same area where you do the projections, yes, you need IR lighting basically to make the videoprojection blind to the camera. if you don’t track in front of the screen and depending your lighting situation then maybe you don’t need infrared.

FireFlyMV2 is CS mount. i use a Fujinon lens: FUYV27X29LR4 very bright and very wide.
and yes i attach in front of the lens a LEE ir filter #87c if i don’t remember bad…

good luck!


Viewing 9 posts - 1 through 9 (of 9 total)