Ticket #7052 (closed defect: fixed)
VBox causes host VGA/SVGA application segfault when the application does VGA port IO -> fixed in SVN/3.2.6
Reported by: | wzis | Owned by: | |
---|---|---|---|
Component: | host support | Version: | VirtualBox 3.2.4 |
Keywords: | Cc: | ||
Guest type: | other | Host type: | Linux |
Description
I have a Chinese/Japanese/Korean console terminal emulator which runs on Linux console virtual screens. The application will do VGA port in/out for displaying the CJK characters. The application ran fine before any VM in VBox starts. What I found is, once a VM in Vbox starts, ioperm call can still succeed, but any port_in/port_out to VGA ports (e.g. CRT_I/D, SEQ_I/D) on the Linux host (not Linux VM) will segfault. The issue remains even after all VM stopped and VBox processes exited. In other words: Only reboot of the host can fix the issue. I've tested with VMware server, and found no issue with VMWare. So, confirm this is a VBox compatibility issue.
Change History
comment:3 Changed 13 years ago by sandervl73
- Summary changed from VBox causes host VGA/SVGA application segfault when the application does VGA port IO to VBox causes host VGA/SVGA application segfault when the application does VGA port IO -> fixed in SVN/3.2.6
Thanks for the report. Fixed in the next maintenance release.
The issue can be reproduced with the following simple C program (save it as /tmp/vga.c):
#include <stdio.h> #include <sys/io.h>
int main() { ioperm(0x3b4, 0x3df-0x3b4+1, 1); outb(0, 0x3d4) printf("CRT(0)=%d\n", inb(0x3d5)); }
/*----- end of the program -----*/
# cd /tmp # cc -o vga vga.c # chmod +s vga # ./vga
and then try to start a VM. Run /tmp/vga again, you will see the segmentation fault.