Re: Something's rotten in git today...

2011-09-19 Thread Jérôme Gardou

Le 19/09/2011 14:35, Bernhard Loos a écrit :
This patch should fix the problem: 
http://source.winehq.org/patches/data/79042 I switched it back to use 
nonoverlapped named pipe functions, as only the ConnectNamedPipe 
operation actually needs the overlapped mode, so I used a dedicated 
thread for it. The other option would be to create the overlapped 
completation event for each read/write operation, but this would 
result in a lot more overhead. Bernhard 

Hello.

See the patch I sent on Friday. I guess now it's Alexandre choice 
between the two solutions.


Regards.
Jérôme.




Re: Something's rotten in git today...

2011-09-19 Thread Bernhard Loos
On Thu, Sep 15, 2011 at 8:55 PM, Bernhard Loos
 wrote:
> On Thu, Sep 15, 2011 at 8:33 PM, Dan Kegel  wrote:
>> On Thu, Sep 15, 2011 at 11:13 AM, Bernhard Loos
>>  wrote:
> It might be just me, but I've seen five very strange test failures
> today out of about 30 build/test runs.
> Has anybody else noticed problems?

 It smells like the rpcrt4 change.
>>
>> I thought so, too.
>>
>>> I admit I'm a bit at a loss, how this could happen. Could you create a
>>> +seh,+rpc log?
>>> And does it go away, if you revert those changes?
>>
>> I've reproduced it twice now in an hour on two quad-core machines with
>> the script
>>
>> for try in `seq 1 100`
>> do
>>    echo try $try
>>    server/wineserver -k || true
>>    rm -rf ~/.wine
>>    cd dlls/advapi32/tests
>>    rm -f *.ok
>>    make test
>>    cd ../../msi/tests
>>    rm -f action.ok
>>    make action.ok
>>    cd ../../..
>> done
>>
>> so it may take me a while to verify that it goes away after reverting
>> the rpc change
>> or to get you a detailed log.
>>
>> In one of the failures, I got the service.ok failure from above:
>>
>> service.c:152: Test failed: Expected success, got error 1060
>> err:rpc:I_RpcGetBuffer no binding
>> service.c:176: Test failed: Expected ERROR_SERVICE_DOES_NOT_EXIST, got 123
>>
>> In the other, I got a crash in service.ok:
>> ../../../tools/runtest -q -P wine -M advapi32.dll -T ../../.. -p
>> advapi32_test.exe.so service.c && touch service.ok
>> err:rpc:I_RpcGetBuffer no binding
>> err:rpc:I_RpcGetBuffer no binding
>> wine: Unhandled page fault on read access to 0x60481043 at address
>> 0x7bc34227 (thread 0021), starting debugger..
>> err:ntdll:RtlpWaitForCriticalSection section 0x110530 "?" wait timed
>> out in thread 002a, blocked by 0021, retrying (60 sec)
>> ...
>
> This crash is the most interesting thing by far. It looks like it's
> somewhere in ntdll.
> Could you please check where exectly? Ntdll should always get mapped
> to the same place, so if you didn't make any changes to it in the
> meantime, you can check it with some random wine process without
> waiting for the crash to happen again
>
>> I don't get backtraces much anymore because of that darn deadlock (unrelated
>> to the current problem), and btall doesn't seem to show a crash (though it
>> does have some interesting stack traces); see the attachment.
>>
>> Austin may have a related crash in rpcrt4_test.exe.so server.c, see
>> http://bugs.winehq.org/show_bug.cgi?id=28383#c2
>>

This patch should fix the problem:
http://source.winehq.org/patches/data/79042
I switched it back to use nonoverlapped named pipe functions, as only
the ConnectNamedPipe operation actually needs the overlapped mode, so
I used a dedicated thread for it. The other option would be to create
the overlapped completation event for each read/write operation, but
this would result in a lot more overhead.

  Bernhard




Re: Something's rotten in git today...

2011-09-16 Thread Austin English
On Thu, Sep 15, 2011 at 13:55, Bernhard Loos
 wrote:
> On Thu, Sep 15, 2011 at 8:33 PM, Dan Kegel  wrote:
>> On Thu, Sep 15, 2011 at 11:13 AM, Bernhard Loos
>>  wrote:
> It might be just me, but I've seen five very strange test failures
> today out of about 30 build/test runs.
> Has anybody else noticed problems?

 It smells like the rpcrt4 change.
