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

Bug#626021: linux-image-2.6.38-2-686: icebp (opcode 0xf1) no longer causing a SIGTRAP, breaks Wine



On Sat, May 07, 2011 at 10:21:37PM -0500, Austin English wrote:
> On Sat, May 7, 2011 at 21:11, Ben Hutchings <ben@decadent.org.uk> wrote:
> > On Sat, 2011-05-07 at 19:50 -0500, Austin English wrote:
> >> Package: linux-2.6
> >> Version: 2.6.38-3
> >> Severity: normal
> >>
> >> This is a bug in the kernel itself, there have been a few patches to
> >> the kernel, but it seems at least one patch is not in the vanilla
> >> kernel. Some other distributions are including this patch. See
> >> https://bugzilla.kernel.org/show_bug.cgi?id=16315 and
> >> http://bugs.winehq.org/show_bug.cgi?id=23323 for more info.
> >
> > A different version of that patch has been applied as:
> >
> > commit 89e45aac42d40426c97e6901811309bf49c4993f
> > Author: Frederic Weisbecker <fweisbec@gmail.com>
> > Date:   Fri Sep 17 03:24:13 2010 +0200
> >
> >    x86: Fix instruction breakpoint encoding
> >
> > Please identify any further changes you believe are required.
> 
> Looking at the Wine bug, appears the relevant commits are:
> 1. Commit 08d6832 breaks the login
> 2. Commit a1e80fa fixes commit 08d6832 (this is in 2.6.35)
> 3. Commit f7809da also breaks the login (this is in 2.6.36-rc1 and later)
> 4. Frederick's new patch fixes commit f7809da (this hasn't been checked in)
> 
> from http://bugs.winehq.org/show_bug.cgi?id=23323#c181
> 
> in any case, a regression test was added to wine to check for this,
> which fails on this kernel:
> ../../../tools/runtest -q -P wine -M ntdll.dll -T ../../.. -p
> ntdll_test.exe.so exception.c && touch exception.ok
> exception.c:399: Test failed: 42: Wrong exception address 0x330000/0x330001
> wine: Unhandled exception 0x80000004 at address 0x330000 (thread
> 0009), starting debugger...
> 0x00330000: icebp
> ...
> Backtrace:
> =>0 0x00330000 (0x0032fcb8)
>   1 0x684c2d44 func_exception+0x283()
> [/home/austin/wine-git/dlls/ntdll/tests/exception.c:465] in ntdll_test
> (0x0032fd38)
>   2 0x684f17fe run_test+0x14d(name="exception.c")
> [/home/austin/wine-git/dlls/ntdll/tests/../../../include/wine/test.h:556]
> in ntdll_test (0x0032fd88)
>   3 0x684f22c7 main+0x156(argc=*** Invalid address 0x00000000 ***
> , argv=*** Invalid address 0x00000004 ***
> Internal symbol error: unable to access memory location 0x4)
> [/home/austin/wine-git/dlls/ntdll/tests/../../../include/wine/test.h:624]
> in ntdll_test (0x0032fe48)
>   4 0x684f249c __wine_spec_exe_entry+0x7b(peb=0x7ffdf000)
> [/home/austin/wine-git/dlls/winecrt0/exe_entry.c:36] in ntdll_test
> (0x0032fe90)
>   5 0x7b8593ac call_process_entry+0xb() in kernel32 (0x0032fea8)
>   6 0x7b859fdf start_process+0x5e(peb=0x7ffdf000)
> [/home/austin/wine-git/dlls/kernel32/process.c:1086] in kernel32
> (0x0032fee8)
>   7 0x7bc70e58 call_thread_func+0xb() in ntdll (0x0032fef8)
>   8 0x7bc744fe call_thread_entry_point+0x6d(entry=0x7b859f80,
> arg=0x7ffdf000) [/home/austin/wine-git/dlls/ntdll/signal_i386.c:2499]
> in ntdll (0x0032ffc8)
>   9 0x7bc49f1e start_process+0x1d(kernel_start=0x7b859f80)
> [/home/austin/wine-git/dlls/ntdll/loader.c:2612] in ntdll (0x0032ffe8)
>   10 0x6802899d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
> exception.c:399: Test failed: 42: Wrong exception address 0x330000/0x330001
> exception.c:399: Test failed: 42: Wrong exception address 0x330000/0x330001

I'm trying to launch this wine test from dlls/ntdll/tests/
with ../../../tools/runtest -q -P wine -M ntdll.dll -T ../../.. -p
and a git clone of the wine repo from today.

And I get this result: "shift: 89: can't shift that many", which I have
no clue what it's about.

So I don't know how to reproduce. Any idea on how I should launch
that wine self test, or which mistake I may have made?

Thanks.



Reply to: