ejabberd - Logging

14. März 2020

Wenn man Programmierer-Schlampen (m/w/d - und Nein, es macht keinen Unterschied!) an der Tastatur beobachten will.

 

Hier ist ein Beispiel dafür, wenn es einem scheißegal ist, wie und was man protokolliert (man kennt ja schließlich den eigenen Quellcode). Das ganze passiert, wenn man den ejabberd-Webadmin aufrufen will. Der Browser sagt schlicht "connection reset" und das folgende wird dann ins Logfile geschmiert:

2020-03-14 18:04:25.295966+01:00 [error] <0.592.0>@proc_lib:crash_report/4:508 CRASH REPORT:
  crasher:
    initial call: ejabberd_http:init/3
    pid: <0.592.0>
    registered_name: []
    exception error: bad argument
      in function  maps:from_list/1
         called as maps:from_list([html])
      in call from ejabberd_http:apply_custom_headers/2 (src/ejabberd_http.erl, line 860)
      in call from ejabberd_http:process_request/1 (src/ejabberd_http.erl, line 495)
      in call from ejabberd_http:process_header/2 (src/ejabberd_http.erl, line 287)
      in call from ejabberd_http:parse_headers/1 (src/ejabberd_http.erl, line 212)
      in call from ejabberd_http:init/3 (src/ejabberd_http.erl, line 142)
    ancestors: [ejabberd_http_sup,ejabberd_sup,<0.114.0>]
    message_queue_len: 0
    messages: []
    links: [<0.506.0>,#Port<0.72>]
    dictionary: []
    trap_exit: false
    status: running

Bad Argument... Was für ein Argument war den bitteschön *bad* ? Ich sehe so einen Scheiß beinahe jeden Tag. Die Programmierer bei Microsoft sind Meister in diesem Fach und übertreffen diese Meldung hier um mindestens den Faktor 5 (File not found ist so ein grandioses und seit Jahrzehnten nicht gefixtes Beispiel 🤮) Ich sehe es bei mir selbst, und ich gelobe jeden Tag Besserung 😅 Bitte liebe Programmierer da draußen. GEBT EUCH MÜHE BEIM AUSGEBEN VON FEHLERMELDUNGEN!

 

Und um das abzuschließen: der Fehler ist wohl bekannt und möglicherweise auch ein Grund dafür, keine Rolling-Release-Distribution auf dem Server einzusetzen. 😎