>>
>> I thought so, too.
>>
>>> I admit I'm a bit at a loss, how this could happen. Could you create a
>>> +seh,+rpc log?
>>> And does it go away, if you revert those changes?
>>
>> I've reproduced it twice now in an hour on two quad-core machines with
>> the script
>>
>> for try in `seq 1 100`
>> do
>>    echo try $try
>>    server/wineserver -k || true
>>    rm -rf ~/.wine
>>    cd dlls/advapi32/tests
>>    rm -f *.ok
>>    make test
>>    cd ../../msi/tests
>>    rm -f action.ok
>>    make action.ok
>>    cd ../../..
>> done
>>
>> so it may take me a while to verify that it goes away after reverting
>> the rpc change
>> or to get you a detailed log.
>>
>> In one of the failures, I got the service.ok failure from above:
>>
>> service.c:152: Test failed: Expected success, got error 1060
>> err:rpc:I_RpcGetBuffer no binding
>> service.c:176: Test failed: Expected ERROR_SERVICE_DOES_NOT_EXIST, got 123
>>
>> In the other, I got a crash in service.ok:
>> ../../../tools/runtest -q -P wine -M advapi32.dll -T ../../.. -p
>> advapi32_test.exe.so service.c && touch service.ok
>> err:rpc:I_RpcGetBuffer no binding
>> err:rpc:I_RpcGetBuffer no binding
>> wine: Unhandled page fault on read access to 0x60481043 at address
>> 0x7bc34227 (thread 0021), starting debugger..
>> err:ntdll:RtlpWaitForCriticalSection section 0x110530 "?" wait timed
>> out in thread 002a, blocked by 0021, retrying (60 sec)
>> ...
>
> This crash is the most interesting thing by far. It looks like it's
> somewhere in ntdll.
> Could you please check where exectly? Ntdll should always get mapped
> to the same place, so if you didn't make any changes to it in the
> meantime, you can check it with some random wine process without
> waiting for the crash to happen again
>
>> I don't get backtraces much anymore because of that darn deadlock (unrelated
>> to the current problem), and btall doesn't seem to show a crash (though it
>> does have some interesting stack traces); see the attachment.
>>
>> Austin may have a related crash in rpcrt4_test.exe.so server.c, see
>> http://bugs.winehq.org/show_bug.cgi?id=28383#c2
>>

FWIW, on my local buildbot (debain testing 32-bit), the following
tests have been randomly failing lately:
kernel32/thread
rpcrt4/server
setupapi/install
user32/menu
user32/edit

the user32 failures are likely flakiness, but the others may be
related to this patch. I'm updating now to revert that patch and will
see if that helps.

Results are at http://austin987.dyndns.org:8010/ for now, for those
curious. Once sorted out, will join main buildbot farm.

-- 
-Austin




Re: Something's rotten in git today...

2011-09-15 Thread Bernhard Loos
On Thu, Sep 15, 2011 at 8:33 PM, Dan Kegel  wrote:
> On Thu, Sep 15, 2011 at 11:13 AM, Bernhard Loos
>  wrote:
 It might be just me, but I've seen five very strange test failures
 today out of about 30 build/test runs.
 Has anybody else noticed problems?
>>>
>>> It smells like the rpcrt4 change.
>
> I thought so, too.
>
>> I admit I'm a bit at a loss, how this could happen. Could you create a
>> +seh,+rpc log?
>> And does it go away, if you revert those changes?
>
> I've reproduced it twice now in an hour on two quad-core machines with
> the script
>
> for try in `seq 1 100`
> do
>    echo try $try
>    server/wineserver -k || true
>    rm -rf ~/.wine
>    cd dlls/advapi32/tests
>    rm -f *.ok
>    make test
>    cd ../../msi/tests
>    rm -f action.ok
>    make action.ok
>    cd ../../..
> done
>
> so it may take me a while to verify that it goes away after reverting
> the rpc change
> or to get you a detailed log.
>
> In one of the failures, I got the service.ok failure from above:
>
> service.c:152: Test failed: Expected success, got error 1060
> err:rpc:I_RpcGetBuffer no binding
> service.c:176: Test failed: Expected ERROR_SERVICE_DOES_NOT_EXIST, got 123
>
> In the other, I got a crash in service.ok:
> ../../../tools/runtest -q -P wine -M advapi32.dll -T ../../.. -p
> advapi32_test.exe.so service.c && touch service.ok
> err:rpc:I_RpcGetBuffer no binding
> err:rpc:I_RpcGetBuffer no binding
> wine: Unhandled page fault on read access to 0x60481043 at address
> 0x7bc34227 (thread 0021), starting debugger..
> err:ntdll:RtlpWaitForCriticalSection section 0x110530 "?" wait timed
> out in thread 002a, blocked by 0021, retrying (60 sec)
> ...

