Toon posts:

[Debian/Lenny] KVM crashed met exception 13 op Via Nano

Pagina: 1
Acties:

Verwijderd

Topicstarter
Sinds kort ben ik een nieuwe thuis server aan het bouwen en omdat energie zuinigheid het thema dit keer is en omdat Via een geweldig bordje op de markt heeft gezet is mijn keuze daarom al snel gevallen op de VB8001. Deze mini-itx plank beschikt over Via's nieuwste Nano cpu en een 16x PCI-Express slot.

De Via nano is de opvolger van de Via C7 en is naast Via's eerste out-of-order cpu ook de eerste met Intel VT aan boord. Dit maakt deze cpu met een maximaal verbruik van amper 25 watt voor het hele bord mogelijk de zuinigste cpu/bord combo die over hardware virtualizatie beschikt.

Aangezien dit zeker niet mijn eerste thuis-server is en zijn broertje met 2x s940 dual-core opterons ook nog gewoon doorraast ging de installatie al voorspoedig. Debian versie 5 'Lenny' is ook geariveerd en heb ik o.a al op mijn router ge-installeerd. Nadat ik wat met KVM op mijn Ubuntu 8.10 desktop had gespeeld besloot ik om op deze nieuwe thuisserver maar eens met KVM aan de gang te gaan.

Mijn huidige VM's draaien namelijk nog full emulated onder Qemu omdat KQemu te onstabiel bleek op mijn dual dual-core opteron machine welke geen virtualizatie techniek bezit. Die draait tevens nog Debian 4 'Etch'.

Kortom, net-install cd erin en een krap uurtje later een kale Debian 'Lenny' install klaar. Ik installeer kvm met apt-get(weet het, moet nog wennen om apitude te gebruiken). check nog even de /proc/cpuinfo en de Intel VT en NX bit extensies zijn aanwezig. lsmod vertelt ook dat de kvm_intel kernel module is geladen dus ik start een test VM vanaf een kale net aangemaakte image met een vers gedownloade en md5sum gecontrolleerde Debian 'Lenny' netinstall iso en KVM crashed meteen met 'Exception 13 (42)'. Om nog even zeker te zijn dat het aan KVM lag heb ik ook met -no-kvm gestart en dan werkt het wel.

Na wat zoeken met google kom ik erachter dat 'Exception 13' een probleem is met de realmode emulatie op intel moederborden en dat ook BIOS support nodig is. Echter google vertelt mij ook dat als de BIOS support ontbreekt de kvm_intel kernel module helemaal niet kan laden. Kortom, Heeft dit bord nu wel of niet werkende Intel VT aan bord. De KVM site zelf zegt dat als /proc/cpuinfo de extensies geeft en kvm_intel kernel module laadt de support aanwezig zou moeten zijn.

Er wordt echter in mijn zoektocht ook regelmatig naar de vga emulatie als oorzaak gewezen en om niks aan het toeval over te laten besluit ik dan maar eens Ubuntu 8.10 te installeren, puur om te testen. Compleet met gnome desktop en dezelfde tools geinstalleerd als op mijn desktop pc, een Kontron 986LCD-MItx met een Core2Duo T5600 'merom' processor waarop KVM teminste starte. Nu met een complete X omgeving weet ik teminste dat het niet aan de vnc opties ligt. Maar helaas: opnieuw exact hetzelfde probleem. Een sdl window open'd een halve seconde alvorens ik weer terug naar bash word gesmeten met 'Exception 13 (42)' gevolgt door een dump van de cpu en state registers. Ik kan deze hier wel posten mocht dat nodig zijn al twijfel ik of dat helpt.

Het vreemde is dat dit probleem blijkbaar wordt doodgezwegen. Met google zijn een aantal threads te vinden die ook tegen dit probleem aanlopen, allemaal intel gebruikers overigens, maar geen oplossingen. Er is zelfs 1 thread waarbij iemand probeert om HyperVisor-V 2008 beta op ook precies dit VB8001 bord maar ook met weinig success. Het schokenste is mischien nog wel dat de 'Exception 13' entry in de KVM faq gewoon leeg is.

Wie o Wie kan mij een hint geven wat Exception 13 uberhaupt is? Ik tast echt in het duister en zal binnekort maar eens de KVM sourcecode doorspitten opzoek naar een definitie. Wat mij wel opvalt is dat in de verschillende threads die ik vond met google het getal tussen haakjes, 42 in mijn gevalt verschilt. Mischien een indicatie of zou KVM dat uit /dev/random toveren :? Het gaat overigens om zowel een 64bit host als guest.

Verwijderd

Interessant probleem. Het lijkt me verstandiger om een mail sturen naar kvm@vger.kernel.org Je kan eventueel Avi Kivity (ook wel op freenode te vinden) een mail sturen. Heb je overigens al geprobeerd om de laatste stable kernel te compileren? Je kan nog gaan debuggen maar ik weet niet of je zin/tijd/ervaring mee hebt.

Verwijderd

Topicstarter
Ik draai nu dus inderdaad de standaard stable Debian 5 'Lenny' kernel, 2.6.26 nogwat geloof ik maar ik kan het eens proberen inderdaad en de laatste kernel en kvm van source compilen. Het zou niet de eerste kernel zijn die ik bak al zou ik liever natuurlijk de stable kernel van debian gebruiken ivm updates natuurlijk. Ubuntu en Debian gebruiken overigens precies de zelfde versie van KVM alleen Ubuntu is immidels bij kernel 2.6.27 aanbeland.

Wat ik vooral zo vreemd vindt is dat dit probleem toch best wel veel voorkomt in met name vroege implementaties van Intel VT maar dat schijnbaar niemand uberhaupt weet wat het precies is. Ik ga dan ook maar eens de source van KVM doorspitten mischien dat dat enig idee geeft wat de oorzaak zou kunnen zijn.

Wat ik vooral mis is een betrouwbare manier om gewoonweg te verifieeren dat de support aanwezig is op dit bord want dat /proc/cpu info en dat de kernel module laadt zeggen blijkbaar heel weinig. De nieuwere KVM versies bevatten nu een soort regression testing dus dat ga ik eens uitproberen. Als dat niet werkt ga ik in iedergeval een bug report op zowel de Debian als de KVM sites invullen en mischien ook wel bij Via zelf.

Nou goed, ik ga bakken en hou jullie op de hoogte.

Verwijderd

Topicstarter
Oke, na een paar dagen bakken en testen heb ik wat vooruitgang geboekt.

Met Linux kernel 2.6.29.2 en KVM-85 krijg ik geen Exception 13 meer en de vm start en ik kan er met vnc op inloggen maar verder dan de vm's bios komt het niet. De VM hangt gewoon en gebruikt max cpu maar crashed niet. In de syslog van de host verschijnt de error 1x "cpu0 did not handled mrsrw". Dat is het goede nieuws.

Dan nu het slechte nieuws mischien maar op wikipedia staat immidels dat virtualizatie pas werkt sinds stepping 3 en ik heb stepping 2. De KVM developers hebben blijkbaar van een Via engineer gehoord dat ze de support eigenlijk nog niet (volledig) werkend hebben in stepping 2 dus mischien geeft mijn VB8001 bord onterecht aan dat het KVM support heeft maar de KVM developers werken er wel aan dus wie weet dat toekomstige versies toch nog werkende KVM support hebben zij het met een work-around.

  • MisterE
  • Registratie: April 2002
  • Laatst online: 21-12-2025
Je zou ook eens Xen kunnen proberen, of je het later gaat gebruiken of niet. Dan kun je die ook feedback geven of het werkt.