1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
qemu-i386-user on ARM host: wine hangs/spins when trying to run anything
With qemu built from git from 217bfb445b54db618a30f3a39170bebd9fd9dbf2 and configured with './configure --target-list=i386-linux-user --static --interp-prefix=/home/pgriffais/natty-i386/', trying to run wine 1.3.15 from an Ubuntu 11.04 chroot results in hangs. If I run an i386 emulated wineserver, wineserver hangs in:
0x600c7f8c in read () at ../sysdeps/unix/syscall-template.S:82
82 ../sysdeps/unix/syscall-template.S: No such file or directory.
in ../sysdeps/unix/syscall-template.S
(gdb) bt
#0 0x600c7f8c in read () at ../sysdeps/unix/syscall-template.S:82
#1 0x6004a316 in read (cpu_env=0x622c3ee8, num=3, arg1=6, arg2=1121255519,
arg3=1, arg4=134875664, arg5=1, arg6=1121255528, arg7=0, arg8=0)
at /usr/include/bits/unistd.h:45
#2 do_syscall (cpu_env=0x622c3ee8, num=3, arg1=6, arg2=1121255519, arg3=1,
arg4=134875664, arg5=1, arg6=1121255528, arg7=0, arg8=0)
at /home/ubuntu/src/qemu/linux-user/syscall.c:4691
#3 0x600262f0 in cpu_loop (env=0x622c3ee8)
at /home/ubuntu/src/qemu/linux-user/main.c:321
#4 0x60026bbc in main (argc=<value optimized out>,
argv=<value optimized out>, envp=<value optimized out>)
at /home/ubuntu/src/qemu/linux-user/main.c:3817
While wine hangs in:
0x600c84ac in recvmsg () at ../sysdeps/unix/syscall-template.S:82
82 ../sysdeps/unix/syscall-template.S: No such file or directory.
in ../sysdeps/unix/syscall-template.S
(gdb) bt
#0 0x600c84ac in recvmsg () at ../sysdeps/unix/syscall-template.S:82
#1 0x60041c4e in do_sendrecvmsg (fd=4, target_msg=<value optimized out>,
flags=1073741824, send=0)
at /home/ubuntu/src/qemu/linux-user/syscall.c:1834
#2 0x600497ec in do_socketcall (cpu_env=<value optimized out>, num=102,
arg1=17, arg2=1122504544, arg3=2076831732, arg4=1122504568,
arg5=2076942688, arg6=1122504888, arg7=0, arg8=0)
at /home/ubuntu/src/qemu/linux-user/syscall.c:2235
#3 do_syscall (cpu_env=<value optimized out>, num=102, arg1=17,
arg2=1122504544, arg3=2076831732, arg4=1122504568, arg5=2076942688,
arg6=1122504888, arg7=0, arg8=0)
at /home/ubuntu/src/qemu/linux-user/syscall.c:6085
#4 0x600262f0 in cpu_loop (env=0x622c3f08)
at /home/ubuntu/src/qemu/linux-user/main.c:321
#5 0x60026bbc in main (argc=<value optimized out>,
argv=<value optimized out>, envp=<value optimized out>)
at /home/ubuntu/src/qemu/linux-user/main.c:3817
However if I build wineserver 1.3.15 natively for ARM and run it on the host while wine is emulated, I get the following:
root@tiberiusstation:/home/ubuntu# ./natty-i386/usr/bin/wine notepad
Unsupported ancillary data: 1/2
Unsupported ancillary data: 1/2
Unsupported ancillary data: 1/2
err:process:__wine_kernel_init boot event wait timed out
I assume the last one is due to wineboot.exe hanging. The main wine process hangs in there:
cg_temp_new_internal_i32 (temp_local=<value optimized out>)
at /home/ubuntu/src/qemu/tcg/tcg.c:483
483 }
(gdb) bt
#0 tcg_temp_new_internal_i32 (temp_local=<value optimized out>)
at /home/ubuntu/src/qemu/tcg/tcg.c:483
#1 0x60052ac6 in tcg_temp_new_i32 (val=6)
at /home/ubuntu/src/qemu/tcg/tcg.h:442
#2 tcg_const_i32 (val=6) at /home/ubuntu/src/qemu/tcg/tcg.c:530
#3 0x6005ef0c in tcg_gen_shri_i32 (ot=2, op1=2, op2=7, is_right=1,
is_arith=0, s=<value optimized out>)
at /home/ubuntu/src/qemu/tcg/tcg-op.h:605
#4 gen_shift_rm_im (ot=2, op1=2, op2=7, is_right=1, is_arith=0,
s=<value optimized out>)
at /home/ubuntu/src/qemu/target-i386/translate.c:1514
#5 0x6006df90 in gen_shifti (s=0xbefea970, pc_start=<value optimized out>)
at /home/ubuntu/src/qemu/target-i386/translate.c:1946
#6 disas_insn (s=0xbefea970, pc_start=<value optimized out>)
at /home/ubuntu/src/qemu/target-i386/translate.c:5397
#7 0x60091758 in gen_intermediate_code_internal (env=0x625656f8,
tb=0x402cdf48) at /home/ubuntu/src/qemu/target-i386/translate.c:7825
#8 gen_intermediate_code_pc (env=0x625656f8, tb=0x402cdf48)
at /home/ubuntu/src/qemu/target-i386/translate.c:7896
#9 0x60054bf2 in cpu_restore_state (tb=0x402cdf48, env=0x62565690,
searched_pc=1617393812) at /home/ubuntu/src/qemu/translate-all.c:126
#10 0x60091d9e in handle_cpu_signal (host_signum=<value optimized out>,
pinfo=<value optimized out>, puc=0xbefeab70)
at /home/ubuntu/src/qemu/user-exec.c:117
#11 cpu_x86_signal_handler (host_signum=<value optimized out>,
pinfo=<value optimized out>, puc=0xbefeab70)
at /home/ubuntu/src/qemu/user-exec.c:458
#12 0x6003c764 in host_signal_handler (host_signum=11, info=0xbefeaaf0,
puc=<value optimized out>)
at /home/ubuntu/src/qemu/linux-user/signal.c:492
#13 <signal handler called>
#14 0x60677894 in static_code_gen_buffer ()
#15 0x6000a260 in cpu_x86_exec (env=0x0)
at /home/ubuntu/src/qemu/cpu-exec.c:566
#16 0x68953200 in ?? ()
#17 0x68953200 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?
Running the same version of wine through qemu-user-i386 running on an i386 host works fine with both wineserver and wine being emulated; that's the result I'm trying to achieve.
|