Page 1 sur 1

AttributeError sur poste client

Posté : 29 juil. 2016 - 18:52
par Floflobel
Bonjour,

Les WAPT présent localement sur les postes commencent à faire des erreurs.
Lorsque je veux "Upgrader le système" la pâge s'affiche en blanc avec un message "Server Error".

L'erreur dans la liste des tâches est la suivante :

Code : Tout sélectionner

AttributeError: type object 'exceptions.Exception' has no attribute 'create'
J'ai essayé de regarder côté serveur (Debian) mais tout est fonctionnel. J'ai accès au repo depuis les postes, je peux le pinguer.

J'ai essayer de passer par le cmd en effectuant un "wapt-get update" puis "wapt-get upgrade" et il m'affiche cette erreur :

Code : Tout sélectionner

Exception at 005755E5: EIdHTTPProtocolException:
HTTP/1.1 500 Server Error.
Le cas se présente sur plusieurs postes (70/1500), le problème commence à devenir critique car je ne peux plus effectuer aucune mise à jour.

En vous remerciant,

Re: AttributeError sur poste client

Posté : 25 août 2016 - 12:16
par Floflobel
J'ajoute les log dans l'espoir que quelqu'un trouve d'ou vient le problème.
Casiement l'ensemble de mon parc ne peut plus recevoir de mise à jour.
J'ai tenté une réinstallation complété de WAPT sur le poste client à la main mais j'ai toujours le même message d'erreur.

Code : Tout sélectionner

2016-08-25 11:54:47,973 ERROR Traceback (most recent call last):

  File "C:\wapt\lib\site-packages\rocket\worker.py", line 170, in run
    self.run_app(conn)

  File "C:\wapt\lib\site-packages\rocket\methods\wsgi.py", line 244, in run_app
    output = self.app(environ, self.start_response)

  File "C:\wapt\lib\site-packages\flask\app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)

  File "C:\wapt\lib\site-packages\flask\app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))

  File "C:\wapt\lib\site-packages\flask\app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)

  File "C:\wapt\lib\site-packages\flask\app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()

  File "C:\wapt\lib\site-packages\flask\app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)

  File "C:\wapt\lib\site-packages\flask\app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)

  File "C:\wapt\lib\site-packages\flask\app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()

  File "C:\wapt\lib\site-packages\flask\app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)

  File "C:\wapt\waptservice\waptservice.py", line 621, in decorated
    return f(*args, **kwargs)

  File "C:\wapt\waptservice\waptservice.py", line 934, in upgrade
    wapt().update()

  File "C:\wapt\common.py", line 3435, in update
    "upgrades": self.list_upgrade(),

  File "C:\wapt\common.py", line 4042, in list_upgrade
    depends = self.check_depends(result['install']+result['upgrade']+result['additional'])

  File "C:\wapt\common.py", line 3516, in check_depends
    (depends,missing) = self.waptdb.build_depends([p[0] for p in packages])

  File "C:\wapt\common.py", line 1673, in build_depends
    alldepends = dodepends(explored,packages,depth,missing)

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1663, in dodepends
    alldepends.extend(dodepends(explored,available_depends,depth+1,missing))

  File "C:\wapt\common.py", line 1645, in dodepends
    raise Exception.create('Max depth in build dependencies reached, aborting')

AttributeError: type object 'exceptions.Exception' has no attribute 'create'


Re: AttributeError sur poste client

Posté : 26 août 2016 - 10:16
par Floflobel
J'ai tenté de redémarrer le serveur mais ça n'a rien changé.
Les log situés dans /var/log ne me donne pas plus d'information.

Re: AttributeError sur poste client

Posté : 31 août 2016 - 12:33
par Floflobel
J'ai tenté de regarder sur le git et le seul lien que j'ai trouvé est https://github.com/tranquilit/WAPT/blob ... _init__.py.
Malheureusement je suis incapable de lire ce code.

Ligne 465 :

Code : Tout sélectionner

	def __getattr__(self, attr):
		args=self._prop_map_get_.get(attr)
		if args is None:
			raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))
		return self._ApplyTypes_(*args)

	def __setattr__(self, attr, value):
		if attr in self.__dict__: self.__dict__[attr] = value; return
		try:
			args, defArgs=self._prop_map_put_[attr]
		except KeyError:
			raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))
		self._oleobj_.Invoke(*(args + (value,) + defArgs))
	def _get_good_single_object_(self, obj, obUserName=None, resultCLSID=None):
		return _get_good_single_object_(obj, obUserName, resultCLSID)
	def _get_good_object_(self, obj, obUserName=None, resultCLSID=None):
return _get_good_object_(obj, obUserName, resultCLSID)

Re: AttributeError sur poste client

Posté : 31 août 2016 - 17:48
par Floflobel
Pour information je viens de résoudre le problème.
Un groupe avait en dépendance son propre groupe. Il m'a suffit de le retirer et WAPT est de nouveau fonctionnel.
L'erreur expliquait qu'il y avait une boucle infini dans les dépendances.