Comment 153 for bug 604261

Revision history for this message
In , Fweisbec (fweisbec) wrote :

(In reply to comment #118)
> I use FreeBSD 8.1 amd64
> As of this morning World of Warcraft 3.3.5a still crashes right after login.
>
> Alexander said this in a earlier comment:
>
> WoW uses opcode 0xf1 (icebp) and expects to see a single step exception,
> probably as a way to detect hardware debuggers. With the kernel change icebp is
> no longer raising a SIGTRAP since it doesn't set any dr6 bits, so WoW doesn't
> get its exception.
>
>
> I have been playing World of Warcraft on FreeBSD amd64 since December of 2009
> using the beta Nvidia 64bit drivers and this wine how-to
>
> http://wiki.freebsd.org/Wine#head-6963d527c173e57b1567e881305b544d33435b6d
>
> I can verify that on PCBSD 8.1 RC1 32bit World of Warcraft works post 3.3.5
> so far as I can tell it is only broken on amd64.
>
>
> I posted this problem to the FreeBSD hackers mailing list, and someone quickly
> replied, that the icebp single step exception works on FreeBSD 8 stable
> does anyone have any ideas as to why, FreeBSD amd64 crashes and i386 does not?
>
> icebp generates the SIGTRAP on latest 8-stable, verified
> by the following trivival assembler program:
> .text
> .globl main
> main:
> .byte 0xf1
> xorl %edi,%edi
> call exit
>
>
>
> Thank you for your help

A quick way to know if this really works is to try this testcase:
https://bugzilla.kernel.org/attachment.cgi?id=26982

This is what I used to test the Linux fix. If launching it doesn't display
"trapped", it means there is a bug and you can submit this testcase to the BSD guys.