QRecall Community Forum
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Top Downloads] Top Downloads   [Groups] Back to home page 
[Register] Register /  [Login] Login 

"QRecallKickStart" has no account to back it! RSS feed
Forum Index » Problems and Bugs
Author Message
Steven M. Alper


Joined: Mar 5, 2007
Messages: 56
Offline
I've been having some problems with mdworder and quicklook that led to an Archive and Install and than an Erase and Install of 10.5. These problems seem to be gone, but may have been supplanted by another endlessly recurring set of errors:


3/16/10 5:32:40 PM com.apple.launchd[1] (com.apple.launchd.peruser.501[1444]) PID 49 "QRecallKickStart" has no account to back it! Real/effective/saved UIDs: 501/501/501


I wouldn't bet on QRecall being at fault here, but perhaps you may have a handle on a solution. What I've found on the net seems to lead in many different directions. Some blame this on OpenBase, which I don't have installed (to the best of my knowledge). Others point to a bug in DirectoryServices which was supposed to have been fixed with 10.5.5 (I've got 10.5.8); that's based on this message:

3/16/10 3:19:02 PM /System/Library/CoreServices/coreservicesd[55] _scserver_ServerCheckin: client uid validation failure; getpwuid(501) == NULL


I tried reinstalling QRecall, but that didn't solve it.

Very much looking forward to hearing from you!


-- Steven M. Alper
James Bucanek


Joined: Feb 14, 2007
Messages: 1568
Offline
Steven,

The reinstall may be the source of the problem, and some of the similar messages you've gotten from other software. My first question is "do you have a user account with a UID of 501?"

The message would appear to indicate that you do not. Since UID 501 is assigned to the first account create by the system, this might happen if you installed a new OS, create a new account, then delete the original one created by the system.

If you have no user 501, the solution might be simple. You'll need to edit the file /Library/LaunchDaemons/com.qrecall.scheduler.kickstart.plist. This file is owned by root, so you'll need an editor that can handle it, like BBEdit, or run one of the command-line editors as root (i.e. 'sudo pico /Library/LaunchDaemons/com.qrecall.scheduler.kickstart.plist '). In this file, you'll find a list of the UIDs that need a QRecall scheduler daemon:

<key>ProgramArguments</key>

<array>
<string>501</string>
<string>502</string>
</array>

Delete the element for 501 (and any other account that might not exist).

Background:
The QRecallKickStart daemon is a system-level daemon that spawns user-level daemons for each QRecall user that has selected the option "Start and run actions while logged out." This was done because, while OS X provides for system-level daemons, system-level agents, and user-level agents, it doesn't provide the concept of a "user-level daemon," which is what QRecall needs. The parameters in com.qrecall.scheduler.kickstart.plist tell QRecallKickStart which users have requested a scheduler daemon.

- QRecall Development -
[Email]
Steven M. Alper


Joined: Mar 5, 2007
Messages: 56
Offline
James Bucanek wrote:The reinstall may be the source of the problem, and some of the similar messages you've gotten from other software. My first question is "do you have a user account with a UID of 501?"

The message would appear to indicate that you do not. Since UID 501 is assigned to the first account create by the system, this might happen if you installed a new OS, create a new account, then delete the original one created by the system.


The original problems occurred before my egregious sin, but you've hit the nail on the head. I did a clean install of the OS, creating a new user so that I could do all the updates prior to migrating my old data. Setup Assistant wants to do the migration immediately after the install, and since my quicklook and mdworker issued had not been repaired when I followed that path I wanted a completely "modern" version of the OS to start on.

And then I went ahead and deleted that first user. DOH!

If you have no user 501, the solution might be simple. You'll need to edit the file /Library/LaunchDaemons/com.qrecall.scheduler.kickstart.plist.


That may solve the QRecall problem, which I assume is only a symptom of the much larger problem I discovered shortly after I wrote you: because of the client uid validation problem, the existing users don't have proper permissions. Meaning no write permissions, despite appearing as if they do. If I figure out how to restore those, which I'm guessing has to do with renumbering the users or shifting my primary one to the 501 slot, won't the QRecall problem go away?

I'm off in search of that solution. (Of course, I'll be checking here in case you've got one for me

Thanks, James!

-- Steven M. Alper
James Bucanek


Joined: Feb 14, 2007
Messages: 1568
Offline
Steven M. Alper wrote:That may solve the QRecall problem, which I assume is only a symptom of the much larger problem I discovered shortly after I wrote you: because of the client uid validation problem, the existing users don't have proper permissions.

Yes, this would only solve the problem for QRecall. Any other software that's specifically installed for user 501 will still bump into the same issue.

Meaning no write permissions, despite appearing as if they do.

The write permissions of an account/user are not a property of that account. Every file and folder is owned by a user and a group (ignoring ACLs for the moment), which it uses to grant read, write, and execute access to that user, group, or everyone in general.

