A blogban leírtak a szerzők saját véleménye, és nem a munkáltatójuké.

openwsman hibák

Az IRF második házi feladatára készülve szokás szerint megnéztem a kapcsolódó eszközök aktuális verzióját, bővítgettem a segédletet különböző lekérdezésekkel. Közben sikerült azért sajnos jó pár hibába belefutnom. Ezek között voltak kisebbek (nem implementált kapcsoló, jelszó kiírása a log fájlba), de volt három érdekes is.

Enumeration with selector filter returning only one instance: Selector dialektust használó szűrés esetén csak egy példányt adott vissza a lekérdezés, közben pedig volt több is, ami megfelelt a feltételnek. Kikeresve a kódban a megfelelő részt viszonylag gyorsan megtalálható a probléma: az eredményeket tároló tömb feltöltésekor az indexet elfelejtették növelni.

Segmentation fault when the selector filter contains comma: a következő már trükkösebb volt. Ha Selector dialektust használó szűrőfeltételben vessző volt, akkor segmentation fault lett az eredmény. Kicsit hosszabb volt végigkövetni a hívási láncot, itt már a gdb segített. A probléma az, hogy nem ellenőrzi a kód az URI feldolgozásának eredményét, és null visszatérési érték esetén is simán továbbmegy.

Core dump when using XPath filter with SfcbLocal frontend: a szűrőfeltételt lehet elvileg XPath lekérdezéssel is megfogalmazni, de erre sajnos nincs túl sok példa. Már nagyjából az első próbálkozásom is segmentation faultot okozott:). Irány a gdb, stack trace, lekérdezés adatait tároló struktúra kiíratása, eszerint a lekérdezést WQL dialektusban adtuk meg. Fejvakarás, elküldött wsman XML nézegetése, forrás vizsgálata. Kiderült, hogy rosszul állítja be az alapesetet a kód, ráadásul az XPath lekérdezés nincs is implementálva.

Küldtem módosításokat, remélhetőleg a következő verzióban már ezek javítva lesznek.

A hibáknál sokat segít, ha van debug információ is az adott programokhoz. Ha a hivatalos csomagokat raktuk fel, akkor a CentOS-hez tartozó debuginfo csomagokat is szedjük le. Ehhez létre kell hozni egy debuginfo.repo nevű fájlt a /etc/yum.repo.d/ könyvtárban a következő tartalommal:

[debuginfo]
name=CentOS-$releasever - DebugInfo
baseurl=http://debuginfo.centos.org/$releasever/$basearch/
gpgcheck=0
enabled=1

Ha az opensuse build szerveréről raktunk fel frissebb verziót a programokból, akkor pedig onnan a debug szót tartalmazó verziókat kell felrakni.

1 comment to openwsman hibák

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>