View previous topic :: View next topic |
Author |
Message |
pluby The Architect


Joined: Jun 16, 2003 Posts: 11949
|
Posted: Mon Sep 17, 2012 8:43 am Post subject: Image capture crashing bug on Mac OS X 10.8 |
|
While testing NeoOffice with the Mac sandbox, we found that selecting the Tools :: Options :: Add-ons :: Paste Image from Camera or Scanner menu on Mac OS X 10.8 Mountain Lion will crash NeoOffice
We found that the cause of this crashing bug is in Apple's ICAImageImport() function. Apple has deprecated this function so it is unlikely that Apple will fix crashing bug. So, to fix this bug, we have completely reimplemented that menu using Apple's newer ImageKit functions.
This new code is only used on Mac OS X 10.8 Mountain so if anyone is running Mac OS X 10.8 Mountain and has a camera, phone, or scanner that work in Apple's /Applications/Utilities/Image Capture application, can you test if the Tools :: Options :: Add-ons :: Paste Image from Camera or Scanner menu works properly on your machine?:
Intel:
http://sally.neooffice.org/test/NeoOffice-3.3-Patch-1-Test-4-Intel.dmg
Patrick |
|
Back to top |
|
 |
pluby The Architect


Joined: Jun 16, 2003 Posts: 11949
|
|
Back to top |
|
 |
amayze The Merovingian

Joined: Oct 24, 2005 Posts: 561 Location: Edinburgh, Scotland
|
Posted: Wed Sep 19, 2012 6:16 am Post subject: |
|
I've installed NeoOffice 3.3 Patch 1 Test 5 on OS X 10.7.4.
I can't remember when I last used the Tools :: Options :: Add-ons :: Paste Image from Camera or Scanner menu, but I know it has worked in the past. Unfortunately now it does not.
- I select the menu item above
- I select my scanner in the window that appears and press Select
- The scanner makes some noises as if waking up, but the window just has a big banner in it saying "Scanner not available"
I am able to use the scanner normally using the Image Capture application.
Andy |
|
Back to top |
|
 |
pluby The Architect


Joined: Jun 16, 2003 Posts: 11949
|
Posted: Wed Sep 19, 2012 10:01 am Post subject: |
|
amayze wrote: | - I select my scanner in the window that appears and press Select
- The scanner makes some noises as if waking up, but the window just has a big banner in it saying "Scanner not available" |
We still use Apple's ICAImportImage() function on Mac OS X 10.7 Lion and that function is a "black box" that handles all of what you see when you preform both of the above steps. Most likely, Apple added enhancements to the Image Capture application on Mac OS X 10.7 Lion and they did not add those same enhancements to their ICAImportImage() function.
Apple's ICAImportImage() functionally has always had more limited device support than the Image Capture application. Our hope is that the newer ImageKit APIs that we are using in Mac OS X 10.8 Mountain Lion more closely match the behavior of the Image Capture application.
Unfortunately, it is not possible to use the newer code that we added for Mac OS X versions older than Mac OS X 10.8 Mountain Lion so we are stuck with using the old, limited ICAImportImage() function on Mac OS X 10.6 and 10.7.
Patrick |
|
Back to top |
|
 |
pluby The Architect


Joined: Jun 16, 2003 Posts: 11949
|
Posted: Wed Sep 19, 2012 10:11 am Post subject: |
|
pluby wrote: | Apple's ICAImportImage() functionally has always had more limited device support than the Image Capture application.... |
I forgot to add that the ICAImportImage() function seems to lack support for the following devices:
1. Networked devices (that is, not directly connected to your machine using a USB cable)
2. Non-Apple devices (i.e. the ICAImportImage() function should connect to an iPhone but maybe not an Android phone)
Patrick |
|
Back to top |
|
 |
pluby The Architect


Joined: Jun 16, 2003 Posts: 11949
|
Posted: Wed Sep 19, 2012 4:53 pm Post subject: |
|
FYI. I have found a workaround for the problem that was preventing use of our new code in Mac OS X 10.7 and so our new code is enabled for Mac OS X 10.7 in the following test patch.
I do not know if it will work any better than ICAImportImage() does, but I thought it would be worth a try since the ICAImportImage() function appears to be much more limited than the Image Capture application on Mac OS X 10.7:
Intel:
http://sally.neooffice.org/test/NeoOffice-3.3-Patch-1-Test-6-Intel.dmg
Patrick |
|
Back to top |
|
 |
amayze The Merovingian

Joined: Oct 24, 2005 Posts: 561 Location: Edinburgh, Scotland
|
Posted: Thu Sep 20, 2012 2:47 am Post subject: |
|
Installed Patch 1 Test 6 on OS X 10.7.4.
That's great. It works with my scanner and iPhone now. Previously even the iPhone said it was disconnected when it plainly wasn't!
[edit]
I can also confirm that it works as it always has on 10.6.8
[/edit]
Thanks.
Andy |
|
Back to top |
|
 |
pluby The Architect


Joined: Jun 16, 2003 Posts: 11949
|
Posted: Thu Sep 20, 2012 9:35 am Post subject: |
|
FYI. Since amayze confirmed that the new code works on Mac OS X 10.7, in the following test patch I enabled the new code on Mac OS X 10.6.
I only have an Android phone with me so I couldn't test an actual image import, but the last time I tested on my Mac OS X 10.6.8 machine, importing an image worked but Mac OS X also opened the imported image in the Preview application. So, if any of you see this behavior, let me know and I can revert the code back to the old ICAImportImage() function on that version of Mac OS X.
I also found that the new ImageKit code that we are using is quite buggy on Mac OS X 10.8 Mountain Lion so I added a bunch of "defensive" code to try to gracefully handle all of the exceptions that Apple's ImageKit code throws when you disconnect a device or change the selected device while dialog is displayed in NeoOffice:
Intel:
http://sally.neooffice.org/test/NeoOffice-3.3-Patch-1-Test-7-Intel.dmg
Patrick |
|
Back to top |
|
 |
amayze The Merovingian

Joined: Oct 24, 2005 Posts: 561 Location: Edinburgh, Scotland
|
Posted: Thu Sep 20, 2012 10:15 am Post subject: |
|
I've installed Patch 1 Test 7 on both a OS X 10.6.8 and 10.7.4 machine.
pluby wrote: | I only have an Android phone with me so I couldn't test an actual image import, but the last time I tested on my Mac OS X 10.6.8 machine, importing an image worked but Mac OS X also opened the imported image in the Preview application. So, if any of you see this behavior, let me know and I can revert the code back to the old ICAImportImage() function on that version of Mac OS X. |
I see this behaviour (Preview opening) on Mac OS X 10.6.8 when importing an image from an iPhone 3G.
I need to do a little more testing, but on both machines the preference to open ImageCapture when the iPhone is attached became active, though I don't remember having this set before. I'll investigate further tomorrow - I may just be imagining it!
Cheers,
Andy |
|
Back to top |
|
 |
pluby The Architect


Joined: Jun 16, 2003 Posts: 11949
|
Posted: Thu Sep 20, 2012 10:28 am Post subject: |
|
amayze wrote: | I see this behaviour (Preview opening) on Mac OS X 10.6.8 when importing an image from an iPhone 3G. |
If that is the only Apple bug in the ImageKit code that we are using, I would be very happy. While it appears that the Image Capture uses the same ImageKit "device browser" and "camera/scanner import" objects that we are using, I suspect that on Mac OS X 10.6 Apple put the code for opening the imported image in Preview in the "camera/scanner import" object.
While this is an obvious Apple bug, I think it might be better to use the new ImageKit code since the bug only happens on Mac OS X 10.6 and, in exchange for the annoyance of that bug, users will get more expansive device support than the old ICAImportImage() function provides.
amayze wrote: | I need to do a little more testing, but on both machines the preference to open ImageCapture when the iPhone is attached became active, though I don't remember having this set before. I'll investigate further tomorrow - I may just be imagining it! |
The "device browser" object in Apple's ImageKit code that we use includes those controls for setting the system preference for which application to open when you attach a camera or scanner device. By default, Mac OS X sets Image Capture as the default application for each device.
Apple's ICAImportImage() function, in contrast, does not display these system preference controls.
Patrick |
|
Back to top |
|
 |
revsmitty Keymaker

Joined: May 15, 2005 Posts: 94 Location: Iowa, USA
|
Posted: Sat Sep 22, 2012 8:28 pm Post subject: |
|
I finally got around to testing this in 10.8.1. While 3.3 patch 1 crashed when I tried to use Tools:Options:Add Ons and 3.3 Patch 1 test patch 7 worked fine, accessing the scanning unit on my Brother printer/scanner/copier/fax.
Galen |
|
Back to top |
|
 |
Lorinda Captain Mifune