This crash is the most interesting thing by far. It looks like it's
somewhere in ntdll.
Could you please check where exectly? Ntdll should always get mapped
to the same place, so if you didn't make any changes to it in the
meantime, you can check it with some random wine process without
waiting for the crash to happen again

> I don't get backtraces much anymore because of that darn deadlock (unrelated
> to the current problem), and btall doesn't seem to show a crash (though it
> does have some interesting stack traces); see the attachment.
>
> Austin may have a related crash in rpcrt4_test.exe.so server.c, see
> http://bugs.winehq.org/show_bug.cgi?id=28383#c2
>




Re: Something's rotten in git today...

2011-09-15 Thread Bernhard Loos
On Thu, Sep 15, 2011 at 7:27 PM, Alexandre Julliard  wrote:
> Dan Kegel  writes:
>
>> It might be just me, but I've seen five very strange test failures
>> today out of about 30 build/test runs.
>> Has anybody else noticed problems?
>
> It smells like the rpcrt4 change.
>
> --
> Alexandre Julliard
> julli...@winehq.org

I admit I'm a bit at a loss, how this could happen. Could you create a
+seh,+rpc log?
And does it go away, if you revert those changes?




Re: Something's rotten in git today...

2011-09-15 Thread Dan Kegel
On Thu, Sep 15, 2011 at 11:13 AM, Bernhard Loos
 wrote:
>>> It might be just me, but I've seen five very strange test failures
>>> today out of about 30 build/test runs.
>>> Has anybody else noticed problems?
>>
>> It smells like the rpcrt4 change.

I thought so, too.

> I admit I'm a bit at a loss, how this could happen. Could you create a
> +seh,+rpc log?
> And does it go away, if you revert those changes?

I've reproduced it twice now in an hour on two quad-core machines with
the script

for try in `seq 1 100`
do
echo try $try
server/wineserver -k || true
rm -rf ~/.wine
cd dlls/advapi32/tests
rm -f *.ok
make test
cd ../../msi/tests
rm -f action.ok
make action.ok
cd ../../..
done

so it may take me a while to verify that it goes away after reverting
the rpc change
or to get you a detailed log.

In one of the failures, I got the service.ok failure from above:

service.c:152: Test failed: Expected success, got error 1060
err:rpc:I_RpcGetBuffer no binding
service.c:176: Test failed: Expected ERROR_SERVICE_DOES_NOT_EXIST, got 123

In the other, I got a crash in service.ok:
../../../tools/runtest -q -P wine -M advapi32.dll -T ../../.. -p
advapi32_test.exe.so service.c && touch service.ok
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
wine: Unhandled page fault on read access to 0x60481043 at address
0x7bc34227 (thread 0021), starting debugger..
err:ntdll:RtlpWaitForCriticalSection section 0x110530 "?" wait timed
out in thread 002a, blocked by 0021, retrying (60 sec)
...

I don't get backtraces much anymore because of that darn deadlock (unrelated
to the current problem), and btall doesn't seem to show a crash (though it
does have some interesting stack traces); see the attachment.

Austin may have a related crash in rpcrt4_test.exe.so server.c, see
http://bugs.winehq.org/show_bug.cgi?id=28383#c2
Wine-dbg>0x68000830 GLIBC_2+0x830 in ld-linux.so.2: int $0x80

Backtracing for thread 0015 in process 000c (C:\windows\system32\services.exe):
Backtrace:
=>0 0x68000830 GLIBC_2+0x830() in ld-linux.so.2 (0x00b3e358)
  1 0x7bc83518 NTDLL_wait_for_multiple_objects+0x26c(count=0x1, 
handles=0xb3e5f8, flags=0x4, timeout=(nil), signal_object=0x0(nil)) 
[/home/dank/wine-git/dlls/ntdll/sync.c:1124] in ntdll (0x00b3e578)
  2 0x7bc8361b NtWaitForMultipleObjects+0x67(count=0x1, handles=0xb3e5f8, 
wait_all=0, alertable=0, timeout=(nil)) 
[/home/dank/wine-git/dlls/ntdll/sync.c:1162] in ntdll (0x00b3e5c8)
  3 0x7b871de9 WaitForMultipleObjectsEx+0x134(count=0x1, handles=0xb3e750, 
wait_all=0, timeout=0x, alertable=0) 
[/home/dank/wine-git/dlls/kernel32/sync.c:188] in kernel32 (0x00b3e718)
  4 0x7b871c21 WaitForSingleObject+0x3b(handle=0x4c, timeout=0x) 
[/home/dank/wine-git/dlls/kernel32/sync.c:128] in kernel32 (0x00b3e748)
  5 0x7b83d8c9 GetOverlappedResult+0xc9(hFile=0x48, lpOverlapped=0x1120a0, 
lpTransferred=0xb3e7c4, bWait=0x1) 
[/home/dank/wine-git/dlls/kernel32/file.c:602] in kernel32 (0x00b3e798)
  6 0x685df561 rpcrt4_conn_np_read+0x98(Connection=0x112028, buffer=0xb3e88c, 
count=0x10) [/home/dank/wine-git/dlls/rpcrt4/rpc_transport.c:418] in rpcrt4 
(0x00b3e7e8)
  7 0x685d46a5 rpcrt4_conn_read+0x24(Connection=0x112028, buffer=0xb3e88c, 
len=0x10) [/home/dank/wine-git/dlls/rpcrt4/rpc_binding.h:177] in rpcrt4 
(0x00b3e808)
  8 0x685d79e2 RPCRT4_default_receive_fragment+0xbc(Connection=0x112028, 
Header=0xb3e9c8, Payload=0xb3e908) 
[/home/dank/wine-git/dlls/rpcrt4/rpc_message.c:1297] in rpcrt4 (0x00b3e8a8)
  9 0x685d7d7a RPCRT4_receive_fragment+0x4c(Connection=0x112028, 
Header=0xb3e9c8, Payload=0xb3e908) 
[/home/dank/wine-git/dlls/rpcrt4/rpc_message.c:1363] in rpcrt4 (0x00b3e8c8)
  10 0x685d7e72 RPCRT4_ReceiveWithAuth+0xf5(Connection=0x112028, 
Header=0xb3e9c8, pMsg=0x112418, auth_data_out=0xb3e9c4, 
auth_length_out=0xb3e9c0) [/home/dank/wine-git/dlls/rpcrt4/rpc_message.c:1396] 
in rpcrt4 (0x00b3e998)
  11 0x685dae8e RPCRT4_io_thread+0xd5(the_arg=0x112028) 
[/home/dank/wine-git/dlls/rpcrt4/rpc_server.c:562] in rpcrt4 (0x00b3ea48)
  12 0x7bc7f028 call_thread_func+0xb() in ntdll (0x00b3ea58)
  13 0x7bc7f066 call_thread_entry_point+0x33(entry=0x685dadb8, arg=0x112028) 
[/home/dank/wine-git/dlls/ntdll/signal_i386.c:2499] in ntdll (0x00b3eb38)
  14 0x7bc8694f start_thread+0x1c6(info=0x7ffb8fb8) 
[/home/dank/wine-git/dlls/ntdll/thread.c:405] in ntdll (0x00b3f398)
  15 0x6818ae72 start_thread+0xd1() in libpthread.so.0 (0x00b3f498)

Backtracing for thread 002a in process 000c (C:\windows\system32\services.exe):
Backtrace:

Backtracing for thread 0026 in process 000c (C:\windows\system32\services.exe):
Backtrace:
=>0 0x68000830 GLIBC_2+0x830() in ld-linux.so.2 (0x0083e358)
  1 0x7bc83518 NTDLL_wait_for_multiple_objects+0x26c(count=0x1, 
handles=0x83e5f8, flags=0x4, timeout=(nil), signal_object=0x0(nil)) 
[/home/dank/wine-git/dlls/ntdll/sync.c:1124] in ntdll (0x0083e578)
  2 0x7bc8361b NtWaitForMultipleObjects+0x67(count=0x1, handles=0x83e5f8, 
wait_all=0, aler

Re: Something's rotten in git today...

2011-09-15 Thread Alexandre Julliard
Dan Kegel  writes:

> It might be just me, but I've seen five very strange test failures
> today out of about 30 build/test runs.
> Has anybody else noticed problems?

It smells like the rpcrt4 change.

-- 
Alexandre Julliard
julli...@winehq.org




Re: Something's rotten in git today...

2011-09-15 Thread Maarten Lankhorst
Hey Dan,

On 09/15/2011 02:02 AM, Dan Kegel wrote:
> It might be just me, but I've seen five very strange test failures
> today out of about 30 build/test runs.
> Has anybody else noticed problems?
>
Does it happen if you try wine.git from before yesterday too?

~Maarten




Something's rotten in git today...

2011-09-14 Thread Dan Kegel
It might be just me, but I've seen five very strange test failures
today out of about 30 build/test runs.
Has anybody else noticed problems?

Here they are, most recent first:

 http://buildbot.kegel.com/builders/runtests-default/builds/72

../../../tools/runtest -q -P wine -M advapi32.dll -T ../../.. -p
advapi32_test.exe.so service.c && touch service.ok
err:rpc:I_RpcGetBuffer no binding
err:rpc:I_RpcGetBuffer no binding
service.c:152: Test failed: Expected success, got error 1060
err:rpc:I_RpcGetBuffer no binding
service.c:176: Test failed: Expected ERROR_SERVICE_DOES_NOT_EXIST, got 123
...
../../../tools/runtest -q -P wine -M kernel32.dll -T ../../.. -p
kernel32_test.exe.so file.c && touch file.ok
file.c:933: Tests skipped: Either no authority to volume, or is
todo_wine for C:\users\bob\Temp\ err=5 should be 3
file.c:933: Tests skipped: Either no authority to volume, or is
todo_wine for C:\users\bob\Temp\removeme\ err=5 should be 3
file.c:933: Tests skipped: Either no authority to volume, or is
todo_wine for C:\ err=5 should be 3
file.c:946: Test failed: CreateFileA failed on \\?\C:, hFile
0x, err=2, should be 0
...

 http://buildbot.kegel.com/builders/runtests-default/builds/70

../../../tools/runtest -q -P wine -M msi.dll -T ../../.. -p
msi_test.exe.so action.c && touch action.ok
...
action.c:4792: Test failed: The 'Spooler' service does not exist
make: *** [action.ok] Error 1
../../../tools/runtest -q -P wine -M msi.dll -T ../../.. -p
msi_test.exe.so install.c && touch install.ok
install.c:5393: Test failed: Directory not created
...
make: *** [install.ok] Error 8


 http://buildbot.kegel.com/builders/runtests-default-x86_64/builds/68

../../../tools/runtest -q -P wine -M advapi32.dll -T ../../.. -p
advapi32_test.exe.so service.c && touch service.ok
...
service.c:2084: Test failed: Winetest Sleep Service:
QueryServiceStatusEx() failed le=1727
service.c:2085: Test failed: Winetest Sleep Service: should be stopped state=ff
service.c:2092: Test failed: Winetest Sleep Service: the second try
should yield the same error: 1728 != 1727
service.c:2098: Test failed: Winetest Sleep Service: 1727 !=
ERROR_SERVICE_NOT_ACTIVE
service.c:2099: Test failed: Winetest Sleep Service: should be stopped
state=deadbeef
service.c:2188: Test failed: 1728 != ERROR_SERVICE_REQUEST_TIMEOUT
service.c:2223: Test failed: Expected success, got error 6
...
make: *** [service.ok] Error 20

 http://buildbot.kegel.com/builders/runtests-default/builds/67

../../../tools/runtest -q -P wine -M msi.dll -T ../../.. -p
msi_test.exe.so action.c && touch action.ok
...
action.c:4792: Test failed: The 'Spooler' service does not exist