semantic: 0.189 device: 0.122 graphic: 0.114 other: 0.072 PID: 0.070 performance: 0.070 vnc: 0.065 socket: 0.060 network: 0.058 files: 0.047 debug: 0.045 permissions: 0.044 boot: 0.027 KVM: 0.019 debug: 0.758 files: 0.105 other: 0.032 semantic: 0.015 device: 0.014 network: 0.012 PID: 0.012 performance: 0.012 graphic: 0.009 boot: 0.009 socket: 0.008 permissions: 0.005 KVM: 0.004 vnc: 0.004 SDL2 UI sends a NULL to sdl_grab_start if fullscreen, which crashes in ui/sdl2.c: if (full_screen) { gui_fullscreen = 1; sdl_grab_start(0); } Is sent, but no null checks are made in sdl_grab_start (its assumed to be an allocated pointer). So a crash happens if you start qemu -full-screen. It should at lease send the first [0] of the newly allocated sdl2_console through. Quickly looking around should look something like: if (full_screen) { gui_fullscreen = 1; sdl_grab_start(&sdl2_console[0]); } The NULL pointer check has been added here: http://git.qemu.org/?p=qemu.git;a=commitdiff;h=f2335791fd0ceb2f9e3