Hi Maciej,

Am 23.02.2010 um 14:40 schrieb Maciej (Matchek) Blizinski:
Here's something for Unix grey beards that I discovered when debugging
a failing unit test in Google protobuf (protocol buffers).  Let's
consider the following set of commands:

cd /var/tmp
touch ${LOGNAME}-foo
test -e ${LOGNAME}-foo/ && echo yes || echo no

(note the trailing slash)

What is in your opinion the proper outcome?

Our buildfarm machines don't seem to agree on the issue.  Here are the
poll results:

|| build8s: no || build8x: yes ||
|| build9s: no || build9x: yes ||
|| build10s: no || build10x: no ||

The script that generated this output:
http://paste.pocoo.org/show/181493/

What do you make of it?  Is it a bug or a feature?  If it's a bug, can
it be fixed on the OS side?

The problem is the trailing "/" on test argument to "test -e". For the test the syscall "access" is issued which returns just 0 on Solaris 8 and 9 and ENOTDIR on Solaris 10 due to massive modifications in the access syscall code
due to the CIFS extensions.

Both build8s and build9s run as branded Zones and access() is not inerposed in the branded zone interposing lib. I think it is a bug as the branded zone
should behave exactly the same as the native Solaris 8.

I'll see that I open a bug report.

Best regards

  -- Dago

_______________________________________________
maintainers mailing list
[email protected]
https://lists.opencsw.org/mailman/listinfo/maintainers
.:: This mailing list's archive is public. ::.

Reply via email to