The problem is likely that you have files and folders which belong to the original user (501) that do not grant your current users access.

The most straight forward solution would probably be to change the UID of your principle, administrative, user account to 501, then migrating any files owned by the current UID to 501. The "new" account will now have a UID of 501 and own all of the existing 501 files along with any that it previously owned. The process for doing this should be pretty straight forward:

  • 1 Identify the account you want to turn into user 501. Have a second, administrative, account ready. If you don't have a second administrative account, create a temporary one for the purposes of this migration.

  • 2 Log into the account you want to change and uninstall QRecall (Shift+Option+QRecall > Quit and Uninstall), and any other software that might be a problem. You don't want a repeat of the problem you now have with 501.

  • 3 Log out of all accounts. Log into the second administrative account.

  • 4 In the Accounts pane of System Preferences, authenticate and right/control+click on the account that will become user 501. Choose Advanced Options.

  • 5 In the dialog, write down the user's current UID.

  • 6 Change the UID to 501. Don't change anything else.

  • 7 Close System Preferences and open a Terminal window.

  • 8 Enter the command: sudo -s

  • 9 Type your second account's password

  • 10 Enter the command: find / -user <old_UID_from_step_5> -print0 | xargs -0 chown 501

  • 11 Wait for the command to finish; it will take awhile.

  • 12 Restart


  • Roughly, these steps change the user ID of an existing account to 501. The chown command is then used to change the ownership of any file or folder that currently belongs the existing account from what it was to 501. Now that account, all of its files, and any old files that already belonged to owner 501, now all belong to the one account.

    Note: Normally I wouldn't use this forum for general troubleshooting, but since Dan Frakes and I are the author of the free ChangeShortName utility, I have some experience migrating, renaming, and renumbering user accounts.

    - QRecall Development -
    [Email]
    Steven M. Alper


    Joined: Mar 5, 2007
    Messages: 56
    Offline
    A little knowledge, etc....

    So, I flipped my user to 501 from 503 and then did a find command to assign 503's files to 501. Yeah me.

    However, at that point all the complaints that used to be about 501 were now occuring about 503. So I created a new user and assigned it to 503.

    Finally the launchd.peruser getpwuid failed messages stopped.

    I'm not sure my problems are solved, though, because QRecall is now complaining about not being able to create files:

    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.404 -0400 Failure could not open standard log; logging to stderr [3.733848.100.1] 
    
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.411 -0400 Failure recursive attempt to create LogFileLogger [3.733848.100.2]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.412 -0400 #debug# IO exception [3.733848.100.2.1]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.413 -0400 Failure Cannot create support folder [3.733848.100.3]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.415 -0400 Details Folder: /Users/trashed/Library/Logs [3.733848.100.3.1]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.426 -0400 Details Enclosing folder: /Users/trashed/Library [3.733848.100.3.2]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.454 -0400 Details NSFileReferenceCount: 23 [3.733848.100.3.2.1]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.464 -0400 Details NSFileModificationDate: 2010-03-17 13:10:49 -0400 [3.733848.100.3.2.2]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.485 -0400 Details NSFileSystemFileNumber: 5439999 [3.733848.100.3.2.3]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.488 -0400 Details NSFileGroupOwnerAccountName: staff [3.733848.100.3.2.4]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.489 -0400 Details NSFileType: NSFileTypeDirectory [3.733848.100.3.2.5]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.491 -0400 Details NSFileOwnerAccountID: 507 [3.733848.100.3.2.6]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.493 -0400 Details NSFileExtensionHidden: 0 [3.733848.100.3.2.7]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.498 -0400 Details NSFileCreationDate: 2008-03-31 21:52:51 -0400 [3.733848.100.3.2.8]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.502 -0400 Details NSFileGroupOwnerAccountID: 20 [3.733848.100.3.2.9]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.524 -0400 Details NSFilePosixPermissions: 448 [3.733848.100.3.2.10]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.539 -0400 Details NSFileSize: 782 [3.733848.100.3.2.11]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.555 -0400 Details NSFileSystemNumber: 234881027 [3.733848.100.3.2.12]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.556 -0400 Failure could not open standard log; logging to stderr [3.733848.100.4]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.558 -0400 Failure Cannot create support folder [3.733848.100.5]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.579 -0400 #debug# IO exception [3.733848.100.5.1]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.581 -0400 Details Folder: /Users/trashed/Library/Logs [3.733848.100.5.2]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.589 -0400 #debug# started Scheduler-1.1.4-Dec 11 2009 [3.733848.100.6]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.590 -0400 #debug# port: QRecallScheduler [3.733848.100.6.1]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.592 -0400 #debug# uid: 503 [3.733848.100.6.2]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.593 -0400 #debug# euid: 503 [3.733848.100.6.3]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.595 -0400 #debug# ppid: 95 [3.733848.100.6.4]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.613 -0400 #debug# os: Version 10.5.8 (Build 9L31a) [3.733848.100.6.5]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.615 -0400 #debug# arch: ppc [3.733848.100.6.6]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.623 -0400 #debug# DiskAppeared /dev/disk2s3 [3.733848.100.7]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.628 -0400 #debug# added volume 'WD Green (QR)' [3.733848.100.7.1]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.634 -0400 #debug# DiskAppeared /dev/disk2s5 [3.733848.100.8]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.642 -0400 #debug# added volume 'WD Green 2' [3.733848.100.8.1]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.644 -0400 #debug# DiskAppeared /dev/disk0s3 [3.733848.100.9]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.645 -0400 #debug# added volume 'New Mac G5 HD' [3.733848.100.9.1]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.647 -0400 #debug# DiskAppeared /dev/disk0s5 [3.733848.100.10]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.649 -0400 #debug# added volume 'TBD' [3.733848.100.10.1]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.655 -0400 #debug# DiskAppeared /dev/disk1s3 [3.733848.100.11]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.657 -0400 #debug# added volume 'Big Brother 1' [3.733848.100.11.1]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.659 -0400 #debug# DiskAppeared /dev/disk1s5 [3.733848.100.12]
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.661 -0400 #debug# added volume 'Big Brother 2' [3.733848.100.12.1]
    3/17/10 1:13:20 PM QRecallScheduler[100] 2010-03-17 13:13:20.259 -0400 #debug# user logout [3.733848.100.13]
    3/17/10 1:13:22 PM com.apple.launchd[1] (com.qrecall.scheduler[123]) Exited with exit code: 3
    3/17/10 1:13:22 PM QRecallScheduler[100] 2010-03-17 13:13:22.308 -0400 #debug# user logout [3.733848.100.14]


    I can't tell if my OS is worse off or better after all my attempts. I'm not getting the recurring quicklook and mdworker crashes. I'm seeing some entries in the log that make me nervous, but I have no idea if they've been going on for years since I never before spent so much time in Console.

    Yours,

    -- Steven M. Alper
    James Bucanek


    Joined: Feb 14, 2007
    Messages: 1568
    Offline
    Steven M. Alper wrote:However, at that point all the complaints that used to be about 501 were now occuring about 503.

    Did you uninstall QRecall as user 503 before renumbering the account? If the kicker was installed for users 501 and 503, changing 503 to 501 would only replace one non-existent user with another. You can still follow the instructions I gave at the beginning of this thread.

    I'm not sure my problems are solved, though, because QRecall is now complaining about not being able to create files:


    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.404 -0400 Failure could not open standard log; logging to stderr
    
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.413 -0400 Failure Cannot create support folder
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.415 -0400 Details Folder: /Users/trashed/Library/Logs
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.491 -0400 Details NSFileOwnerAccountID: 507
    3/17/10 1:13:19 PM QRecallScheduler[100] 2010-03-17 13:13:19.524 -0400 Details NSFilePosixPermissions: 448


    I think you've got other problems.

    I don't know what user this is being reported from (I'm assuming 501), but the log is telling you that QRecall is trying to access its support folders (Logs, Preferences, Actions, ...) in /Users/trashed/Library and it can't because the folder is owned by user 507. That's neither 503 nor 501. This is really odd, because if you're logged in as user 501 then it should be using user 501's home directory. If its home folder really is /Users/trashed, then it contains items owned by user 507 ... whoever that is. Are you sure your old account's UID was 503 and not 507? If user 501 has a different account name, then the account's home path is incorrect.

    In general, an account should have a home path (i.e. /Users/james) and an UID (501) and all of the files within its home folder should belong to it. So something is still out of place. You might need to reassign 507 files to 501, or fix a home path, or something.

    - QRecall Development -
    [Email]
    Steven M. Alper


    Joined: Mar 5, 2007
    Messages: 56
    Offline
    James:

    Thank you for all of your extra efforts! I finally gave up trying to save the sinking ship that was that OS install and did a new Erase & Install. I kept thinking that if I could just fix this one thing it would be so much quicker than doing a new install. But then there was another thing. And a thing after that. And two days later I devoted half a day to a new install.

    Things are much better now. It's always reassuring to know that it's me and not your software.

    Thanks again.

    -- Steven M. Alper
    James Bucanek


    Joined: Feb 14, 2007
    Messages: 1568
    Offline
    I know from experience that system configuration problems can become a Gordian knot, from which a clean break is often the only expedient solution. I'm glad to hear that you've disentangled yourself from the problem.

    - QRecall Development -
    [Email]
     
    Forum Index » Problems and Bugs
    Go to:   
    Mobile view
    Powered by JForum 2.8.2 © 2022 JForum Team • Maintained by Andowson Chang and Ulf Dittmer