• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: -[NSSharedWorkspace openFile:]: Application exits with status 255
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: -[NSSharedWorkspace openFile:]: Application exits with status 255


  • Subject: Re: -[NSSharedWorkspace openFile:]: Application exits with status 255
  • From: Sidney San Martín <email@hidden>
  • Date: Wed, 22 Apr 2009 19:28:13 -0400

I just discovered a new behavior that might be helpful. I'm storing my
helper in MacOS (so that it can be located with [NSBundle
pathForAuxiliaryExecutable:]). The call to openFile: causes both my
application and helper to be executed. My application exits (or so
launchd says, even if I put an NSLog in main(), nothing is printed),
but my helper runs successfully.

This is still a mystery to me. Here's a roundup of situations (best
viewed w/ fixed-width font):

Expected behavior: My app runs normally.
Wrong behavior: Launchd reports that my app exited with status 255, An
NSLog before NSApplicationMain() is not called. A Foundation
executable in my application's MacOS folder runs (passed argument
-psn_0_...) (which should not happen).


pre-touch/utime() behavior   post-touch/utime() behavior
-[NSWorkspace openFile:] from same process (euid 0):            Wrong
                       Wrong
-[NSWorkspace openFile:] from new process (euid 0):             Wrong
                      Expected
-[NSWorkspace openFile:] from new process (euid 50x):
Expected                      Expected

On Wed, Apr 22, 2009 at 3:04 PM, Sidney San Martín <email@hidden> wrote:
> I'm running into an issue that's above my skill level and could really
> use some guidance. My application has an SUID-root update utility (I
> know that's unusual, but it's an internal application that needs to be
> able to update itself even when the logged-in user isn't privileged)
> stored inside the application bundle. It downloads the update, sends a
> message back to the parent application that it's OK to quit, moves the
> new copy into place, and launches it.
>
> That last bit is giving me issues. I'm using -[NSWorkspace openFile:]
> to do the actual relaunching. It returns YES, but my application
> doesn't launch and "com.apple.launchd[152]
> ([0x0-0xb80b8].com.mycompany.MyApplication[3836]) Exited with exit
> code: 255" appears in the Console.
>
> I noticed that at this point, if I use open (on the command line) to
> try to launch my (updated) application, it works. However, if I sudo
> open, it prints "LSOpenFromURLSpec() failed with error -10810 for the
> file ...". -10810 translates to "Unexpected internal error".
>
> If I touch the application bundle, open starts working as me and as
> root. Following this thread, I tried calling utimes() from my helper
> before openFile:, but run into the same condition. I've also tried
> LSRegisterURL() with no change. Can anyone give me a hint as to what's
> happening here? I'm lost.
>
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: -[NSSharedWorkspace openFile:]: Application exits with status 255
      • From: Michael Ash <email@hidden>
References: 
 >-[NSSharedWorkspace openFile:]: Application exits with status 255 (From: Sidney San Martín <email@hidden>)

  • Prev by Date: [OT] Re: How to make app login window to look like OS X user login window ?
  • Next by Date: How to: many users edit same file at the same time ?
  • Previous by thread: Re: -[NSSharedWorkspace openFile:]: Application exits with status 255
  • Next by thread: Re: -[NSSharedWorkspace openFile:]: Application exits with status 255
  • Index(es):
    • Date
    • Thread