Tag Archive for 'bug'

Bug w Virtual Server 2005 R2

Pisałem o tym problemie dwa razy - najpierw prosząc o odzew od innych osób, które używają VS2005, a drugi raz opisując dokładnie problem.

Kilka tygodni temu dostałem potwierdzenie, że jest to defekt w kodzie serwera. Zespół VS przetestował to w swoim labie i odkryli, że problem dotyczy wszystkich kompilacji i wszystkich platform (x86, x64 i ia64). Kolejną nowością jest, że problem dotyczy sterowników dla tylko niektórych kontrolerów SCSI. Dla kontrolera Adaptec AIC-7870 PCI SCSI problemu nie zaobserwowano.

Problem nie jest poważny, powiedziałbym wręcz kosmetyczny. Dla kochających się w statystykach może być jednak ciężki do przełknięcia.

Przy okazji, uaktualnię inne notki dotyczące bugów, o których pisałem.

Disk I/O read w Virtual Server 2005 R2 SP1

Pisałem kiedyś o błędzie, jaki znalazłem na VS2005. Problem dotyczy statystyk dla dysków wirtualnych w konfiguracji SCSI. Po kontakcie z grupą produktową poprosili mnie o wykonanie kilku testów.

Udało mi się zawęzić problem do dysków VHD działających pod SCSI z dodatkami do serwera wirtualnego 13.813 (wersja 13.814 oznacza, że zainstalowana jest poprawka opisana w KB943666)

Jeśli ktoś z Was ma zainstalowane dodatki w tej wersji i korzysta z dysków wirtualnych podłączonych jako SCSI, proszę sprawdzić jak zachowują się statystyki I/O dysków. Gdyby disk I/O read wyszedł ponad 17MB w takiej konfiguracji, bardzo proszę o kontakt.

Do użytkowników Virtual Server 2005 R2 SP1

Jestem na etapie konsultacji z grupą produktową VS2005 dość dziwnego zachowania VS dot. odczytu liczników I/O dla dysków wirtualnych. Jeden z liczników, konkretnie read, ma bardzo niską wartość niezależnie od wielkości odczytu z dysku wirtualnego. Wykonywałem wiele testów, gdzie wartości disk I/O written, network I/O odpowiednio wzrastały przy kopiowaniu dużych plików z i na maszynę wirtualną, a wartość read dla dysku pozostawała niezmieniona.

Oto przykład dla jednej z moich maszyn wirtualnych:

Jeśli ktoś spotkał się z podobnym zachowaniem, bardzo proszę o komentarz lub kontakt z informacjami dot. wersji i specyfikacji hosta i gościa.

W poszukiwaniu błędu

Pewnego chłodnego jesiennego dnia zdarzyło mi się doświadczyć bardzo niemiłej niespodzianki ze strony nowo zakupionego komputera. Był to świeży, jeszcze ciepły komputer Dell Optiplex 740, wprost z Limerick, na którym zainstalowałem Windows Server 2003 R2 EE z zamiarem wykorzystania pudełka jako hosta do wirtualnych maszyn działających na Virtual Server 2005 R2.

Instalacja systemu, konfiguracja, później instalacja VS przebiegły bez zakłóceń. Dopiero, gdy zacząłem instalować pierwszego gościa na serwerze wirtualnym, mój komputer znieruchomiał. Nie reagował na żadne klawisze, myszka zastygła bez ruchu tam gdzie ją zostawiłem, tzw. stan zamrożenia (freeze).

Powtórzyłem więc operację w celu otrzymania chociaż BSOD (Blue Screen Of Death, czyli po polsku niebieski ekran). Znów ta sama reakcja. Powtórzyłem próbę jeszcze kilka razy wciąż bez spodziewanego niebieskiego ekranu błędu. Zacząłem szukać po Intra- i Internecie materiałów na podstawie których mógłbym zlokalizować błąd. Niestety rozrzut tematyki był na tyle duży, że aż nieprzydatny.

Eliminując z łamigłówki poszczególne klocki układanki postanowiłem zainstalować gościa na Virtual PC 2007. Efekt był dokładnie ten sam - zamrożenie systemu. Wypadło jeszcze kilka innych czynników, łącznie ze sprzętem - klawiatura, myszka, inne urządzenia USB; wyeliminowanie systemu operacyjnego już nie było takie proste.

Zainstalowałem Windows Vista Enterprise i Virtual PC 2007. Za pierwszym razem efekt był podobny do tego otrzymanego na Windows Server 2003, ale już za drugim podejściem dostałem to, czego szukałem - BSOD.

Oto wycinek z windbg:

BugCheck 101, {61, 0, 8a4c7120, 1}
PEB is paged out (Peb.Ldr = 7ffd300c).  Type “.hh dbgerr001″ for details
PEB is paged out (Peb.Ldr = 7ffd300c).  Type “.hh dbgerr001″ for details
Probably caused by : ntkrpamp.exe ( nt!KeFlushProcessWriteBuffers+5f )
Followup: MachineOwner

Dalsza analiza z użyciem !analyze -v pokazała mi już nieco więcej szczegółów:

CLOCK_WATCHDOG_TIMEOUT (101)
An expected clock interrupt was not received on a secondary processor in an
MP system within the allocated interval. This indicates that the specified
processor is hung and not processing interrupts.
Arguments:
Arg1: 00000061, Clock interrupt time out interval in nominal clock ticks.
Arg2: 00000000, 0.
Arg3: 8a4c7120, The PRCB address of the hung processor.
Arg4: 00000001, 0.

I dalej:

PEB is paged out (Peb.Ldr = 7ffd300c).  Type “.hh dbgerr001″ for details
PEB is paged out (Peb.Ldr = 7ffd300c).  Type “.hh dbgerr001″ for details
DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT
BUGCHECK_STR:  0×101
PROCESS_NAME:  SearchProtocolH
CURRENT_IRQL:  1c
LAST_CONTROL_TRANSFER:  from 81828448 to 818d85c9

STACK_TEXT:  
[cut] nt!KeBugCheckEx+0×1e
[cut] nt!KeUpdateRunTime+0xd4
[cut] nt!KeUpdateSystemTime+0xed
[cut] nt!KeFlushProcessWriteBuffers+0×5f
[cut] nt!KeSetPriorityAndQuantumProcess+0×6a
[cut] nt!PsSetProcessPriorityByClass+0×20
[cut] nt!NtSetInformationProcess+0×219
[cut] nt!KiFastCallEntry+0×12a
WARNING: Frame IP not in any known module. Following frames may be wrong. 
[cut]

STACK_COMMAND:  kb
FOLLOWUP_IP:
nt!KeFlushProcessWriteBuffers+5f
81811c63 8b08            mov     ecx,dword ptr [eax]
SYMBOL_STACK_INDEX:  3
SYMBOL_NAME:  nt!KeFlushProcessWriteBuffers+5f
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: nt
IMAGE_NAME:  ntkrpamp.exe
DEBUG_FLR_IMAGE_TIMESTAMP:  4549ae00
FAILURE_BUCKET_ID:  0×101_nt!KeFlushProcessWriteBuffers+5f

Pozwoliłem sobie powycinać co dłuższe kawałki z powyższego tesktu z windbg dla jasności obrazu.

Poszukałem co to takiego jest ten bugcheck 0×101: The specified processor is not processing interrupts. Typically, this occurs when the processor is nonresponsive or is deadlocked.

Procesor nie odpowiadał? Z uwagi na już drugi sprawdzany system operacyjny, wyglądało to dla mnie całkiem sprzętowo. Nie pierwszy i zapewne nie ostatni raz widziałem nowe komputery (serwery) z błędami sprzętowymi. Niestety nie miałem okazji sprawdzić tego zachownia na innych Optiplexach 740 z identyczną konfiguracją, ale postanowiłem szukać szczęścia na stronach pomocy technicznej Della, mojego poprzedniego pracodawcy.

Niespodziewanie okazało się, że istniała nowa wersja BIOSu, która uaktualniła wersję 1.1.8 do 1.2.2. Z samych cyferek widać, że to dość duży skok.

Zainstalowałem nową wersję BIOS’u i … jak ręką odjął. Na nowym komputerku już działają sobie dwie maszyny wirtualne radośnie komunikując się między sobą.

Nie po raz pierwszy byłem cierpliwy w poszukiwaniu błędu, choć tym razem moja cierpliwość była posunięta do granic. Niestety Dell nie precyzuje dokładnie w czym różniła się nowa wersja BIOS’u od pozostałych poza ulepszeniem kompatybilności z niektórymi urządzeniami USB i poprawnieniem zarządzania energią. Jeśli jednak to był problem z USB, to zastanawiające czemu błąd rodził się tylko podczas instalacji maszyn wirtualnych? Jeśli ktoś drążył ten temat głębiej, chętnie postiuduję materiał.

Błędy, błędy, błędy

Znowu o Excel 2007. Tym razem ze strony tych, którzy Excela już używają.

W komórce napisz poniższą formułę:

=850*77.1

(użyj przecinka lub kropki w zależności od Twoich ustawień regionalnych, Polska = przecinek, kraje anglosaskie kropka).

Jaki otrzymałeś rezultat? 100000? Jest to błąd Excela. Wartością oczekiwaną było 65535.

Inne: błąd w notatniku




Disclaimer

All postings are provided "AS IS" with no warranties, and confer no rights. This weblog does not represent the thoughts, intentions, plans or strategies of Microsoft or any other company or organization. Because a weblog is intended to provide a semi-permanent point-in-time snapshot, you should not consider out of date posts to reflect current thoughts and opinions.
All software used by author of this blog come from legal sources.

Add to Technorati Favorites