Problem with regression tests getting stuck
Sylvain Petreolle
spetreolle at yahoo.fr
Fri Aug 30 13:01:43 CDT 2002
Paul,
I recently tried to compile gcc 3.2 from sources on my RedHat 7.3.
It seems that it is a gcc 2.96 bug as tests now pass 100%.
(even if gcc 3.2 is a bit slower to compile wine;))
For Codeweavers webmaster:
Tried to update bug #852 but have a bugzilla error:
SELECT profiles.realname, profiles.login_name, longdescs.bug_when,
longdescs.thetext FROM longdescs, profiles WHERE profiles.userid =
longdescs.who AND longdescs.bug_id = 852 ORDER BY
longdescs.bug_when: Can't find record in 'longdescs' at globals.pl line
231.
(30/08 08 PM EST)
--- Paul Millar <paulm at astro.gla.ac.uk> a écrit : > Hi everyone,
>
> I've had the regression tests freeze on me again (see [1] for
> previous
> report). Sylvain has reported problems with the wininet regression
> tests
> (described in [2]). The symptoms are the same, but for me the problem
> is
> only intermittent. This time I caught the problem with gdb and
> obtained
> the following info:
>
> [...]
> Loaded symbols for /lib/libresolv.so.2
> 0x402e7744 in __libc_close () at __libc_close:-1
> -1 __libc_close: No such file or directory.
> in __libc_close
> (gdb) bt
> #0 0x402e7744 in __libc_close () at __libc_close:-1
> #1 0x400ec9a4 in __DTOR_END__ ()
> from /home/paulm/WINE-cvs/wine/dlls/libntdll.dll.so
> #2 0x400b3df5 in WaitForMultipleObjectsEx (count=0, handles=0x0,
> wait_all=0,
> timeout=100, alertable=0) at ../../scheduler/synchro.c:257
> #3 0x400b3b88 in Sleep (timeout=100) at
> ../../scheduler/synchro.c:178
> #4 0x40358747 in winapi_test (flags=268435456) at tests/http.c:121
> #5 0x40358b36 in func_http () at tests/http.c:184
> #6 0x40358f9d in run_test (name=0xbffffc63 "http.c") at wtmain.c:244
> #7 0x40357037 in __wine_exe_main () at wininet_test.exe.spec.c:133
> #8 0x400aff84 in start_process () at ../../scheduler/process.c:528
> #9 0x400b3f3f in call_on_thread_stack (func=0x400afd2c)
> at ../../scheduler/sysdeps.c:108
>
> So, to summarise (with some extra bits of information):
>
> The problem occurs when wininet/tests/http.c is testing asynchronous
> HttpSendRequest(), so flags > 0. The problem is triggered at line 121
> of
> http.c, i.e.:
> 120 while ((flags)&&(!goon))
> 121 Sleep(100);
>
>
> Sleep(), in turn, just calls WaitForMultipleObjectsEx(). From
> scheduler/synchro.c:
> 176 VOID WINAPI Sleep( DWORD timeout )
> 177 {
> 178 WaitForMultipleObjectsEx( 0, NULL, FALSE, timeout, FALSE );
> 179 }
>
>
> WaitForMultipleObjectsEx() has problems when it gets to 257:
> 256 SERVER_END_REQ;
> 257 if (ret == STATUS_PENDING) ret = wait_reply( &cookie );
> 258 if (ret != STATUS_USER_APC) break;
>
> ret is 1079729528, btw.
>
> AFAIK, __DTOR_END__ (see near bottom of stack) is the destructor for
> a
> function call in ntdll. I'm probably missing something obvious, but I
> don't see the connection between scheduler/synchro.c:257 and ntdll.
> The
> closest is wait_reply() (in scheduler/client.c) calls wait_reply_data
> (in
> same file), which calls NtCurrentTeb(), which is commented as an
> NTDLL
> function. But there doesn't seem to be an implementation of
> NtCurrentTeb
> in ntdll.
>
> Any ideas?
>
> Cheers,
>
> Paul.
>
> [1] http://www.winehq.com/hypermail/wine-devel/2002/08/0006.html
> [2] http://www.winehq.com/hypermail/wine-devel/2002/07/0386.html
>
> PS, I'll create a bugzilla in a bit.
>
> ----
> Paul Millar
>
>
>
>
___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com
More information about the wine-devel
mailing list