Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Dec 2014 11:29:27 -0800
From:      Ron Thomas <ron@vopenhouse.ca>
To:        vbox@FreeBSD.org
Subject:   VBoxHeadless seg fault
Message-ID:  <CAHf5H2nGW8wJZdh7Zg8qSf7zdOAwNAsYFmROT71EG9ZHSXgxQw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
I'm trying to understand what is happening when this segfault occurs.  From
the user perspective it happens randomly.

In the code ptr is incremented by the size of VRDEORDERCODE which I think
pushes it out of bounds causing the other values to go out of bounds as
well?

Any help would be appreciated.

Ron

#uname -a
FreeBSD myhostname.someplace.com 9.2-RELEASE-p12 FreeBSD 9.2-RELEASE-p12
#0: Mon Sep 15 18:46:46 UTC 2014
root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
amd64

# gdb `which VBoxHeadless` VBoxHeadless.core.save-1

(gdb) bt
#0  0x0000000808801f67 in VNCServerImpl::VRDEUpdate (hServer=0x808064500,
uScreenId=0, pvUpdate=0x824186562, cbUpdate=1702105)
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/ExtPacks/VNC/VBoxVNC.cpp:823
#1  0x000000080616693f in ConsoleVRDPServer::SendUpdate (this=0x805813f00,
uScreenId=0, pvUpdate=0x824186562, cbUpdate=1702105)
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/Main/src-client/ConsoleVRDPServer.cpp:3795
#2  0x00000008061755a5 in Display::displayVBVAUpdateProcess
(pInterface=0x80bb89cb8, uScreenId=0, pCmd=0x824186562, cbCmd=1702105)
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/Main/src-client/DisplayImpl.cpp:4770
#3  0x00000008129264de in vbvaFlushProcess (uScreenId=0,
pVGAState=0x8072f0100, pPartialRecord=0x80b317b90, pVBVA=0x82413f000)
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp:380
#4  0x00000008129268ac in vbvaFlush (pVGAState=0x8072f0100,
pCtx=0x80b317b48) at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp:462
#5  0x000000081292691d in VBVAUpdateDisplay (pVGAState=0x8072f0100) at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp:2492
#6  0x000000081285a679 in vgaPortUpdateDisplay (pInterface=0x807300e10) at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/Devices/Graphics/DevVGA.cpp:4541
#7  0x000000080617d160 in Display::displayRefreshCallback
(pInterface=0x80bb89cb8)
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/Main/src-client/DisplayImpl.cpp:3872
#8  0x0000000812859f97 in vgaTimerRefresh (pDevIns=0x8072f0000,
pTimer=0x8006ce430, pvUser=0x8072f0100)
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/Devices/Graphics/DevVGA.cpp:5211
#9  0x00000008066e7c93 in tmR3TimerQueueRun (pVM=0x80067e000,
pQueue=0x8006b8890) at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/VMM/VMMR3/TM.cpp:2072
#10 0x00000008066f5dd9 in TMR3TimerQueuesDo (pVM=0x80067e000) at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/VMM/VMMR3/TM.cpp:1990
#11 0x000000080670da99 in vmR3HaltGlobal1Halt (pUVCpu=0x80ac02180,
fMask=540, u64Now=3630149027607711)
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/VMM/VMMR3/VMEmt.cpp:685
#12 0x000000080670d25b in VMR3WaitHalted (pVM=0x80067e000,
pVCpu=0x80069e000, fIgnoreInterrupts=true)
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/VMM/VMMR3/VMEmt.cpp:1104
#13 0x00000008065ea394 in EMR3ExecuteVM (pVM=0x80067e000,
pVCpu=0x80069e000) at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/VMM/VMMR3/EM.cpp:2562
#14 0x000000080670f66a in vmR3EmulationThreadWithId
(ThreadSelf=0x808093100, pUVCpu=0x80ac02180, idCpu=1)
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/VMM/VMMR3/VMEmt.cpp:235
#15 0x000000080670f8ac in vmR3EmulationThread (ThreadSelf=0x808093100,
pvArgs=0x80ac02180) at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/VMM/VMMR3/VMEmt.cpp:62
#16 0x0000000801d88d78 in rtThreadMain (pThread=0x808093100,
NativeThread=34494825472, pszThreadName=0x8080939d8 "EMT-1")
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/Runtime/common/misc/thread.cpp:712
#17 0x0000000801e6416d in rtThreadNativeMain (pvArgs=0x808093100) at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/Runtime/r3/posix/thread-posix.cpp:324
#18 0x000000080082ad34 in pthread_getprio () from /lib/libthr.so.3
#19 0x0000000000000000 in ?? ()

(gdb) frame 0
#0  0x0000000808801f67 in VNCServerImpl::VRDEUpdate (hServer=0x808064500,
uScreenId=0, pvUpdate=0x824186562, cbUpdate=1702105)
    at
/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.20/src/VBox/ExtPacks/VNC/VBoxVNC.cpp:823
823                         instance->mFrameBuffer[destx]     =
instance->mScreenBuffer[srcx + 2];

(gdb) list +
818                     // RGB to BGR
819                     for (srcx = srcy, destx = desty;
820                          destx < desty + order->w * VNC_SIZEOFRGBA;
821                          srcx += bpp, destx += VNC_SIZEOFRGBA)
822                     {
823                         instance->mFrameBuffer[destx]     =
instance->mScreenBuffer[srcx + 2];
824                         instance->mFrameBuffer[destx + 1] =
instance->mScreenBuffer[srcx + 1];
825                         instance->mFrameBuffer[destx + 2] =
instance->mScreenBuffer[srcx];
826                     }
827                 }

(gdb) info locals
srcx = 14680064
desty = 14419848
width = 1280
bpp = 4
joff = 479202
srcy = 14419848
destx = 14680064
ptr = 0x82418656e <Address 0x82418656e out of bounds>
instance = (VNCServerImpl *) 0x808064500
order = (VRDEORDERHDR *) 0x824186562



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHf5H2nGW8wJZdh7Zg8qSf7zdOAwNAsYFmROT71EG9ZHSXgxQw>