Starface 6.1.0.1 lässt Samba 4.3.11 auf FreeBSD 10.3 abstürzen

  • Unter "Server/Backup" ein Backup-Job angelegt.
    Als Speicherort wird ein "Windows Share" benutzt, der von einer NAS mit FreeBSD und Samba mit Protokoll SMB2/SMB3 bereitgestellt wird.


    Bei jeder (!) Sicherung auf dieses Share crash Samba mit einem "bad file descriptor" Fehler.


    Das scheint primär ein Problem von Samba zu sein, aber wenn ich das erzeugte Backup-File downloade und manuell unter Windows (mit dem Explorer) oder OSX (mit dem Finder) auf das gleiche Share sichere, dann gibt es keinerlei Probleme.
    Bevor ich deshalb einen Bug bei FreeBSD/Samba Group melde, möchte ich vorab klären, auf welche Art und Weise (Programme, Scripts etc.) von Starface das Backup auf einem Windows Share erstellt wird.

    Einmal editiert, zuletzt von Goulasch ()

  • Vermutlich wird das Problem mit jeder Version auftreten. Du solltest das Thema an die FreeBSD-Samba-Maintainer schicken. Wenn Samba crasht, egal, wer gerade darauf geschrieben hat, ist es ein Samba-Fehler.


    Die STARFACE mountet die Share ebenfalls mit Samba und schreibt auf das gemountete Volume. Alles darunter ist transparent und die Schnittstelle ist SMB.

  • bevor ich an die Samba Maintainer rangehe, möchte ich wissen, wie Starface auf ein Windows Share schreibt.
    Das erfolgt scheinbar nicht durch Samba in CentOS, sondern via Java - bin mir da aber nicht sicher, da ich das nicht nachvollziehen kann.


    Wenn ich das vom Backup erzeugt File mir per Mail zusende und dann via copy auf die NAS kopiere, dann bekomme ich keine Fehler.
    Daher vermute ich als Ursache des Problems nicht die Datei oder deren Inhalt, sondern eher wie der Fileopen & -lock erfolgt.
    Da ich diesen Teil aber nicht tracen kann, genau das aber mit zu einer möglichen Fehlerbeschreibung an die Samba Group gehört, frage ich hier mal nach.

  • Hallo Goulasch


    Zitat

    Das erfolgt scheinbar nicht durch Samba in CentOS, sondern via Java


    Im Java wird lediglich der Bash Befehl für den Mount Befehl zusammengesetzt.


    Nachdem der Mount Befehl gebaut wurde, wird dieser durch Runtime.getRuntime().exec(Command(/bin/Mount ...)) ans Centos weitergegeben


    Die Starface analysiert danach noch den Returnwert und gibt ggf. einen Fehler aus.


    MfG


    Fabian

  • bevor ich an die Samba Maintainer rangehe, möchte ich wissen, wie Starface auf ein Windows Share schreibt.
    Das erfolgt scheinbar nicht durch Samba in CentOS, sondern via Java - bin mir da aber nicht sicher, da ich das nicht nachvollziehen kann.


    In Java ist hier sicherlich nicht das Mounten bzw. das Schreiben auf eine Netzwerkshare implementiert. Warum sollte man Samba bzw. die Kernelerweiterungen auch im Userspace duplizieren?
    Die Art des Dateisystems ist völlig transparent.



    Wenn ich das vom Backup erzeugt File mir per Mail zusende und dann via copy auf die NAS kopiere, dann bekomme ich keine Fehler.
    Daher vermute ich als Ursache des Problems nicht die Datei oder deren Inhalt, sondern eher wie der Fileopen & -lock erfolgt.


    Wenn das deine Vermutung ist, wären ebenfalls die FreeBSD-Samba-Maintainer zu informieren. Am Besten mit ausführlichen Logs des Zielsystems.

  • Zitat

    Nachdem der Mount Befehl gebaut wurde, wird dieser durch Runtime.getRuntime().exec(Command(/bin/Mount ...)) ans Cents weitergegeben


    Wurde die *.sar Datei zu diesem Zeitpunkt bereits erstellt und wird sie nunmehr nach dem Mount einfach kopiert oder erfolgt erst jetzt ein Fileopen auf dem Share ?


    Gem. Samba Log auf der NAS gibt es jedes mal ein "bad file descriptor" Fehler. In der Folge kommen dann "PANIC (pid xxxx): invalid lock_order" Fehler.


    Diese(n) Fehler erhalte ich aber nicht, wenn die gleiche (Backup) Datei mit

    Code
    smbclient -U DOMAIN\\username //ip.des.file.servers/Windows Share/ -c 'put "backup-Domain-1480162653896.sar"'


    auf die NAS kopiere.

  • Hallo Goulasch


    Folgendes macht die Starface bei einem Backup:


    Erstellt einen SMB Mount (/mnt/....)
    ==> Mountet diesen
    ==> Wenn Fehler beim Mount passiert, Backup Abbruch, Fehlermeldung wird ausgegeben


    ==> Wenn kein Fehler passiert ist, erstelle lokales Temporäres Backup.
    ==> Wenn Backup Komplett ist, kopiere dieses auf den SMB Share via den Mount-Pfad /mnt/.... (Es wird FileUtils.copyFile) für die Aktion Verwendet.


    ==> UnMount des SMB Folders


    In deinem Fall überlässt du ja das Kopieren direkt dem SMB-Client, während die Starface immer einen MountPoint anlegt.


    MfG


    Fabian

  • Zitat

    Ich würde auf dem Samba-Server mal mit den Optionen "oplock" und "strict locking" spielen.
    Ein kurzes Googlen nach "freebsd samba lock panic" zeigt mir, dass Du mit dem Problem nicht alleine bist.


    Das hatte ich bereits getestet. War leider nicht zielführend.


    Zitat

    In deinem Fall überlässt du ja das Kopieren direkt dem SMB-Client, während die Starface immer einen MountPoint anlegt.


    Genau.
    Damit kann eigentlich ausgeschlossen werden, dass es am Inhalt der zu übertragenden Datei liegt (viele Reportings bei Samba zeugen von Problemen mit Video-Dateien).


    Welche Tomcat/Java-Version wird von Starface benutzt ?


    Danach werde ich den vermeintlichen Bug melden.

  • Zitat

    Welche Tomcat/Java-Version wird von Starface benutzt ?


    Danach werde ich den vermeintlichen Bug melden.



    MfG


    Fabian

  • Habe einen Workaround eines Samba Entwicklers erhalten:


    Bei Verwendung der Samba Option

    Zitat

    posix locking = no


    in der smb4.conf, stürzt Samba beim Backup nicht mehr ab.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!