Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 May 2020 21:25:47 +0300
From:      Yuri Pankov <ypankov@fastmail.com>
To:        Mario Lobo <lobo@bsd.com.br>, hackers@freebsd.org
Subject:   Re: Find specific changes between revisions
Message-ID:  <614e0ff9-1adc-1634-5711-ca032d6260bf@fastmail.com>
In-Reply-To: <bb3a95ba-101a-b874-7919-2f4ad960e049@grosbein.net>
References:  <CA%2ByoEx97e=FVH0Ob41cA5RqSFK5_pjG3huWgOEN_e2J1=iB6vA@mail.gmail.com> <bb3a95ba-101a-b874-7919-2f4ad960e049@grosbein.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Eugene Grosbein wrote:
> 09.05.2020 23:41, Mario Lobo wrote:
> 
>> Hi;
>>
>> I'm attempting to port VirtualBox 6.0.8 to FreeBSD. I managed do get it
>> working perfectly up to
>>
>> 11.3-STABLE-amd64-r359971.
>>
>> After an svn up to 11.4-PRERELEASE-r360676M, VirtualBox 6.0.8 no longer
>> works. Bringing world+kernel back to 11.3-STABLE-amd64-r359971 makes it
>> work again, despite whatever ports I've got installed on my machines. This
>> was tested on 2 physical machines (desktop and laptop) and it is true for
>> both.
>>
>> When starting a VM on 11.4-PRERELEASE-r360676M, the VM console window shows
>> up for 2 seconds and vanishes. Tha VM log shows this:
>>
>> --------------------------------------------------------------------------------------------------------
>> 00:00:02.343339 AssertLogRel
>> /Vmachines/ports/emulators/virtualbox-ose/work/VirtualBox-6.0.8/src/VBox/Main/src-client/VMMDevInterface.cpp(960)
>> int VMMDev::i_guestPropLoadAndConfigure(): timestampsOut.size() == cProps
>> 00:00:02.343365 AssertLogRel
>> /Vmachines/ports/emulators/virtualbox-ose/work/VirtualBox-6.0.8/src/VBox/Main/src-client/VMMDevInterface.cpp(1157)
>> static int VMMDev::drvConstruct(PPDMDRVINS, PCFGMNODE, uint32_t):
>> RT_SUCCESS_NP(rc)
>> 00:00:02.343450 VERR_INTERNAL_ERROR_3 (-227) - Internal error no. 3.
>> 00:00:02.345073 PDM: Failed to construct 'VMMDev'/0! VERR_INTERNAL_ERROR_3
>> (-227) - Internal error no. 3.
>> 00:00:02.347293 GIM: HyperV: Resetting MMIO2 regions and MSRs
>> 00:00:02.531769 VMSetError:
>> /Vmachines/ports/emulators/virtualbox-ose/work/VirtualBox-6.0.8/src/VBox/VMM/VMMR3/VM.cpp(328)
>> int VMR3Create(uint32_t, PCVMM2USERMETHODS, PFNVMATERROR, void *,
>> PFNCFGMCONSTRUCTOR, void *, PVM *, PUVM *); rc=VERR_INTERNAL_ERROR_3
>> 00:00:02.531778 VMSetError: Internal error no. 3.
>> 00:00:02.533693 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005)
>> aIID={872da645-4a9b-1727-bee2-5585105b9eed} aComponent={ConsoleWrap}
>> aText={Internal error no. 3. (VERR_INTERNAL_ERROR_3)}, preserve=false
>> aResultDetail=-227
>> 00:00:02.534000 Console: Machine state changed to 'PoweredOff'
>> --------------------------------------------------------------------------------------------------------
>>
>> This is the same error that shows when trying to run it on
>> 12.1-STABLE-amd64-r359985 by the way.
>>
>> I am no wiz. And on top of that, VBox is extremely complex but I don't
>> think that the problem lies on the kernel or on vbox kernel modules. They
>> all load correctly and without errors on both 11.4-PRERELEASE-r360676M and
>> 12.1-STABLE-amd64-r359985.
>>
>> What looks like (to my poor lame eyes) is that some revision change in
>> userland "broke" the connection between vbox and its modules/drivers.
>>
>> So my quest is to try to pinpoint the changes between
>> 11.3-STABLE-amd64-r359971 and 11.4-PRERELEASE-r360676M that made VirtualBox
>> 6.0.8 stop working, and I was wondering if anyone here could give me some
>> direction on how to accomplish that.
>>
>> Thanks for any advice.
> 
> You did not mention if you rebuild VirtualBox and its kernel modules after update of FreeBSD to 11.4-PRERELEASE.
> If not, such behaviour is expected and first thing you need is rebuild VirtualBox using sources of 11.4-PRERELEASE
> installed in /usr/src.
> 
> If you already did that, you need to bisect revisions. Also, you may find useful output of "svnlite help diff"
> that documents a way to find differences betwheen revisions: cd /usr/src/sys/some-subdir && svnlite diff -r NNNNNN:MMMMMM

And if you are looking for the specific revision that broke it, look 
into the 'git bisect' using github's git mirror; there's also 
devel/p5-App-SVN-Bisect, but I have never used it.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?614e0ff9-1adc-1634-5711-ca032d6260bf>