Joined: Jun 20, 2006 Posts: 2051 Location: Midwest, USA
|
Posted: Thu Sep 27, 2012 7:19 am Post subject: |
|
I installed test patch 7 over test patch 8 (from the Dictation support thread), but Neo would not start up for me. It bounced once and did nothing more.
Console logs:
Code: | 9/27/12 9:10:00.894 AM sandboxd[7472]: ([8348]) soffice.bin(8348) deny forbidden-sandbox-reinit
9/27/12 9:10:01.027 AM ReportCrash[8344]: failed looking up LS service ( scCreateSystemService returned MACH_PORT_NULL, called from SetupCoreApplicationServicesCommunicationPort, so using client-side NULL calls.
9/27/12 9:10:01.028 AM ReportCrash[8344]: LaunchServices/5123589: Unable to lookup coreservices session port for session 0x186a0 uid=0 euid=0
9/27/12 9:10:01.028 AM ReportCrash[8344]: failed looking up LS service ( scCreateSystemService returned MACH_PORT_NULL, called from SetupCoreApplicationServicesCommunicationPort, so using client-side NULL calls.
9/27/12 9:10:01.028 AM ReportCrash[8344]: LaunchServices/5123589: Unable to lookup coreservices session port for session 0x186a0 uid=0 euid=0
9/27/12 9:10:01.028 AM ReportCrash[8344]: failed looking up LS service ( scCreateSystemService returned MACH_PORT_NULL, called from SetupCoreApplicationServicesCommunicationPort, so using client-side NULL calls.
9/27/12 9:10:01.028 AM ReportCrash[8344]: LaunchServices/5123589: Unable to lookup coreservices session port for session 0x186a0 uid=0 euid=0
9/27/12 9:10:01.028 AM ReportCrash[8344]: failed looking up LS service ( scCreateSystemService returned MACH_PORT_NULL, called from SetupCoreApplicationServicesCommunicationPort, so using client-side NULL calls.
9/27/12 9:10:01.028 AM ReportCrash[8344]: LaunchServices/5123589: Unable to lookup coreservices session port for session 0x186a0 uid=0 euid=0
9/27/12 9:10:01.029 AM ReportCrash[8344]: failed looking up LS service ( scCreateSystemService returned MACH_PORT_NULL, called from SetupCoreApplicationServicesCommunicationPort, so using client-side NULL calls.
9/27/12 9:10:01.029 AM ReportCrash[8344]: LaunchServices/5123589: Unable to lookup coreservices session port for session 0x186a0 uid=0 euid=0
9/27/12 9:10:01.055 AM com.apple.launchd.peruser.507[186]: ([0x0-0x2bb2bb].8V953UDD5Q.org.neooffice.NeoOffice[8348]) Job appears to have crashed: Illegal instruction: 4
9/27/12 9:10:01.155 AM ReportCrash[8344]: Saved crash report for soffice.bin[8348] version 3.3 Patch 1 (3.3 Patch 1 Intel [pluby:guibonewmini.local.]) to /Library/Logs/DiagnosticReports/soffice.bin_2012-09-27-091001_Majel-Barrett-Prime-2.crash
|
Two crash logs attached: One is the "full report" for the sandbox deny error (first item above) the other is the crash report mentioned in the last Console entry. |
|
Back to top |
|
 |
pluby The Architect


Joined: Jun 16, 2003 Posts: 11949
|
Posted: Thu Sep 27, 2012 7:22 am Post subject: |
|
The crashing that you see was because I had signed that test patch with the wrong digital certificate. I was using a different certificate to test Mac App sandboxing and I had forgotten to change my build back to use our Planamesa Inc. certificate.
The following test patch should have the correct certificate like test patch 7. Let us know if you still have problems launching NeoOffice after installing the following test patch:
Intel:
http://sally.neooffice.org/test/NeoOffice-3.3-Patch-1-Test-9-Intel.dmg
Patrick |
|
Back to top |
|
 |
Lorinda Captain Mifune

Joined: Jun 20, 2006 Posts: 2051 Location: Midwest, USA
|
Posted: Thu Sep 27, 2012 7:30 am Post subject: |
|
yes, that fixed it.
Lorinda |
|
Back to top |
|
 |
pluby The Architect


Joined: Jun 16, 2003 Posts: 11949
|
Posted: Mon Oct 01, 2012 5:49 pm Post subject: |
|
FYI. I have included the fix for this crashing bug in NeoOffice 3.3 Patch 2. You can download the patch from the NeoOffice 3.3 patch download page.
Patrick |
|
Back to top |
|
 |
|