Pagina 1 di 2

Errore WUA: nessun file o directory del genere

Pubblicato: 10 ottobre 2022 - 15:53
di t.heroult
Buongiorno

Negli ultimi giorni ho notato il seguente errore su diversi sistemi Windows 10 durante la scansione di Windows Update:

Codice: Seleziona tutto

Ensure wuauserv Auto Update option is disabled
Scanning with windows updates rules:
{
 "direct_download": false,
 "default_allow": false,
 "include_potentially_superseded_updates": false,
 "filter": "Type='Software' or Type='Driver'",
 "download_scheduling": "5d",
 "install_scheduling": "24h",
 "install_delay": "1d",
 "postboot_delay": "10m"
}
Looking for updates with filter: Type='Software' or Type='Driver'
   Connecting to local update searcher using offline wsusscn2 file...
   Offline Update searcher ready...
Waiting for WUA search to complete
WUA Search completed !
Done searching
re-enabling wuauserv previous state: 2
[Errno 2] No such file or directory: 'C:\\WINDOWS\\TEMP\\gen_py\\3.8\\B596CC9F-56E5-419E-A622-E01BB457431Ex0x2x0\\ISearchResult.py.4580.temp'
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\gencache.py", line 233, in GetModuleForCLSID
    __import__(sub_mod_name)
ModuleNotFoundError: No module named 'win32com.gen_py.B596CC9F-56E5-419E-A622-E01BB457431Ex0x2x0.ISearchResult'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1894, in run
    self.running_task.run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 699, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\enterprise.py", line 232, in _run
    self.result = wua.scan_updates_status(self.force)
  File "C:\Program Files (x86)\wapt\waptwua\client.py", line 919, in scan_updates_status
    for update in self.updates():
  File "C:\Program Files (x86)\wapt\waptwua\client.py", line 854, in updates
    search_result = self.update_searcher().EndSearch(search_job)
  File "C:\WINDOWS\TEMP\gen_py\3.8\B596CC9F-56E5-419E-A622-E01BB457431Ex0x2x0\IUpdateSearcher3.py", line 48, in EndSearch
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\__init__.py", line 96, in Dispatch
    return __WrapDispatch(dispatch, userName, resultCLSID, typeinfo, clsctx=clsctx)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\__init__.py", line 37, in __WrapDispatch
    klass = gencache.GetClassForCLSID(resultCLSID)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\gencache.py", line 180, in GetClassForCLSID
    mod = GetModuleForCLSID(clsid)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\gencache.py", line 241, in GetModuleForCLSID
    makepy.GenerateChildFromTypeLibSpec(sub_mod, info)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\makepy.py", line 319, in GenerateChildFromTypeLibSpec
    gen.generate_child(child, dir_path_name)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\genpy.py", line 1049, in generate_child
    self.file = self.open_writer(out_name)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\genpy.py", line 786, in open_writer
    return open(temp_filename, "wt", encoding=encoding)
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\WINDOWS\\TEMP\\gen_py\\3.8\\B596CC9F-56E5-419E-A622-E01BB457431Ex0x2x0\\ISearchResult.py.4580.temp'

2 : No such file or directory
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\gencache.py", line 233, in GetModuleForCLSID
    __import__(sub_mod_name)
ModuleNotFoundError: No module named 'win32com.gen_py.B596CC9F-56E5-419E-A622-E01BB457431Ex0x2x0.ISearchResult'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1894, in run
    self.running_task.run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 699, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\enterprise.py", line 232, in _run
    self.result = wua.scan_updates_status(self.force)
  File "C:\Program Files (x86)\wapt\waptwua\client.py", line 919, in scan_updates_status
    for update in self.updates():
  File "C:\Program Files (x86)\wapt\waptwua\client.py", line 854, in updates
    search_result = self.update_searcher().EndSearch(search_job)
  File "C:\WINDOWS\TEMP\gen_py\3.8\B596CC9F-56E5-419E-A622-E01BB457431Ex0x2x0\IUpdateSearcher3.py", line 48, in EndSearch
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\__init__.py", line 96, in Dispatch
    return __WrapDispatch(dispatch, userName, resultCLSID, typeinfo, clsctx=clsctx)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\__init__.py", line 37, in __WrapDispatch
    klass = gencache.GetClassForCLSID(resultCLSID)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\gencache.py", line 180, in GetClassForCLSID
    mod = GetModuleForCLSID(clsid)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\gencache.py", line 241, in GetModuleForCLSID
    makepy.GenerateChildFromTypeLibSpec(sub_mod, info)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\makepy.py", line 319, in GenerateChildFromTypeLibSpec
    gen.generate_child(child, dir_path_name)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\genpy.py", line 1049, in generate_child
    self.file = self.open_writer(out_name)
  File "C:\Program Files (x86)\wapt\lib\site-packages\win32com\client\genpy.py", line 786, in open_writer
    return open(temp_filename, "wt", encoding=encoding)
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\WINDOWS\\TEMP\\gen_py\\3.8\\B596CC9F-56E5-419E-A622-E01BB457431Ex0x2x0\\ISearchResult.py.4580.temp'
La cartella C:\Windows\temp\gen_py\3.8 è effettivamente presente...

