Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Feb 1998 21:29:32 -0800 (PST)
From:      Studded <Studded@dal.net>
To:        freebsd-questions@FreeBSD.ORG
Subject:   Re: Wine is one shot then reboot (fwd)
Message-ID:  <Pine.BSF.3.96.980228212455.944A-100000@dt050ndd.san.rr.com>

next in thread | raw e-mail | index | archive | help
	I've reached the end of the road with the wine people, their
response is that this is a FreeBSD problem. So, anyone willing to review
the following and work with me on suggestions/patches etc. to fix it just
let me know. :)  I'm working with Wine 980215. Our story so far:

        Here is the one and only patch I included, without this patch wine
dumps core as soon as I enter the command.

--- scheduler/sysdeps.c.ORIG    Mon Feb 16 11:18:12 1998
+++ scheduler/sysdeps.c Mon Feb 16 11:19:13 1998
@@ -128,13 +128,15 @@
 {
 #ifdef __i386__
     TEB *teb;
-    WORD ds, fs;
+    WORD ds, fs, cs;
 
     /* Check if we have a current thread */
     GET_FS( fs );
     if (!fs) return NULL;
     GET_DS( ds );
     if (fs == ds) return NULL; /* FIXME: should be an assert */
+    GET_CS( cs );
+    if (fs == cs) return NULL; /* FIXME: should be an assert */
     /* Get the TEB self-pointer */
     __asm__( ".byte 0x64\n\tmovl (%1),%0"
              : "=r" (teb) : "r" (&((TEB *)0)->self) );


	Here's the story. After a reboot I can start wine just fine, and
it runs mirc no problem (for a while anyway, eventually I end up with a
situation where I can't receive any info, but I am sending out; but that's
been with me for a long time). After mirc ends, whether I exit it normally
or it crashes I can't start wine again with any app, I just get an instant
"Segmentation fault (core dumped)."  So, the first set here is what
happens when I try running wine in gdb twice in a row right after a
reboot. For what it's worth, when I ran it in gdb the first time here,
mirc never appeared. I'm not sure if it's supposed to or not while running
in gdb.

(gdb) run -winver win31 mirc.exe
Starting program: /usr/local/bin/wine -winver win31 mirc.exe
Could not stat /mnt/cdrom, ignoring drive D:

Program received signal SIGBUS, Bus error.
0xf1 in ?? ()
(gdb) where
#0  0xf1 in ?? ()
#1  0x8d000000 in ?? ()
Error accessing memory address 0x8d048d: Invalid argument.

(gdb) info registers 
eax            0x3534   13620
ecx            0xb      11
edx            0x0      0
ebx            0x0      0
esp            0xbc64   0xbc64
ebp            0xbc84   0xbc84
esi            0x0      0
edi            0x1e     30
eip            0xf1     0xf1
eflags         0x10246  66118
cs             0x9e7    2535
ss             0x8d7    2263
ds             0x9ef    2543
es             0x0      0

(gdb) print /x fs
No symbol "fs" in current context.


Now when I tried to start it again, I got the same errors as before.

(gdb) run -winver win31 mirc.exe
Starting program: /usr/local/bin/wine -winver win31 mirc.exe

Program received signal SIGSEGV, Segmentation fault.
0x16286d in NtCurrentTeb () at ./sysdeps.c:141
141         __asm__( ".byte 0x64\n\tmovl (%1),%0"

(gdb) info registers
eax            0x1f     31
ecx            0x18     24
edx            0xa17    2583
ebx            0x20350000       540344320
esp            0xefbfd478       0xefbfd478
ebp            0xefbfd478       0xefbfd478
esi            0x10     16
edi            0x20350070       540344432
eip            0x16286d 0x16286d
eflags         0x10212  66066
cs             0x1f     31
ss             0x27     39
ds             0x27     39
es             0x27     39

(gdb) print /x fs
$1 = 0xa17

	I hope the above explains things adequately, if not feel free to
write me back. I'm very appreciative of your help with this, I have a
couple windows apps that I'd really like to run in freebsd.

Thanks,

Doug




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.980228212455.944A-100000>