Viewing 2 reply threads
  • Author
    Posts
    • #13557
      Alexander Marx
      Participant

      Hallo.

      ich habe otobo auf einem neuen Server installiert. Kein Docker, alles manuell nach Anleitung.

      Lief auch Problemlos. Für die Migration habe ich dann den Ordner /opt/otrs vom alten Server (otrs 6) auf den neuen kopiert und ebenfalls einen SQL-Dump (mysql) gemacht und dann auf dem neuen Server eine Datenbank otrs angelegt und den Dump zurückgespielt.

      Nun das Migrationstool aufgerufen, es lief alles problemlos und die Tickets wurden übernommen.

      Seit heute kann ich mich aber nicht mehr am Webinterface anmelden. Sobald ich Benutzername und Kennwort eingebe, kommt nur eine weiße Seite mit „internal Server error“

       

      im /var/log/apache2/error.log steht nur:

      [:error] [pid 2203] Wide character in shmwrite at /opt/otobo/Kernel/System/Log.pm line 268.\n

       

      Ansonsten keine Fehler. Weder im Syslog noch in /opt/otobo/log.

      Hat jemand eine Idee, was es sein kann?

       

    • #13561
      bes
      Participant

      Hallo Markus,

      anhand der Zeilennummer sehe ich, dass es sich um OTOBO 10.0.x handeln muss. Zu der Fehlermeldung „Wide character in shmwrite “ gibt es das Github Issue 1082, https://github.com/RotherOSS/otobo/issues/1082. Der Fehler tritt also auf wenn OTOBO 10.0.x mit Perl 5.34 verwendet wird. Welche Version von Perl verwendest du? Bzw. was ist die Ausgabe von perl -V:version ?

      Zur Behebung gibt es mindestens zwei Möglichkeiten:

      • Upgrade auf OTOBO 10.1.4
      • Patch der Datei _Kernel/System/Log.pm_

      Aktuell sehen ich auch keinen Grund die Anpassung nicht in OTOBO 10.0.5 einfliessen zu lassen. Ich bespreche das intern.

      Hier ist der ungetestete Patch, leider gibt es keine Attachments in diesem Forum.

      diff --git a/Kernel/System/Log.pm b/Kernel/System/Log.pm
      index e87ea9678e..f83e5e0093 100644
      --- a/Kernel/System/Log.pm
      +++ b/Kernel/System/Log.pm
      @@ -257,15 +257,18 @@ sub Log {
      $Self->{ lc $Priority }->{Message} = $Message;
      }

      - # write shm cache log
      + # Prepend the current log line to the shared memory segment.
      + # The oldest log lines might fall out of the window.
      + # shmwrite() might append "\0" bytes for padding.
      if ( lc $Priority ne 'debug' && $Self->{IPC} ) {

      $Priority = lc $Priority;

      - my $Data = $LogTime . ";;$Priority;;$Self->{LogPrefix};;$Message\n";
      - my $String = $Self->GetLog();
      -
      - shmwrite( $Self->{IPCSHMKey}, $Data . $String, 0, $Self->{IPCSize} ) || die $!;
      + my $LogLine = join ';;', $LogTime, $Priority, $Self->{LogPrefix}, $Message;
      + my $OldString = $Self->GetLog();
      + my $NewString = join "\n", $LogLine, $OldString;
      + $Kernel::OM->Get('Kernel::System::Encode')->EncodeOutput( \$NewString );
      + shmwrite( $Self->{IPCSHMKey}, $NewString, 0, $Self->{IPCSize} ) || die $!;
      }

      return 1;

       

       

    • #13588
      bes
      Participant

      The same problem also popped up in the Znuny forum: https://community.znuny.org/viewtopic.php?t=43163&p=175351#p175351 . One answer correctly  points to decoding the data passed to shmwrite: https://community.znuny.org/viewtopic.php?p=175334#p175334 .

Viewing 2 reply threads
  • You must be logged in to reply to this topic.