Topic: Déconnexion bizarre

Bonjour,

je rencontre depuis peu de temps un problème étrange.
À chaque fois qu'un utilisateur précis (toujours le même)
accède à un dossier précis (idem), il est déconnecté par WinSCP
avec le message :

Déconnexion inattendue
Résultat de la commande exit sur le serveur 139.

S'il se reconnecte sans quitter WinSCP, alors il a cette fois déconnexion
quand il accède à n'importe quel dossier, avec un code 150 au lieu de 139.

Avec Filezilla, c'est pire (FZ se plante).
Dans le sftp.log, on a seulement trace d'une connexion et d'une déconnexion sans erreur.

Je précise que cet utilisateur vient d'être créé et a toujours eu le problème,
qu'il est le seul à le rencontrer, qu'il accède normalement au dossier critique
avec Samba ou un shell bash.

Que se passe-t-il ? je suis perplexe...

Re: Déconnexion bizarre

Bonjour,

Quel système d'exploitation (et ça version) ?
Version de MySecureShell ?
Votre fichier de configuration contient-il des spécifications particulières pour cet utilisateur ? Vous avez spécifié un encoding particulier ?
Votre dossier à un nom particulier (très long, avec accent, etc...) ?

Toutes ces informations, vous nous permettre de mieux cerner le problème wink

3 (edited by 8087 2008-10-07 22:02:26)

Re: Déconnexion bizarre

Système : Debian Etch

Version MSS :

 MySecureShell --version
MySecureShell is version 1.0 build on Dec  9 2007

Options:
  ACL support: yes
  UTF-8 support: yes

Sftp Extensions:
  Disk Usage
  File Hashing

Configuration :

<Default>
    GlobalDownload                 2M
    Home                           /home
    HideNoAccess                   true
    Download                       120k
    LimitConnectionByIP            20
    VirtualChroot                  false
    ShowLinksAsLinks               false
    ResolveIP                      true
    ConnectionMaxLife              6h
    LimitConnectionByUser          2
    LimitConnection                100
    DefaultRights                  0640 0750
    MinimumRights                  0440 0700
    Charset                        ISO-8859-15
    Upload                         50k
    StayAtHome                     true
    GlobalUpload                   2M
    IdleTimeOut                    600
</Default>

<Group admin>
    ByPassGlobalUpload             true
    ByPassGlobalDownload           true
    DefaultRights                  0664 0775
</Group>

Tous les dossiers ont des noms purement ASCII de moins de 11 caractères.
L'utilisateur qui pose problème - appelons-le manager -  appartient au groupe admin,
il est propriétaire des dossiers partagés, dont celui qui déraille - appelons-le weird.

Peut-être une piste : le dossier weird ne contient que des sous-répertoires
dir1, dir2,..,dir47 qui appartiennent à manager.

Si je rends root propriétaire de dir1,...dir47 je n'ai plus de problème
(mais manager ne voir plus rien dans le dossier weird).

Je peux rendre à manager la propriété de 3 sous-dossiers et ça marche ;
à partir du quatrième, je retrouve le problème ?!?

J'espère que mes explications sont compréhensibles. Merci !

Re: Déconnexion bizarre

(Je regarde pour le reste...)

Mais en attendant, si tu supprime le Charset, ça fonctionne mieux ?

Re: Déconnexion bizarre

Hélas, ça ne change rien au problème et ça en ajoute un autre
(Erreur de décodage de la chaîne UTF-8) pour certains fichiers...:(

Re: Déconnexion bizarre

Personnelement, je n'arrive pas à reproduire le soucis.

Il est possible de compiler les sources en mode DEBUG pour avoir plus d'informations ?

Re: Déconnexion bizarre

Je peux essayer, mais ne l'ai jamais fait (j'ai installé le paquet deb).
Et je me demande, puisque le service est en production avec pas mal d'utilisateurs,
si le serveur en mode debug ne risque pas de saturer le serveur de logs monstrueux ?

Il y a moyen de savoir ce que signifie le code d'exit 139 ?

Re: Déconnexion bizarre

Bah pour la production, c'est pas top.... car justement le but est de reproduire le soucis afin d'avoir un maximum de log...

Le code de retour 139 correspond au signal 11 (erreur de segmentation) => grosso modo un joli bug dans MySecureShell smile

Re: Déconnexion bizarre

Re-bonjour,

j'arrive à cerner un peu mieux le problème et à reproduire le bug de la façon suivante :

1- Créer au besoin un utilisateur de test, disons user.

2- Créer un répertoire /home/test de propriétaire root:root, droits 755.

3- Créer un groupe g1, puis un dossier /home/test/d1 de propriétaire user:g1, droits 770.

4- Idem en avec d2 et le groupe g2, (d3,g3), (d4,g4), (d5,g5).

On a alors 5 dossiers appartenant à user, mais de groupes tous distincts.

Si user accède à /home/test par MSS -> erreur 139.

Si on ne garde que 4 dossiers -> erreur 150.

Si on ne garde que 3 dossiers -> plus de problème !

Étonnant, non ?

10 (edited by teka 2008-10-10 17:58:41)

Re: Déconnexion bizarre

Je note et testerais dès que possible (demain soir) big_smile

Merci beaucoup d'avoir trouver la démarche pour reproduire le bug.

Plus d'informations demain soir wink


Edit: VICTOIRE LE BUG EST VISIBLE CHEZ MOI AUSSI !!!!!!!!!! ... bon je vais aller le fixer maintenant roll

Re: Déconnexion bizarre

Merci beaucoup pour cette analyse qui m'a permis de fixer le bug cool

La version (1.1rc5) disponible dans le CVS de SourceForge contient le patch. roll

Re: Déconnexion bizarre

Bravo pour la réactivité !

Est-ce qu'il m'est possible d'installer la version patchée ?
Je ne vois pas où la télécharger...

Re: Déconnexion bizarre

La version corrigée n'existe pas encore en "package" téléchargeable mais juste les sources sont disponibles.

Néanmoins cette (future) version devrait bientôt sortie (31 octobre au plus tard si je dis pas de bêtises) big_smile