Spaß mit Ja­va. Heu­te: Ve­ri­fy­Er­ror bei in­ne­ren Klas­sen


Ei­gent­lich woll­te ich heu­te den neus­ten Build un­se­rer Soft­ware re­lea­sen. Mit dem vo­ri­gen hat­te es näm­lich ein Pro­blem ge­ge­ben: Bei un­se­rer Mit­ar­bei­te­rin wa­ren Feh­ler­re­ports auf­ge­lau­fen, dass sich ei­ne Mas­ke nicht öff­nen ließ. Prü­fung mei­ner­seits: Die Ja­va-Lauf­zeit­um­ge­bung mel­det ei­nen „Ve­ri­fy­Er­ror“. Hm. Muss wohl was beim Pa­cken schief­ge­gan­gen sein.

Al­so heu­te mor­gen den Pack­pro­zess ge­nau be­ob­ach­tet: Al­les ro­ger. Trotz­dem das Bi­na­ry noch­mal ge­tes­tet: Bautz! Feh­ler im­mer noch da.

Und dann ha­be ich wirk­lich den ge­sam­ten Tag da­mit zu­ge­bracht, das Pro­blem zu ana­ly­sie­ren und letzt­lich zu lö­sen: Der Com­pi­ler von Ja­va 1.4.2, selbst in der ak­tu­el­len 1.4.2_12-Version, macht ei­nen Feh­ler, wenn man aus der in­ne­ren Klas­se ei­ner in­ne­ren Klas­se her­aus ei­ne Me­tho­de der äu­ßers­ten Klas­se auf­ruft. Mein Code­bei­spiel:

Fie­ser­wei­se tritt der Bug im Eclip­se-ei­ge­nen Com­pi­ler nicht auf. Nach­dem das Pro­blem lo­ka­li­siert hat­te, ha­be ich den Feh­ler auch in der Bug-Da­ten­bank bei Sun ge­fun­den. Dort steht, dass er mit Ja­va 1.5 ge­fixt ist.

Wer­de ich wohl doch mal den Com­pi­ler fürs Pro­duk­tiv­sys­tem um­stel­len. Zu­nächst noch im 1.4-Kompatibilitätsmodus, aber der end­gül­ti­ge Schwenk zu Ja­va 1.5 ist auch nicht mehr so lan­ge weg…

Dass es so­was gibt… Ich ver­wen­de ja nun den Sun-Com­pi­ler ex­tra we­gen der Kom­pa­ti­bi­li­tät und so. Frü­her, als ich noch mit ji­kes die Re­lea­ses kom­pi­liert ha­be, da kam so­was ja häu­fi­ger vor. Tststs…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.