Se avete qualche idea, sono tutto orecchi.

Sinceramente,
Tom

Re: Errore WUA: nessun file o directory del genere

Pubblicato: 10 ottobre 2022 - 16:47
di dcardon
Ciao Tom,

è passato un po' di tempo dall'ultima volta che abbiamo sentito parlare di gencache.py... Si tratta di binding generati dinamicamente per oggetti COM di Windows, nello specifico per l'oggetto Windows Update. Non è proprio la parte più elegante di Python su Windows.

Verificherò con i miei colleghi se possiamo pre-generare questi binding durante l'installazione/aggiornamento dell'agente. Questo impedirebbe che tenti di crearli nella cartella TEMP. Credo che l'antivirus sia probabilmente sorpreso dalla presenza di questi file.

Ti terrò aggiornato. Nel frattempo, potresti controllare nella console del tuo antivirus se non ha eliminato i file in questione al volo?

Cordiali saluti,

Denis

Re: Errore WUA: nessun file o directory del genere

Pubblicato: 11 ottobre 2022 - 09:28
di t.heroult
Ciao Denis

, OK, capisco il tipo di problema che stai riscontrando, è davvero una seccatura...
Ho appena controllato la console (SentinelOne) e non vedo alcun report corrispondente a questo problema su nessuna delle macchine interessate.

Mi dispiace, ma sembra un vicolo cieco. :(

In ogni caso, sono disponibile a eseguire alcuni test se lo desideri.

Cordiali saluti,
Tom

Re: Errore WUA: nessun file o directory del genere

Pubblicato: 15 maggio 2023 - 11:28
di t.heroult
Salve,

continuo a riscontrare questo problema regolarmente.
Attualmente, interessa 5 computer con Windows 10 Pro.

Re: Errore WUA: nessun file o directory del genere

Pubblicato: 16 maggio 2023 - 15:08
di sfontenau
in questo tipo di caso il file

Codice: Seleziona tutto

C:\WINDOWS\TEMP\gen_py\
è presente sulla macchina (senza riavviare il servizio wapt)

Re: Errore WUA: nessun file o directory del genere

Pubblicato: 22 maggio 2023 - 14:11
di t.heroult
In effetti, la cartella esiste.
Se la elimino ed eseguo una scansione, viene ricreata e il bug si ripresenta.

Re: Errore WUA: nessun file o directory del genere

Pubblicato: 22 maggio 2023 - 16:38
di sfontenau
e il file

Codice: Seleziona tutto

C:\WINDOWS\TEMP\gen_py\3.8\B596CC9F-56E5-419E-A622-E01BB457431Ex0x2x0\ISearchResult.py
È presente?

Re: Errore WUA: nessun file o directory del genere

Pubblicato: 23 maggio 2023 - 09:36
di t.heroult
Negativo.

Ho solo 2 file nella cartella 3.8:
- __init__.py
- dicts.dat

Re: Errore WUA: nessun file o directory del genere

Pubblicato: 23 maggio 2023 - 09:59
di sfontenau
Il codice che genera il file è il seguente:

Codice: Seleziona tutto

C:\Windows\System32>waptpython
Python 3.8.16 (default, Mar  1 2023, 11:11:02) [MSC v.1929 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import win32com.client
>>> win32com.client.gencache.EnsureDispatch("Microsoft.Update.Session")
Potresti provare ad avviarlo in un terminale Windows?

Alla fine, dovresti normalmente ottenere il seguente file:

Codice: Seleziona tutto

type %tmp%\gen_py\3.8\B596CC9F-56E5-419E-A622-E01BB457431Ex0x2x0\__init__.py

Re: Errore WUA: nessun file o directory del genere

Pubblicato: 23 maggio 2023 - 14:09
di t.heroult
Ottimo, ha funzionato su entrambi i computer.

Grazie!