qemu-i386-user on ARM host: wine hangs/spins when trying to run anything
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
leeseungman | ||
wine (Gentoo Linux) |
New
|
Undecided
|
Unassigned |
Bug Description
With qemu built from git from 217bfb445b54db6
0x600c7f8c in read () at ../sysdeps/
82 ../sysdeps/
in ../sysdeps/
(gdb) bt
#0 0x600c7f8c in read () at ../sysdeps/
#1 0x6004a316 in read (cpu_env=
arg3=1, arg4=134875664, arg5=1, arg6=1121255528, arg7=0, arg8=0)
at /usr/include/
#2 do_syscall (cpu_env=
arg4=134875664, arg5=1, arg6=1121255528, arg7=0, arg8=0)
at /home/ubuntu/
#3 0x600262f0 in cpu_loop (env=0x622c3ee8)
at /home/ubuntu/
#4 0x60026bbc in main (argc=<value optimized out>,
argv=<value optimized out>, envp=<value optimized out>)
at /home/ubuntu/
While wine hangs in:
0x600c84ac in recvmsg () at ../sysdeps/
82 ../sysdeps/
in ../sysdeps/
(gdb) bt
#0 0x600c84ac in recvmsg () at ../sysdeps/
#1 0x60041c4e in do_sendrecvmsg (fd=4, target_msg=<value optimized out>,
flags=
at /home/ubuntu/
#2 0x600497ec in do_socketcall (cpu_env=<value optimized out>, num=102,
arg1=17, arg2=1122504544, arg3=2076831732, arg4=1122504568,
arg5=
at /home/ubuntu/
#3 do_syscall (cpu_env=<value optimized out>, num=102, arg1=17,
arg2=
arg6=
at /home/ubuntu/
#4 0x600262f0 in cpu_loop (env=0x622c3f08)
at /home/ubuntu/
#5 0x60026bbc in main (argc=<value optimized out>,
argv=<value optimized out>, envp=<value optimized out>)
at /home/ubuntu/
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@tiberiusst
Unsupported ancillary data: 1/2
Unsupported ancillary data: 1/2
Unsupported ancillary data: 1/2
err:process:
I assume the last one is due to wineboot.exe hanging. The main wine process hangs in there:
cg_temp_
at /home/ubuntu/
483 }
(gdb) bt
#0 tcg_temp_
at /home/ubuntu/
#1 0x60052ac6 in tcg_temp_new_i32 (val=6)
at /home/ubuntu/
#2 tcg_const_i32 (val=6) at /home/ubuntu/
#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/
#4 gen_shift_rm_im (ot=2, op1=2, op2=7, is_right=1, is_arith=0,
s=<value optimized out>)
at /home/ubuntu/
#5 0x6006df90 in gen_shifti (s=0xbefea970, pc_start=<value optimized out>)
at /home/ubuntu/
#6 disas_insn (s=0xbefea970, pc_start=<value optimized out>)
at /home/ubuntu/
#7 0x60091758 in gen_intermediat
tb=0x402cdf48) at /home/ubuntu/
#8 gen_intermediat
at /home/ubuntu/
#9 0x60054bf2 in cpu_restore_state (tb=0x402cdf48, env=0x62565690,
searched_
#10 0x60091d9e in handle_cpu_signal (host_signum=<value optimized out>,
pinfo=<value optimized out>, puc=0xbefeab70)
at /home/ubuntu/
#11 cpu_x86_
pinfo=<value optimized out>, puc=0xbefeab70)
at /home/ubuntu/
#12 0x6003c764 in host_signal_handler (host_signum=11, info=0xbefeaaf0,
puc=<value optimized out>)
at /home/ubuntu/
#13 <signal handler called>
#14 0x60677894 in static_
#15 0x6000a260 in cpu_x86_exec (env=0x0)
at /home/ubuntu/
#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.
Changed in qemu: | |
assignee: | nobody → leeseungman (forsucess1) |
Forgot to mention I had applied this patch also. Without this, emulated bash can't even start anything.