Pagina 1 di 1

AttributeError sul computer client

Pubblicato: 29 luglio 2016 - 18:52
di Floflobel
Buongiorno,

I sistemi WAPT presenti localmente sulle postazioni di lavoro stanno iniziando a commettere errori.
Quando provo ad "Aggiornare il sistema", la pagina viene visualizzata in bianco con un messaggio "Errore del server".

L'errore nell'elenco delle attività è il seguente:

Codice: Seleziona tutto

AttributeError: type object 'exceptions.Exception' has no attribute 'create'
Ho provato a guardare il lato server (Debian), ma tutto funziona. Riesco ad accedere al repository dalle workstation e posso fare il ping.

Ho provato a usare il prompt dei comandi eseguendo "wapt-get update" e poi "wapt-get upgrade" e viene visualizzato questo errore:

Codice: Seleziona tutto

Exception at 005755E5: EIdHTTPProtocolException:
HTTP/1.1 500 Server Error.
Il problema si verifica su diverse macchine (70/1500) e sta iniziando a diventare critico, poiché non riesco più a eseguire alcun aggiornamento.

Grazie,

Re: AttributeError sul computer client

Pubblicato: 25 agosto 2016 - 12:16
di Floflobel
Aggiungo i log nella speranza che qualcuno possa capire da dove deriva il problema.
Quasi tutta la mia flotta non riesce più a ricevere aggiornamenti.
Ho provato a reinstallare manualmente WAPT sul computer client, ma continuo a ricevere lo stesso messaggio di errore.

Codice: Seleziona tutto

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 sul computer client

Pubblicato: 26 agosto 2016 - 10:16
di Floflobel
Ho provato a riavviare il server, ma non è cambiato nulla.
I file di log presenti in /var/log non mi forniscono ulteriori informazioni.

Re: AttributeError sul computer client

Pubblicato: 31 agosto 2016 - 12:33
di Floflobel
Ho provato a cercare nel repository git e l'unico collegamento che ho trovato è https://github.com/tranquilit/WAPT/blob ... _init__.py.
Purtroppo non riesco a leggere questo codice.

Riga 465:

Codice: Seleziona tutto

	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 sul computer client

Pubblicato: 31 agosto 2016 - 17:48
di Floflobel
Per vostra informazione, ho appena risolto il problema.
Un gruppo aveva un altro gruppo come dipendenza. L'ho semplicemente rimosso e WAPT ora funziona di nuovo.
L'errore indicava la presenza di un ciclo infinito nelle dipendenze.