Mittwoch, 9. September 2009

java.lang.outOfMemory und SAP Netweaver

Mich wollte neulich jemand davon überzeugen, dass die J2EE engine von SAP (EP 7.0 auf x64 VM von Sun) zwangsläufig crashed und restarted wird sobald sie auf einen OutOfmemory error läuft, weil Out of Memory Errors ja so schlimm, "da geht gar nix mehr!".

Ich musste richtig dagegen halten um ihn vom Gegenteil zu überzeugen (wahrscheinlich glaubt er es auch heute noch nicht), aber dem ist NICHT so.
  • Erstens weil wir hier ungefähr 10000 dieser OutOfMemory Errors sehen, wo definitiv nichts restarted wird
  • Zweitens, weil ein OOM eigentlich ein normaler Fehler ist, der (wenn er richtig behandelt wird) auch nicht zum Problem wird.

Es scheint irgendwie common sense zu sein, dass die halbe Welt glaubt dass man mit Java unbegrentzt Objekte zaubern kann - bei einem malloc in C/C++ muss doch auch darauf gefasst sein, dass man mal kein Memory mehr bekommt!

Naja, ich habe besagtem Kollegen dann versucht zu erklären dass es sein könnte dass ein Programm den Fehler berücksichtigt, die OOM Exception fängt und aufgibt. Danach kann der Garbage Collector dann aufräumen weil die Objekte nicht mehr referenziert werden. Die Antwort: *seufz* "OOM Errors kann man nicht fangen".

Lieber Senior Consultant (oder was-auch-immer Kollege), schau bitte hier und wirf deine alten Java Mythen über Bord. Wenn man keine Ahnung hat einfach mal...

http://www.velocityreviews.com/forums/t146111-catching-an-outofmemoryerror.html

http://www.google.de/search?source=ig&hl=de&rlz=&q=Java+Catch+out+of+memory+exception+&meta=lr%3D&aq=f&oq=

Mittwoch, 2. September 2009

Microsoft heult rum...

Ich glaub es nicht, Microsoft hat einen Bug im IIS (FTP vulnarbility mit 0-day exploit), kann eigentlich keinen Fix dafür liefern aber heult im security advisory dann rum, dass es nur auf CVE und milworm gepublished wurde und sie nicht direkt informiert wurden:

"This vulnerability was not responsibly disclosed to Microsoft and may put computer users at risk. We continue to encourage responsible disclosure of vulnerabilities. We believe the commonly accepted practice of reporting vulnerabilities directly to a vendor serves everyone's best interests. This practice helps to ensure that customers receive comprehensive, high-quality updates for security vulnerabilities without exposure to malicious attackers while the update is being developed."

Komisch, ich wurde auch nicht persönlich informiert und hab es trotzdem früher gewusst.