-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Perl multihtreading #371
Comments
Hi @keyser75000 One more question, about concerned computers, are they often under heavy load ? I would like to know if computer load can be related. |
Hi, The only other messages I find, on few servers, is concerning timeouts on some modules. I follow processes while launching FI inventory. I noticed sometime that WMIPrvSE.exe process is on high CPU load (WMI Provider Host) but only on timeouts-modules-servers. |
Hi @keyser75000 |
Hi @keyser75000 |
Hi, I'll keep you in touch for rc2 tests. |
* Make getWMIObjects API doing Async queries So it can now really timeout (timeout is set to 180s by dfault) * Little refacto on Win32::Users inventory to make it compatible with async queries * Use expirationTime defined from runFunction() API timeout to expire getWMIObjects() calls. During Inventory task, this aligns the timeout to backend-collect-timeout defined in configuration. Delay between EventSink checks to 200 ms. * Include fix for #371 if worker thread has crashed * Don't update timeout to decide worker is failing but prefer check current time is older than timeout setting cond_timedwait later by a second * Handle task expiration time API in a dedicated Tools module
Hi @keyser75000 |
Hi @keyser75000 Thank you |
Hi, Ok I'll test it and I keep you in touch by next week (time to generate potentially error on few servers). |
Hi, It's OK on new release 2.4. |
Hi,
Sorry to reopen previous cases about Multithreading but the last one was closed without fixing the problem.
old cases : #345, #173
A quick summary:
After a few inventory cycles, the Fusioninventory agent in service mode generates errors such as:
unexpected error in FusionInventory::Agent::Task::Inventory::Win32::[MODULE]: Thread already detached at C:\Program Files\FusionInventory-Agent/perl/agent/FusionInventory/Agent/Tools/Win32.pm line 756.
Looking at Perl::Threads documentation I noticed that :
I search in code calls to this and I found in ./Tools/Win32.pm that "_call_win32_ole_dependent_api" try to detach without testing thread.
I add a test :
After a few days of testing it seems to work as expected on servers that had the problem (sometimes after only 2 or 3 inventory cycles : 4/6 hours).
I don't know if it could have side effects.
Could you check if I'm right and eventually push the patch ?
Thanks
The text was updated successfully, but these errors were encountered: