Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Mar 2011 09:21:30 -0600
From:      Brandon Gooch <jamesbrandongooch@gmail.com>
To:        Bernhard Froehlich <decke@freebsd.org>
Cc:        "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>, freebsd-emulation@freebsd.org
Subject:   Re: VirtualBox + VIMAGE
Message-ID:  <AANLkTimear3Vs=YGPJwVZbxuKTD5Z59Nc-F-BW3B5kUk@mail.gmail.com>
In-Reply-To: <b65b204cd6315198715f57fb25a56c2a@bluelife.at>
References:  <86oc77heqk.fsf@kopusha.home.net> <4D3D2DE9.2060004@freebsd.org> <86tygwy9p0.fsf@kopusha.home.net> <20110126091038.C3489@maildrop.int.zabbadoz.net> <86aainkbhb.fsf@zhuzha.ua1> <20110126141636.D3489@maildrop.int.zabbadoz.net> <86ei7z4aps.fsf@kopusha.home.net> <44307214e4381602f6381d6a78ded1e2@bluelife.at> <C87DB4DA-E68F-418A-88E8-6C0C4A7BD987@gmail.com> <b65b204cd6315198715f57fb25a56c2a@bluelife.at>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 29, 2011 at 6:25 AM, Bernhard Froehlich <decke@freebsd.org> wro=
te:
> On Wed, 26 Jan 2011 18:23:26 -0600, Brandon Gooch wrote:
>> On Jan 26, 2011, at 5:33 PM, Bernhard Froehlich <decke@FreeBSD.org> wrot=
e:
>>
>>> On Wed, 26 Jan 2011 23:27:27 +0200, Mikolaj Golub wrote:
>>>> On Wed, 26 Jan 2011 14:18:03 +0000 (UTC) Bjoern A. Zeeb wrote:
>>>>
>>>> BAZ> On Wed, 26 Jan 2011, Mikolaj Golub wrote:
>>>>
>>>>>>
>>>>>> On Wed, 26 Jan 2011 09:15:46 +0000 (UTC) Bjoern A. Zeeb wrote:
>>>>>>
>>>>>> BAZ> I think you should wrap the CURVNET changes in __FreeBSD_versio=
n
>>>>>> BAZ> checks so that the port, should it run elsewhere or on older
>>>> FreeBSDs
>>>>>> BAZ> (if it runs there) not trouble people having to patch it away.
>>>>>>
>>>>>> BAZ> #if defined(__FreeBSD_version) && __FreeBSD_version >=3D 800500
>>>>>> BAZ> #endif
>>>>>>
>>>>>> BAZ> might be a save bet.
>>>>>>
>>>>>> Thanks. Something like in the patch below?
>>>>>>
>>>>>> Note, I have not run this version yet. Will test it tonight or tomor=
row.
>>>>
>>>> BAZ> Well, you will need to include <sys/param.h> as well, and that on=
ly if
>>>> BAZ> you are on FreeBSD so you'll need an extra check for just that I
>>>> BAZ> guess. =A0Not sure how vbox handles the all this in their guts.
>>>>
>>>> The file has already had '#include <sys/param.h>' among other includes=
. It
>>>> just is not seen in the patch. The file is used only for FreeBSD drive=
r so
>>>> there is no need in extra check I think.
>>>>
>>>> I have tested this latest version of the patch. It works for me.
>>>
>>> Could someone with a vimage enabled kernel please test bridging with a
>>> stock emulators/virtualbox-ose-kmod port? There was a report that this
>>> causes a crash and it would be good to verify if that is still valid:
>>>
>>> http://lists.freebsd.org/pipermail/freebsd-emulation/2009-November/0070=
55.html
>>>
>>> --
>>> Bernhard Froehlich
>>> http://www.bluelife.at/
>>> _______________________________________________
>>> freebsd-emulation@freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-emulation
>>> To unsubscribe, send any mail to "freebsd-emulation-unsubscribe@freebsd=
.org"
>>
>> It still crashes.
>>
>> -Brandon
>
> Thanks for testing that. Does vbox crash or the kernel? Is it possible
> to get a backtrace?
>
> We could try to detect if the kernel has vimage enabled (sysctl?) and
> also enable the vimage option per default in the port in that case.
>
> --
> Bernhard Froehlich
> http://www.bluelife.at/
>

Sorry for the late reply. I think I misrepresented the situation in my
previous message in this thread. I didn't have Mikolaj's patch applied
when I stated virtualbox is "still crashing". My bad. However, I've
moved on to testing vbox from the bluelife svn repo:

$ VBoxManage --version
4.0.4_OSEr70112

$ svn info
Path: .
URL: http://svn.bluelife.at/projects/blueports/emulators/virtualbox-ose
Repository Root: http://svn.bluelife.at/projects/blueports
Repository UUID: 1a7a46e7-033b-dd11-8caa-001a92771ec2
Revision: 1237
Node Kind: directory
Schedule: normal
Last Changed Author: decke
Last Changed Rev: 1237
Last Changed Date: 2011-02-28 03:43:36 -0600 (Mon, 28 Feb 2011)

The VIMAGE-enabled kernel still crashes:

x300.flick.local dumped core - see /var/crash/vmcore.3

Tue Mar  1 09:07:43 CST 2011

FreeBSD x300.flick.local 9.0-CURRENT FreeBSD 9.0-CURRENT #5 r218907M:
Tue Mar  1 08:32:39 CST 2011
root@x300.flick.local:/usr/obj/usr/src/sys/X300  amd64

panic:

GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you ar=
e
welcome to change it and/or distribute copies of it under certain condition=
s.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...

Unread portion of the kernel message buffer:


Fatal trap 12: page fault while in kernel mode
cpuid =3D 0; apic id =3D 00
fault virtual address	=3D 0x28
fault code		=3D supervisor read data, page not present
instruction pointer	=3D 0x20:0xffffffff8047fcfa
stack pointer	        =3D 0x28:0xffffff809318c650
frame pointer	        =3D 0x28:0xffffff809318c670
code segment		=3D base 0x0, limit 0xfffff, type 0x1b
			=3D DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags	=3D interrupt enabled, resume, IOPL =3D 0
current process		=3D 3064 (VBoxHeadless)
Physical memory: 2007 MB
Dumping 133 MB: 118 102 86 70 54 38 22 6

Reading symbols from /boot/kernel/if_em.ko...Reading symbols from
/boot/kernel/if_em.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_em.ko
Reading symbols from /boot/kernel/if_iwn.ko...Reading symbols from
/boot/kernel/if_iwn.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_iwn.ko
Reading symbols from /boot/kernel/snd_hda.ko...Reading symbols from
/boot/kernel/snd_hda.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/snd_hda.ko
Reading symbols from /boot/kernel/sound.ko...Reading symbols from
/boot/kernel/sound.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/sound.ko
Reading symbols from /boot/kernel/usb.ko...Reading symbols from
/boot/kernel/usb.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/usb.ko
Reading symbols from /boot/kernel/uhid.ko...Reading symbols from
/boot/kernel/uhid.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/uhid.ko
Reading symbols from /boot/kernel/ukbd.ko...Reading symbols from
/boot/kernel/ukbd.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ukbd.ko
Reading symbols from /boot/kernel/ums.ko...Reading symbols from
/boot/kernel/ums.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ums.ko
Reading symbols from /boot/kernel/umass.ko...Reading symbols from
/boot/kernel/umass.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/umass.ko
Reading symbols from /boot/kernel/umct.ko...Reading symbols from
/boot/kernel/umct.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/umct.ko
Reading symbols from /boot/kernel/ucom.ko...Reading symbols from
/boot/kernel/ucom.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ucom.ko
Reading symbols from /boot/kernel/uplcom.ko...Reading symbols from
/boot/kernel/uplcom.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/uplcom.ko
Reading symbols from /boot/kernel/coretemp.ko...Reading symbols from
/boot/kernel/coretemp.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/coretemp.ko
Reading symbols from /boot/kernel/acpi_video.ko...Reading symbols from
/boot/kernel/acpi_video.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi_video.ko
Reading symbols from /boot/kernel/acpi_ibm.ko...Reading symbols from
/boot/kernel/acpi_ibm.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi_ibm.ko
Reading symbols from /boot/kernel/i915.ko...Reading symbols from
/boot/kernel/i915.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/i915.ko
Reading symbols from /boot/kernel/drm.ko...Reading symbols from
/boot/kernel/drm.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/drm.ko
Reading symbols from /boot/kernel/usb_quirk.ko...Reading symbols from
/boot/kernel/usb_quirk.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/usb_quirk.ko
Reading symbols from /boot/kernel/ehci.ko...Reading symbols from
/boot/kernel/ehci.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ehci.ko
Reading symbols from /boot/kernel/uhci.ko...Reading symbols from
/boot/kernel/uhci.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/uhci.ko
Reading symbols from /boot/modules/vboxdrv.ko...done.
Loaded symbols for /boot/modules/vboxdrv.ko
Reading symbols from /boot/kernel/linprocfs.ko...Reading symbols from
/boot/kernel/linprocfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linprocfs.ko
Reading symbols from /boot/kernel/linux.ko...Reading symbols from
/boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/modules/vboxnetflt.ko...done.
Loaded symbols for /boot/modules/vboxnetflt.ko
Reading symbols from /boot/kernel/netgraph.ko...Reading symbols from
/boot/kernel/netgraph.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/netgraph.ko
Reading symbols from /boot/kernel/ng_ether.ko...Reading symbols from
/boot/kernel/ng_ether.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_ether.ko
Reading symbols from /boot/modules/vboxnetadp.ko...done.
Loaded symbols for /boot/modules/vboxnetadp.ko
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:250
250		if (textdump_pending)
(kgdb) #0  doadump () at /usr/src/sys/kern/kern_shutdown.c:250
#1  0xffffffff802dd64c in db_fncall (dummy1=3DVariable "dummy1" is not avai=
lable.
)
    at /usr/src/sys/ddb/db_command.c:548
#2  0xffffffff802dd981 in db_command (last_cmdp=3D0xffffffff80a45540,
cmd_table=3DVariable "cmd_table" is not available.

) at /usr/src/sys/ddb/db_command.c:445
#3  0xffffffff802ddbd0 in db_command_loop ()
    at /usr/src/sys/ddb/db_command.c:498
#4  0xffffffff802dfc19 in db_trap (type=3DVariable "type" is not available.
) at /usr/src/sys/ddb/db_main.c:229
#5  0xffffffff803ff781 in kdb_trap (type=3D12, code=3D0, tf=3D0xffffff80931=
8c5a0)
    at /usr/src/sys/kern/subr_kdb.c:533
#6  0xffffffff806a89bd in trap_fatal (frame=3D0xffffff809318c5a0,
eva=3DVariable "eva" is not available.
)
    at /usr/src/sys/amd64/amd64/trap.c:798
#7  0xffffffff806a8ded in trap_pfault (frame=3D0xffffff809318c5a0, usermode=
=3D0)
    at /usr/src/sys/amd64/amd64/trap.c:719
#8  0xffffffff806a931f in trap (frame=3D0xffffff809318c5a0)
    at /usr/src/sys/amd64/amd64/trap.c:471
#9  0xffffffff806938a3 in calltrap ()
    at /usr/src/sys/amd64/amd64/exception.S:228
#10 0xffffffff8047fcfa in ifunit (name=3D0xfffffe00326103f0 "em0")
    at /usr/src/sys/net/if.c:2018
#11 0xffffffff81044493 in vboxNetFltOsInitInstance ()
   from /boot/modules/vboxnetflt.ko
#12 0xffffffff810455a3 in vboxNetFltFactoryCreateAndConnect ()
   from /boot/modules/vboxnetflt.ko
#13 0xffffffff810a3f31 in ?? ()
#14 0x0000000000000000 in ?? ()
#15 0x0000000000000018 in ?? ()
#16 0x0000000000000018 in ?? ()
#17 0xffffff809318c7f8 in ?? ()
#18 0x0000000000030000 in ?? ()
#19 0xfffffe00326108c0 in ?? ()
#20 0x0000000300000001 in ?? ()
#21 0xfffffe0001b4a810 in ?? ()
#22 0xfffffe0001b08310 in ?? ()
#23 0x000000029318c830 in ?? ()
#24 0xffffffff810c1135 in ?? ()
#25 0xfffffe00326106f8 in ?? ()
#26 0xfffffe0032610610 in ?? ()
#27 0xfffffe0001b4a810 in ?? ()
#28 0xffffffff810467d0 in g_VBoxNetFltGlobals ()
   from /boot/modules/vboxnetflt.ko
#29 0xffffffff80f576c0 in g_cUsers () from /boot/modules/vboxdrv.ko
#30 0xffffff8093192000 in ?? ()
#31 0x0000000000000000 in ?? ()
#32 0xfffffe0032610800 in ?? ()
#33 0xfffffe0032610800 in ?? ()
#34 0xffffff809318c820 in ?? ()
#35 0xffffffff810a4083 in ?? ()
#36 0x000000000004f800 in ?? ()
#37 0xfffffe0032610910 in ?? ()
#38 0xffffff809318c860 in ?? ()
#39 0xffffffff8106ca7e in ?? ()
#40 0xfffffe0001abd380 in ?? ()
#41 0x0000000000000000 in ?? ()
#42 0xffffffff80f576c0 in g_cUsers () from /boot/modules/vboxdrv.ko
#43 0x00000000c1185687 in ?? ()
#44 0xfffffe0001b4a810 in ?? ()
#45 0xfffffe0032610800 in ?? ()
#46 0xffffff809318c8a0 in ?? ()
#47 0xffffffff8106d408 in ?? ()
#48 0xfffffe0001abd390 in ?? ()
#49 0x00000013003d0000 in ?? ()
#50 0x0000000000000000 in ?? ()
#51 0x00000000c0305699 in ?? ()
#52 0xfffffe0001b4a810 in ?? ()
#53 0xfffffe0001b091c0 in ?? ()
#54 0xffffff809318c950 in ?? ()
#55 0xffffffff80f36952 in supdrvIOCtl () from /boot/modules/vboxdrv.ko
Previous frame inner to this frame (corrupt stack?)
(kgdb)

------------------------------------------------------------------------

I haven't attempted an adaptation of Mikolaj's original patch, but I
may find time to do that later if another option isn't presented :)

Thanks!

-Brandon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimear3Vs=YGPJwVZbxuKTD5Z59Nc-F-BW3B5kUk>