Articoli e notizie

Il blog di Eld Engineering

Eld Engineering Srls

Home > Articoli > Venerdi 13: mail routing bug in Domino

Venerdi 13: mail routing bug in Domino

da | 20 Dic 24 | Alert, Annunci, Fix

Lavoriamo su Notes e Domino da forse più di 30 anni ma un problema simile non era mai capitato .

Dal giorno 13 dicembre il routing della posta si è bloccato su un congruo numero di server Domino (non tutti, poi spiego il perchè) ed a prescindere dalla versione del server Domino , lo abbiamo visto da server con la versione 9 in avanti (sia Windows che Linux) ma HCL riporta che il problema è stato riscontrato anche su versioni precedenti.

Su tutti i server colpiti dal malfunzionamento il messaggio era lo stesso “Error transferring to maximum hop count exceeded, message probably in a routing loop” e l’email inviata veniva riportata al mittente come delivery failure.

Ora che la bufera sta passando possiamo fare alcune considerazioni e tirare le somme su quanto è successo :

Il bug è nel codice del router di Domino

da quanto abbiamo capito si tratta di un bug in una formula di calcolo per le date che ha creato questo problema, un articolo completo verrà in seguito da HCL nella nota tecnica. In sintesi sembra che una variabile nel codice non sia stata più in grado di contenere i risultati e abbia generato un overflow o qualcosa di simile

Quando è stato introdotto l’errore ?

HCL dichiara che ha trovato lo stesso bug andando a ritroso fino alla versione 5 di Domino , non sappiamo nulla delle versione precedenti ma la versione 5 è stata rilasciata negli anni 90 , prima della acquisizione da parte di IBM. Forse chi ha sviluppato il codice all’epoca non ha pensato che dopo 30 anni Domino fosse ancora in funzione in così tante aziende e che il codice non venisse mai revisionato. Fino ad oggi la stabilità di Notes e Domino è stata tale che nessuno ne ha sentito la necessità.

Quando si verifica l’errore?

Da test fatti (anche da noi) l’errore compare quando il routing della posta coinvolge più server Domino, tecnicamente quando vi sono più Hops fra un server e l’altro.
Nel caso in cui la posta sia attestata su di un solo server e questo la invii direttamente all’esterno il problema non si verifica.

Cosa fare per risolvere la situazione?

HCl ha rilasciato le fix per la maggior parte delle versioni recenti di Domino già da Domenica 15 Dic. 2024 , quindi se avete il supporto attivo è sufficiente leggere questo articolo che contiene i link alle varie Fix suddivise per versione e S.O.

Se hai la versione 9 o 10 :

Le fix per queste versioni non sono pubblicamente disponibili , si deve aprire un ticket di assistenza ma anche qui le opzioni variano a seconda si abbia o meno un contratto di supporto attivo.
Se il contratto è attivo HCL vi invierà la patch altrimenti avrai la possibilità di ottenere un supporto esteso che costa il 20% del costo della licenza o 10.000 $ entro 60 giorni.
Una volta concordati i termini con HCL vi verrà inviata la patch.

Se ho una versione precedente alla 9 ?

Non sorridete, ci sono casi simili…
I clienti delle versioni precedenti alla versione 9.0.1 (ad esempio, v8.5 o v7.x) devono eseguire l’aggiornamento alle versioni supportate (v12.0.2 o v14.0.x) per poter installare le correzioni.

Esiste un workaround?

Non esiste un workaround ufficiale da HCL.

Tuttavia su alcuni blog sono comparse delle soluzioni da poter applicare temporaneamente .

Il concetto è abbastanza semplice : cambiare la confiugurazione del router in modo che le email in errore restino nella mail.box e non tornino all’utente come delivery failure e poi avere del codice sempre nella (o nelle) mail.box così da processare i messaggi in errore azzerando i campi come “$Hops” , “RoutingStateBy” , “hopsretry” così da azzerrare l’errore e far riprendere il normale routing del messaggio di posta .

Ne potete trovare un esempio in questo articolo oppure un’altra tipologia qui o fra i commenti a questo articolo  .

Tenete però presente che si tratta pur sempre di workaround , la soluzione migliore è sempre quella di installare la fix coretta.

Concludendo

Innazitutto teniamo presente che avere il numero di correzioni sviluppate, testate e rilasciate da HCL nel lasso di tempo di un weekend è stata un’impresa enorme e va a merito di tutti i soggetti coinvolti.

Domino è ed è sempre stato stabile e solido, come ho scritto all’inizio in 30 anni di lavoro su questa piattaforma non avevo mai visto un problema simile.

Tutti i software sono però soggetti ad imperfezioni, non ho mai visto software che non ne avessero: per questo avere licenze e contratti di supporto con il tuo fornitore è fondamentale per la manutenzione sul software su cui fai affidamento.

0 commenti