Welcome to NeoOffice developer notes and announcements
NeoOffice
Developer notes and announcements
 
 

This website is an archive and is no longer active
NeoOffice announcements have moved to the NeoOffice News website


Support
· Forums
· NeoOffice Support
· NeoWiki


Announcements
· Twitter @NeoOffice


Downloads
· Download NeoOffice


  
NeoOffice :: View topic - Image capture crashing bug on Mac OS X 10.8
Image capture crashing bug on Mac OS X 10.8
 
   NeoOffice Forum Index -> NeoOffice Releases
View previous topic :: View next topic  
Author Message
pluby
The Architect
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: 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
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: Tue Sep 18, 2012 10:16 pm    Post subject:

FYI. I found one small bug in the last test patch so please use the following test patch instead:

Intel:
http://sally.neooffice.org/test/NeoOffice-3.3-Patch-1-Test-5-Intel.dmg

Patrick
Back to top
amayze
The Merovingian


Joined: Oct 24, 2005
Posts: 561
Location: Edinburgh, Scotland

PostPosted: 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
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: 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
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: 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
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: 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

PostPosted: 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
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: 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

PostPosted: 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
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: 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

PostPosted: 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

PostPosted: 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
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: 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

PostPosted: Thu Sep 27, 2012 7:30 am    Post subject:

yes, that fixed it.

Lorinda
Back to top
pluby
The Architect
The Architect


Joined: Jun 16, 2003
Posts: 11949

PostPosted: 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
Display posts from previous:   
   NeoOffice Forum Index -> NeoOffice Releases All times are GMT - 7 Hours
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

Powered by phpBB © 2001, 2005 phpBB Group

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © Planamesa Inc.
NeoOffice is a registered trademark of Planamesa Inc. and may not be used without permission.
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.