Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16-Mar-10 14:42
|
Steven M. Alper
Joined: 05-Mar-07 08:09
Messages: 55
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:
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:
I tried reinstalling QRecall, but that didn't solve it.
Very much looking forward to hearing from you!
This message was edited 1 time. Last update was at 16-Mar-10 14:43
|
--
Steven M. Alper
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16-Mar-10 16:19
|
James Bucanek
Joined: 14-Feb-07 10:05
Messages: 1550
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:
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 - |
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17-Mar-10 05:16
|
Steven M. Alper
Joined: 05-Mar-07 08:09
Messages: 55
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
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17-Mar-10 10:47
|
James Bucanek
Joined: 14-Feb-07 10:05
Messages: 1550
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.
This message was edited 1 time. Last update was at 18-Mar-10 11:59
|
- QRecall Development - |
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17-Mar-10 11:27
|
Steven M. Alper
Joined: 05-Mar-07 08:09
Messages: 55
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:
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
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17-Mar-10 12:19
|
James Bucanek
Joined: 14-Feb-07 10:05
Messages: 1550
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:
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 - |
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18-Mar-10 14:05
|
Steven M. Alper
Joined: 05-Mar-07 08:09
Messages: 55
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
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18-Mar-10 16:49
|
James Bucanek
Joined: 14-Feb-07 10:05
Messages: 1550
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 - |
|
 |
|
|
|