http://bugs.winehq.org/show_bug.cgi?id=824
------- Additional Comments From randy.galbraith(a)cox.net 2004-11-10 10:11 -------
Tony,
Thanks for the info. I'll follow up using the method you suggest.
Best Regards,
-Randy Galbraith
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=2508
------- Additional Comments From bon(a)elektron.ikp.physik.tu-darmstadt.de 2004-11-10 07:31 -------
It's a good idea to write, test and submit testcases for these problems for our
testsuite
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=2508
------- Additional Comments From andi(a)rhlx01.fht-esslingen.de 2004-11-10 03:20 -------
Yup,
[andi@note include]$ grep -i c00000ba *.h
ntstatus.h:#define STATUS_FILE_IS_A_DIRECTORY 0xC00000BA
this also shows that it complains about creating a directory, which is invalid.
So this call
000b:Call kernel32.CreateFileW(10415fc0
L"Z:\\home\\vengeance\\Server\\Program\\Bin\\",40000000,00000007,00000000,00000003,02000000,00000000)
ret=1015b46d
is very obviously wrong, i.e. it is missing the filename part (which is even
more obvious since it actually contains a trailing \\, too!).
Check for string operations (or other function calls!) on the 10415fc0 string
before that call, something there is incorrect!
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=824
------- Additional Comments From tony_lambregts(a)telusplanet.net 2004-10-10 23:44 -------
Patches tend to bit rot here. If you want them reviewed it is probably better
to submit them to wine-devel. Also patches are supposed to be in diff -u
format. For more information please refer to the following link.
http://www.winehq.org/site/docs/wine-devel/patches
Please include a link to this bug report in your post.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=2508
------- Additional Comments From shiva(a)sewingwitch.com 2004-10-10 16:34 -------
I traced the call in wineserver, here's the output:
0009: create_file( access=40000000, inherit=0, sharing=00000007, create=1,
options=00004010, attrs=00000000,
filename="/home/vengeance/.wine/dosdevices/z:/home/vengeance/Server/Program/Bin/" )
0009: create_file() = FILE_IS_A_DIRECTORY { handle=(nil) }
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=2508
Summary: CreateFile(directory_name,GENERIC_WRITE,...) returns
STATUS_FILE_IS_A_DIRECTORY
Product: Wine
Version: 20040914
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-files
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: shiva(a)sewingwitch.com
While testing the beta Tribes: Vengeance dedicated server, I found that it tests
for a writable directory with this sequence:
000b:Call kernel32.CreateFileW(10415fc0
L"Z:\\home\\vengeance\\Server\\Program\\Bin\\",40000000,00000007,00000000,00000003,02000000,00000000)
ret=1015b46d
000b:Call ntdll.RtlIsDosDeviceName_U(10415fc0
L"Z:\\home\\vengeance\\Server\\Program\\Bin\\") ret=554b4506
000b:Ret ntdll.RtlIsDosDeviceName_U() retval=00000000 ret=554b4506
000b:Call ntdll.RtlDosPathNameToNtPathName_U(10415fc0
L"Z:\\home\\vengeance\\Server\\Program\\Bin\\",559bebb0,00000000,00000000)
ret=554b42c7
000b:Ret ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=554b42c7
000b:Call
ntdll.NtCreateFile(559beba4,40000000,559bebb8,559beba8,00000000,00000000,00000007,00000001,00004010,00000000,00000000)
ret=554b438f
000b:Ret ntdll.NtCreateFile() retval=c00000ba ret=554b438f
000b:Call ntdll.RtlNtStatusToDosError(c00000ba) ret=554b43bd
000b:Ret ntdll.RtlNtStatusToDosError() retval=00000005 ret=554b43bd
000b:Call ntdll.RtlFreeUnicodeString(559bebb0) ret=554b43cc
000b:Ret ntdll.RtlFreeUnicodeString() retval=00000001 ret=554b43cc
000b:Ret kernel32.CreateFileW() retval=ffffffff ret=1015b46d
As you can see, this fails in NtCreateFile() (create_file() in server/file.c).
Running the program in Win2k with strace, I see this and think it's the
comparable call:
3169 2264 1668 NtCreateFile (0x40100080, {24, 0, 0x40, 0, 2288836,
"\??\K:\Games\tvserver\Server\Program\Bin\"}, 0x0, 0, 7, 1, 16416, 0, 0, ...
124, {status=0x0, info=1}, ) == 0x0
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=824
randy.galbraith(a)cox.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #697 is|0 |1
obsolete| |
------- Additional Comments From randy.galbraith(a)cox.net 2004-10-10 15:02 -------
Created an attachment (id=698)
--> (http://bugs.winehq.org/attachment.cgi?id=698&action=view)
Storage of REG_MULTI_SZ changed from str(7) to hex(7)
Whoops! The last patch was wrong, it used "hex:" instead of "hex(7):", thus
losing the data type in the process of storing a REG_MULTI_SZ. This new patch
corrects that issue and is actually simpler. I've also expanded the test
program (see link off members.cox.net above) to read back and compare the
values.
Best regards,
-Randy Galbraith
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.