On Mon, Mar 19, 2012 at 12:48:37AM -0300, Fabiano FidĂȘncio wrote: > Guys, I've been trouble using spice-protocol/spice/qemu from git, in a > 32 bits host. > > Could somone take a look in this issue? > > fidencio@sasha ~/src/spice $ sudo > LD_LIBRARY_PATH=/home/fidencio/dev/lib gdb --args > /home/fidencio/dev/bin/qemu-system-i386 -enable-kvm -m 1024 -device > e1000,vlan=0 -net tap,script=/home/fidencio/dev/etc/qemu-ifup -vga qxl > /home/fidencio/libvirt/images/fedora16-i686.img > Copyright (C) 2011 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "i686-redhat-linux-gnu". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from /home/fidencio/dev/bin/qemu-system-i386...(no > debugging symbols found)...done. > (gdb) r > Starting program: /home/fidencio/dev/bin/qemu-system-i386 -enable-kvm > -m 1024 -device e1000,vlan=0 -net > tap,script=/home/fidencio/dev/etc/qemu-ifup -vga qxl > /home/fidencio/libvirt/images/fedora16-i686.img > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/libthread_db.so.1". > Detaching after fork from child process 7306. > Bringing up interface tap0... Done > Adding interface tap0 to bridge br0... Done > [New Thread 0xb7edab40 (LWP 7316)] > [New Thread 0xb76d9b40 (LWP 7317)] > do_spice_init: starting 0.10.1 > spice_server_add_interface: SPICE_INTERFACE_QXL > [New Thread 0xb1b8ab40 (LWP 7318)] > red_worker_main: begin > display_channel_create: create display channel > cursor_channel_create: create cursor channel > id 0, group 0, virt start 0, virt end ffffffff, generation 0, delta 0 > get_virt: panic: slot_id too big, addr=b1b8b008 > > Program received signal SIGABRT, Aborted. > [Switching to Thread 0xb1b8ab40 (LWP 7318)] > 0x00133416 in __kernel_vsyscall () > > (gdb) bt > #0 0x00133416 in __kernel_vsyscall () > #1 0x0077d98f in __GI_raise (sig=6) > at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 > #2 0x0077f2d5 in __GI_abort () at abort.c:91 > #3 0x00634de0 in get_virt (info=0xb1b87800, addr=2981670920, add_size= > 1228800, group_id=0) at red_memslots.c:110
The address translation logic is probably assuming a long is 64 bits, and needs to be fixed. The stack trace is pointing you at the right place.. I think get_memslot_id/get_virt and all along should switch "unsigned long" with uint64_t. > #4 0x0064324a in dev_create_primary_surface (worker=0xb1a66030, > surface_id=<optimized out>, surface=...) at red_worker.c:10417 > #5 0x006433fe in handle_dev_create_primary_surface (opaque=0xb1a66030, > payload=0xb1200468) at red_worker.c:10443 > #6 0x006322bc in dispatcher_handle_single_read (dispatcher=0x80a82cd0) > at dispatcher.c:120 > #7 dispatcher_handle_recv_read (dispatcher=0x80a82cd0) at dispatcher.c:143 > #8 0x00637636 in handle_dev_input (fd=20, event=1, opaque=0xb1a66030) > at red_worker.c:11032 > #9 0x0064d965 in red_worker_main (arg=0xbfffeecc) at red_worker.c:11163 > #10 0x004c7cd3 in start_thread (arg=0xb1b8ab40) at pthread_create.c:309 > #11 0x00841a2e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133 > _______________________________________________ > Spice-devel mailing list > Spice-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel