groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] Re: grops and grohtml problems on vista (walter harms)


From: walter harms
Subject: Re: [Groff] Re: grops and grohtml problems on vista (walter harms)
Date: Sat, 27 Jun 2009 11:34:56 +0200
User-agent: Thunderbird 2.0.0.19 (X11/20081227)


Ralph Corderoy schrieb:
> Hi Boudewijn,
> 
>> I just tried StraceNT, here is part of the output generated when grops
>> encounters 'x init'
>>
>> [T5140] CreateFileA(34f818, c0000000, 3, 22fcd0, ...) = 104
> 
> Based on WINE, CreateFileA is almost the same as CreateFileW which is
> 
>     HANDLE WINAPI CreateFileW(LPCWSTR filename, DWORD access, DWORD sharing,
>         LPSECURITY_ATTRIBUTES sa, DWORD creation,
>         DWORD attributes, HANDLE template)
> 
> So we have access = 0xc0000000 and sharing = 3.  So access is READ |
> WRITE:
> 
>     #define GENERIC_READ               0x80000000
>     #define GENERIC_WRITE              0x40000000
> 
> and sharing is READ | WRITE:
> 
>     #define FILE_SHARE_READ                 0x00000001L
>     #define FILE_SHARE_WRITE                0x00000002L
>     #define FILE_SHARE_DELETE               0x00000004L
> 
>> I don't think the c0000000 is correct, in every other call to
>> CreateFileA the second parameter is 80000000.
> 
> That sounds fine;  most of the other files are only being opened for
> reading, GENERIC_READ.  The trace continues
> 
>> [T5140] GetFileType(104, 0, 0, 1065, ...) = 1
>> [T5140] SetFilePointer(104, ffffffff, 0, 2, ...) = ffffffff
>> [T5140] GetLastError(ffffffff, 22fd2c, 22fcf8, 77122b19, ...) = 83
> 
> 0x104 is what CreateFileA returned.  SetFilePointer is
> 
>     http://source.winehq.org/source/dlls/kernel32/file.c#L936
> 
> and the 2 being passed is FILE_END with 0xffffffff = -1 the `distance'.
> It returns INVALID_SET_FILE_POINTER = ~0 and GetLastError is returning
> 0x83 = ERROR_NEGATIVE_SEEK.
> 
> That then ripples through the next set of trace.
> 
>> [T5140] GetLastError(ffffffff, 3, 770ee2d4, 770f4fe0, ...) = 83
>> [T5140] FlsGetValue(3, ffffffff, 3, 770ee2d4, ...) = 3407d8
>> [T5140] SetLastError(83, ffffffff, 3, 770ee2d4, ...) = 0
>> [T5140] GetLastError(ffffffff, 16, 770ea9c5, 770f4ff3, ...) = 83
>> [T5140] FlsGetValue(3, ffffffff, 16, 770ea9c5, ...) = 3407d8
>> [T5140] SetLastError(83, ffffffff, 16, 770ea9c5, ...) = 0
>> [T5140] GetLastError(ffffffff, 22fd2c, 770ee2d4, 77122b28, ...) = 83
>> [T5140] FlsGetValue(3, ffffffff, 22fd2c, 770ee2d4, ...) = 3407d8
>> [T5140] SetLastError(83, ffffffff, 22fd2c, 770ee2d4, ...) = 0
>> [T5140] LeaveCriticalSection(340a80, 22fd48, 7713db33, 3, ...) = 0
>> [T5140] GetLastError(3, 34f818, 770ea9c5, 420229, ...) = 83
>> [T5140] FlsGetValue(3, 3, 34f818, 770ea9c5, ...) = 3407d8
>> [T5140] SetLastError(83, 3, 34f818, 770ea9c5, ...) = 0
>> [T5140] GetLastError(0, 1, 770ea9c5, 77127c1a, ...) = 83
>> [T5140] FlsGetValue(3, 0, 1, 770ea9c5, ...) = 3407d8
>> [T5140] SetLastError(83, 0, 1, 770ea9c5, ...) = 0
>> [T5140] OutputDebugStringA(77144cc0, 10001, 770ee31e, 22fadc, ...)
>> Invalid parameter passed to C runtime function.
>> = 22f168
> 
> Dont' know if that helps any.  I'd back the hunch of others in that the
> mode of the file that's opened by the Windows kernel doesn't match the
> later request to the C library with fdopen().  This `negative seek'
> could just be a red-herring.  What happens for the `init x' on the case
> where there's no problems;  the dvi one?
> 


hi,
i do not use win* so if there is someone who knows and is willing to look into 
that
it may be interesting to that there is a function called tmpfile(3), it is 
ISO,POSIX,...

i admit not looking into the groff code.

re,
 wh










reply via email to

[Prev in Thread] Current Thread [Next in Thread]