Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We've noticed some oddities where some applications don't work properly for users with existing network accounts [but, see the "User Comparison" section, as they do work with a test network account].

Application Issues

Adobe Bridge CS3

For example, when I run Adobe Bridge CS3 as an existing network account user, it pops up dialog boxes that say:

The operation could not be completed.
A file or directory already exists with the same name.

followed by one that says:

The operation could not be completed.

It doesn't put anything useful in the system log (like which 'file or directory already exists with the same name'). I compared the log results with running it as a local admin and a test network user, and it is doing some funny copying:

Jul 20 08:55:23 Master-2009-07-54 [0x0-0x45045].com.adobe.bridge2[1457]: mv: rename /Applications/Adobe Bridge CS3/Bridge CS3.app/Contents/Resources/de.lproj/Adobe Bridge Opener Preferences.xml to /Applications/Adobe Bridge CS3/Bridge CS3.app/Contents/Resources/de.lproj/Adobe Bridge Opener Preferences_de.xml: Permission denied
Jul 20 08:55:23 Master-2009-07-54 [0x0-0x45045].com.adobe.bridge2[1457]: cp: /Applications/Adobe Bridge CS3/Bridge CS3.app/Contents/Resources/de.lproj/Adobe Bridge Opener Preferences.xml: Permission denied

that is best described as inexplicable.

Adobe Photoshop Elements (6)

When run as an existing network account user, it pops up a dialog that says,

Could not synchronize the color settings because of a program error.

Google Earth

Could not create directory: /Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents/CES_Grade_03/------wild-/Library Earth

[presumably there is supposed to be some more text that wrapped off the side of the dialog, between 'Library' and 'Earth'.]

The next time I tried running it, I got this:

Google Earth could not write to the current cache or myplaces file location. The values will be set as follows:

My Places Path: "/Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents/CES_Grade_03/--- Cache Path: "/Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents/CES_Grade_03/------w

[again, the text went past the end of the dialog]

Google Earth has this to say in the system log:

Jul 21 10:25:40 LeopardMaster-2009-07-20 [0x0-0xfa0fa].com.Google.GoogleEarthPlus[6606]: Intrinsic Alchemy  v3.2 Beta-0303 (Dynamic/Release) 
Jul 21 10:25:40 LeopardMaster-2009-07-20 [0x0-0xfa0fa].com.Google.GoogleEarthPlus[6606]: Built by google on Tue Mar 3 17:33:00 PST 2009
Jul 21 10:25:40 LeopardMaster-2009-07-20 [0x0-0xfa0fa].com.Google.GoogleEarthPlus[6606]: Can't save ticket store (permissions problem?)
Jul 21 10:25:40 LeopardMaster-2009-07-20 [0x0-0xfa0fa].com.Google.GoogleEarthPlus[6606]: INFO: Using igOglVisualContext.
Jul 21 10:25:43 LeopardMaster-2009-07-20 com.apple.launchd[5838] ([0x0-0xfa0fa].com.Google.GoogleEarthPlus[6606]): Exited with exit code: 1

User Comparison

I was testing with two user accounts. One was a student, herein referred to as ------wild- or Wild332, and the other is called 'cesteststudent'. The first was created by a script nearly a year ago, and the second was created manually in Workgroup Manager this morning.

Running the id command for both users yields:

uid=8222(Wild332) gid=620450(CES_Students) groups=620450(CES_Students),620403(CES_Grade_03)

uid=1093(cesteststudent) gid=620450(CES_Students) groups=620450(CES_Students),620403(CES_Grade_03)

The two look equivalent. What is curious, though, is that when I run the applications listed above with the test user, I do not run into any problems. Likewise, I have no trouble with the applications when running as a local user, with or without administrator privileges.

I ran the 'mount' command as the existing user, and it included these two entries:

trigger on /Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents (autofs, automounted)
afp_0SU2uk0006ow0000oM0000VU-1.2e000012 on /Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents (afpfs, nodev, nosuid, automounted, mounted by Wild332)

When I ran

touch /Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents/CES_Grade_03/------wild-/Library/touched
ls -l /Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents/CES_Grade_03/------wild-/Library/touched
-rw-r--r--  1 Wild332  CES_Students  0 Jul 21 10:36

The results are as expected. For good measure, I ran:

ls -l `which touch`
-r-xr-xr-x  1 root  wheel  43056 Feb  6 20:45 /usr/bin/touch
ls -l /Applications/Google\ Earth.app/Contents/MacOS/Google\ Earth 
-rwxr-xr-x  1 sysadmin  admin  32132912 May  5 02:37 /Applications/Google Earth.app/Contents/MacOS/Google Earth

Question

Well, I'm confused. The user appears to have read/write access to their files. Application's run as the user (don't they?). The applications seem to be upset because they do not have read/write access to the users files. [And they haven't told me exactly which file(s) they are trying to access.]

Does anyone know what is wrong, or in which direction I should probe?

Thank you.

share|improve this question
add comment

1 Answer 1

It would be painful and tedious, but the next step I would pursue is running the application under dtruss (or ktrace if you're on an older OS X). This way you can see exactly which calls are failing.

Something like this should do the trick:

sudo dtruss -f open /Applications/Adobe Bridge CS3/Bridge CS3.app > dtruss.out 2>&1

Of course, that only works if the errors occur during startup. If they are triggered by activity once the application is already open, you'll need to identify the PID of the running app and run something like this:

sudo dtruss -f -p $PIDOFAPP > dtruss.out 2>&1

When analyzing the dtruss.out file, grep -v is your friend.

share|improve this answer
    
Now that is a nifty tool. I was able to use 'sudo dtruss -n "Bridge CS3.app" > dtruss.out 2>&1' in a Terminal, run the app, then press Ctrl-C in the terminal. It is a lot of output to analyze, but is sure looks promising. –  Clinton Blackmore Jul 21 '09 at 19:41
    
There's lots of stuff you can ignore. You might even be able to find it right away by just looking at open() calls by adding "-t open" to the dtruss command line. –  Insyte Jul 21 '09 at 20:28
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.