Windows 7 Fault Tolerant Heap

Probleme generale legate de sistemul de operare Windows (instalare, setari, registry, control panel, securitate, administrare, noutati Vista).
Post Reply
User avatar
zlatomir
Membru++
Membru++
Posts: 282
Joined: 04 Jul 2009, 23:59
Location: Arad
Contact:

Windows 7 Fault Tolerant Heap

Post by zlatomir » 24 Jul 2010, 06:34

Ce parere aveti despre functionalitatea din Windows 7, care incerca sa "mentina in viata" aplicatia dupa un crash?

Ati reusit sa il treziti? stiati de existenta lui? eu acum am aflat despre el de pe un alt forum, si dupa o scurta cautare am ajuns la Link



User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: Windows 7 Fault Tolerant Heap

Post by Silviu Ardelean » 24 Jul 2010, 21:59

Cat timp acest feature incearca sa detecteze, fie si euristic, cauzele crash-urilor, ajuta la colectarea informatiilor ce au cauzat aceste crash-uri (implicit la rezolvarea unora), nu vad nici o problema.
Daca ai urmarit cu atentie filmul cu prezentarea lui Silviu Caliniu crash-urile sunt generate atat de aplicatii default Windows, dar si de multe aplicatii externe non-MS.
MS colecteza informatiile de crush (chiar si cele ce nu sunt vizibile prin ferestre de popup, in ideea de-a studia si remedia problemele ce s-ar putea rezolva). Fiind vorba de un volum imens de informatie, inevitabil se ajunge sa se foloseasca diverse tehnici euristice, statistice, etc. Ar fi imposibil de analizat de catre oameni o astfel de cantitate de informatie.
Din experienta, iti spun ca omul nu exagereaza cu nimic cand spune ca aceste bug-uri sung greu de detectat... si mai greu de fixat.

User avatar
zlatomir
Membru++
Membru++
Posts: 282
Joined: 04 Jul 2009, 23:59
Location: Arad
Contact:

Re: Windows 7 Fault Tolerant Heap

Post by zlatomir » 25 Jul 2010, 13:50

@Silviu: Nu am spus ca Silviu Calinoiu ar spune prostii (linkul era doar pt cei care nu au auzit de FTH, informatia de pe MSDN e cam putina), eu, de exemplu, nu am auzit de FTH, pana ieri (pe un alt forum, unde cel a intrebat, ne spunea ca aplicatia merge ok si pe Xp si pe Win7 doar ca pe 7 apare mesajul asta "suspect")

Ok, imi spun eu parerea: mie mi se pare ca aceasta functionalitate are doua parti:
1) una nasoala, faptul ca aplicatii care ar trebui sa crash-uiasca, sunt mentinute in functionare de catre OS (adica OS-ul face "magarii" pt ca magariile scrise de mine sa functioneze, asta poate incuraja dezavantajul de la punctul 2)
2) una --buna (sau mai putin buna depinde doar de cei care au scris aplicatia) colectarea informatiilor, e buna, doar ca, din cauza ca aplicatia "pare" sa functioneze se incurajeaza comportamentul: "Las'-o ma, ca mere si asa!"
Aici avantajul este de partea companiilor mari care vor primi informatii despre crash-urile aplicatiilor lor.

User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: Windows 7 Fault Tolerant Heap

Post by Silviu Ardelean » 25 Jul 2010, 14:01

Zlatomir, daca citesti mai cu atentie, ai observa ca nici eu nu am spus ca tu ai avea vreo parere proasta despre ce zice Silviu Calinoiu.
Daca ai avea exerienta in aplicati reale, cred ca ai privi total diferit aspectul de la punctul 1. De exemplu, fi sigur ca nu toate dezalocarile sunt facute la momentul potrivit in momentul in care tu folosesti acum un browser (oricare ar fi el). Asta, NU inseamna ca aplicatiile trebuie sa CRASH-uiasca... doar ca sa vezi tu... si chiar nu e cazul. Sunt situatii de aplicatii pe care tu le folosesti fara sa stii ca de ex. la terminare, au un leak de cativa octeti constanti. Atat timp cat acest nr. nu creste exponential, nu pune in pericol integritatea OS-ului tau.
Prin faptul ca exista FTH, ei, in primul rand contorizeaza problemele aparute, le clasifica si pe baza euristicilor reusesc sa automatizeze anumite rezolvari.
Stai tu linistit, ca o companie serioasa nu are atitudinea mioritica la care faci tu referire. ;)
Problema e alta... oameni sunt coplesiti de numarul imens de probleme si incearca sa dezvolte diverse tehnici care sa le vina in sprijinul muncii lor (apeland chiar si la chestiuni statistice, clasificari, tooluri automate de genul FTH, etc).

Dragos Cojocari
Membru++
Membru++
Posts: 789
Joined: 11 Jul 2007, 14:11

Re: Windows 7 Fault Tolerant Heap

Post by Dragos Cojocari » 26 Jul 2010, 12:23

Nu am citit in detaliu ce se intampla acolo dar ideea de a pastra in viata o aplicatie care a crapat mi se pare periculoasa, la fel de periculoasa ca ignorarea exceptiilor. Motivul: care e starea aplicatiei dupa crash? Ce se intampla daca aplicatia a incercat sa citeasca o valoare cand a crapat, valoare ce e folosita in diverse calcule/decizii ulteriorare? Probil FTH-ul e mai subtil si/sau e gandit ptr cazuri foarte specifice dar eu unul prefer un crash cinstit decat o aplicatie zombie.

User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: Windows 7 Fault Tolerant Heap

Post by Silviu Ardelean » 26 Jul 2010, 13:01

Situatiile ptr. care FTH-ul mentine in viata aplicatiile sunt situatii mai subtile, situatii care nu pericliteaza integritatea aplicatiei si a OS-ului (ex. anumite distrugeri de obiecte din librari share-uite sunt efectuate doar la shutdown). Aceste situatii, FTH-ul le contorizeaza, clasifica si le trimite la MS iar MS-ul le foloseste ptr. propriile euristici.
Pentru cele cu adevarat periculoase, intr-adevar aplicatia e lasata sa crape si dump-ul e trimis la MS.

User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: Windows 7 Fault Tolerant Heap

Post by Marius Bancila » 26 Jul 2010, 13:48

Idea e ca erori in aplicatii exista si ajung la customer. Nu vorbim aici despre faza de development, ci de faza in care aplicatia crapa la client. Dupa cum explica Silviu Calinoiu, un fix poate lua luni sau mai mult pana sa ajunga pe masinile clientilor. Ce a incercat MS sa faca e un sistem care sa analizeze aceste crasuri si in anumite cazuri sa le ignore. De exemplu, un buffer overrun de cel mult 8 bytes e ignorat. Daca depaseste 8 bytes, atunci aplicatia va crapa ca inainte. Si asa mai departe. Totusi, acest FTH nu se activeaza decat daca aplicatia crapa de 4 ori intr-o ora. In plus, daca activarea FTH nu duce la rezultate pozitive, se dezactiveaza din nou.
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

Dragos Cojocari
Membru++
Membru++
Posts: 789
Joined: 11 Jul 2007, 14:11

Re: Windows 7 Fault Tolerant Heap

Post by Dragos Cojocari » 26 Jul 2010, 15:55

FTH-ul e activat initial? Si daca este, se poate dezactiva? "rezultate pozitive" - cred ca e greu sa verifici daca aplicatia ta nu a continuat cu un 1 undeva unde ar fi trebuit sa aiba 0.

User avatar
zlatomir
Membru++
Membru++
Posts: 282
Joined: 04 Jul 2009, 23:59
Location: Arad
Contact:

Re: Windows 7 Fault Tolerant Heap

Post by zlatomir » 26 Jul 2010, 17:08

La mine e activat (nu am vazut nici un mesaj de eroare asa ca e default, cred), dar se poate dezactiva: in registry HKLM\Software\Microsoft\FTH\Enabled se seteaza 0.

User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: Windows 7 Fault Tolerant Heap

Post by Marius Bancila » 27 Jul 2010, 14:40

Cateva informatii aici: http://msdn.microsoft.com/en-us/library ... 85%29.aspx.

Si mai interesant, cu mai multe informatii: http://blogs.technet.com/b/askperf/arch ... ement.aspx.
Full FTH functionality is only supported on client SKU’s. This means that it does not monitor and shim applications running on server SKU’s. However, you can manually apply the shim to an application on a server using the Application Compatibility Toolkit. FTH also only applies to interactive programs. Since services are no longer allowed to interact with the desktop starting with Windows Vista and Windows Server 2008, they will typically not be eligible for automatic FTH monitoring. Again however, you can manually shim a service using the Application Compatibility Toolkit.
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

Post Reply