https://bugs.winehq.org/show_bug.cgi?id=49847
Bug ID: 49847 Summary: Logos Bible 8: wineserver always using 100% CPU core Product: Wine Version: 5.17 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: wineserver Assignee: wine-bugs@winehq.org Reporter: ferion11@hotmail.com Distribution: ---
Created attachment 68188 --> https://bugs.winehq.org/attachment.cgi?id=68188 Log of the issue with wine-vanilla 5.17
From wine v5.0 to the latest v5.17, wineserver always is using 100% of CPU
core.
Using the latest wine-vanilla v5.17, I started the wineserver in debug mode with the output to a "log_big.txt", then started Logos Bible 8 and waited until all the startup services were finished, then minimized the window and waited a little longer , to highlight the issue, so I used "tail -f ./log_big.txt
./log_wineserver_v5.17.txt" to produce a new log file with as little noise as
possible, waited a little, then cancelled the tail (so it don't have any noise of closing events). See the attached log.
Many users still prefer to use version 4.21 of wine, as there is no such problem in it. But other issues that have already been fixed are present in the old version. So we need one proper fix.
https://bugs.winehq.org/show_bug.cgi?id=49847
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #1 from joaopa jeremielapuree@yahoo.fr --- Please, run a regression test: https://wiki.winehq.org/Regression_Testing
Surely, it will increase the speed the bug is fixed
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #2 from Daniel Ribeiro da Silva ferion11@hotmail.com --- (In reply to joaopa from comment #1)
Please, run a regression test: https://wiki.winehq.org/Regression_Testing
Surely, it will increase the speed the bug is fixed
I will try. It may be a little difficult, due to the size of the application and that the issue in some cases not appearing immediately, but after a while of using the app (so I will try to see which version, the issue appears even at the beginning, then bisect).
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #3 from Daniel Ribeiro da Silva ferion11@hotmail.com --- (In reply to joaopa from comment #1)
Please, run a regression test: https://wiki.winehq.org/Regression_Testing
Surely, it will increase the speed the bug is fixed
Using only wine-vanilla binaries in my first tests, I found that the issue happens in wine-5.6 and not wine-5.5.
Then after 9 steps of compilations and test:
321d26cbb4404ee63df439759cbc5a546434dde6 is the first bad commit commit 321d26cbb4404ee63df439759cbc5a546434dde6 Author: Piotr Caban piotr@codeweavers.com Date: Mon Apr 6 17:21:19 2020 +0200
server: Use correct clock in select.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
dlls/ntdll/server.c | 11 +++++++-- dlls/ntdll/sync.c | 11 +++++++-- include/wine/server_protocol.h | 7 +++--- server/protocol.def | 3 +-- server/request.h | 8 +++--- server/thread.c | 55 +++++++++++++++++++++--------------------- server/trace.c | 11 ++++++--- tools/make_requests | 1 + 8 files changed, 62 insertions(+), 45 deletions(-)
https://bugs.winehq.org/show_bug.cgi?id=49847
Daniel Ribeiro da Silva ferion11@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ferion11@hotmail.com, | |piotr@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #4 from Daniel Ribeiro da Silva ferion11@hotmail.com --- I tried to do "git revert -n 321d26cbb4404ee63df439759cbc5a546434dde6" but there are conflicts. Piotr Caban, could you take a look?
https://bugs.winehq.org/show_bug.cgi?id=49847
Daniel Ribeiro da Silva ferion11@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |321d26cbb4404ee63df439759cb | |c5a546434dde6
https://bugs.winehq.org/show_bug.cgi?id=49847
Daniel Ribeiro da Silva ferion11@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #5 from Daniel Ribeiro da Silva ferion11@hotmail.com --- Alexandre Julliard, you have removed some of the files changed by: https://source.winehq.org/git/wine.git/commit/321d26cbb4404ee63df439759cbc5a... in the: https://source.winehq.org/git/wine.git/commit/4e5811637ad027d01cc5033f76b03e...
So, could you help too?
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #6 from Daniel Ribeiro da Silva ferion11@hotmail.com --- Maybe is related to the error: 0224:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #7 from Daniel Ribeiro da Silva ferion11@hotmail.com --- There is this too: 0288:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not supported yet 028c:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not supported yet 028c:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not ...
because the ideia behind the 321d26cbb4404ee63df439759cbc5a546434dde6, i guess is to use RtlQueryPerformanceCounter to query the performance information.
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #8 from Zebediah Figura z.figura12@gmail.com --- (In reply to Daniel Ribeiro da Silva from comment #7)
There is this too: 0288:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not supported yet 028c:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not supported yet 028c:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not ...
because the ideia behind the 321d26cbb4404ee63df439759cbc5a546434dde6, i guess is to use RtlQueryPerformanceCounter to query the performance information.
No, the two things are unrelated, and both are quite unlikely to be related to this regression (or to cause any problems in general).
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #9 from Daniel Ribeiro da Silva ferion11@hotmail.com --- (In reply to Zebediah Figura from comment #8)
(In reply to Daniel Ribeiro da Silva from comment #7)
There is this too: 0288:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not supported yet 028c:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not supported yet 028c:fixme:seh:NtQueryInformationThread ThreadIsIoPending info class not ...
because the ideia behind the 321d26cbb4404ee63df439759cbc5a546434dde6, i guess is to use RtlQueryPerformanceCounter to query the performance information.
No, the two things are unrelated, and both are quite unlikely to be related to this regression (or to cause any problems in general).
Maybe before (Tue, 25 Aug 2020 11:54:32): https://source.winehq.org/git/wine.git/commit/4e5811637ad027d01cc5033f76b03e... But now that syscalls are used to server functions, I can't be sure.
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #10 from Daniel Ribeiro da Silva ferion11@hotmail.com --- There are a lot of modifications here (so something that isn't relevant before could became relevant now). Like in the: https://source.winehq.org/git/wine.git/commit/9b9845e43e08e357588bb6a2ca6bfc... fill_cpu_info(); is replaced by a NtQueryInformationProcess(...) call in dlls/ntdll/thread.c
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #11 from Daniel Ribeiro da Silva ferion11@hotmail.com --- And at the same commit: https://source.winehq.org/git/wine.git/commit/9b9845e43e08e357588bb6a2ca6bfc...
was added to dlls/ntdll/unixlib.h: NTSTATUS (WINAPI *NtQuerySystemInformation)( SYSTEM_INFORMATION_CLASS class, void *info, ULONG size, ULONG *ret_size );
So maybe it (the regression commit) got ported to some code that isn't working yet.
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #12 from Daniel Ribeiro da Silva ferion11@hotmail.com --- Then in: https://source.winehq.org/git/wine.git/commit/2334f4e64582a518e4d5a7627472a0...
we have more uses of internal APIs to get info like NtQueryInformationThread added to dlls/ntdll/thread.c
Looks like devs are trying to replace system specific like Unix library with some internal ones, but it isn't working yet. Just trying to guess now (while tracking it).
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #13 from Daniel Ribeiro da Silva ferion11@hotmail.com --- More in the: https://source.winehq.org/git/wine.git/commit/43be3507c04b56938e985047f2ab55...
is added the use of NtQueryInformationProcess to dlls/ntdll/loader.c
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #14 from Daniel Ribeiro da Silva ferion11@hotmail.com --- And at the end the: ntdll: Use syscall thunks for thread functions https://source.winehq.org/git/wine.git/commit/00e7d50f8bd3dccf2c34dac2501937...
with more information getting intention from NtQueryInformationThread (dlls/ntdll/ntdll.spec)
Well, I have to start processing this information and changes, because I don't think you can simply revert the regression commit at this point.
https://bugs.winehq.org/show_bug.cgi?id=49847
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com
--- Comment #15 from Piotr Caban piotr.caban@gmail.com --- Is it possible to reproduce the bug in free version of the application? What was the server CPU usage without the patch?
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #16 from Daniel Ribeiro da Silva ferion11@hotmail.com --- (In reply to Piotr Caban from comment #15)
Is it possible to reproduce the bug in free version of the application? What was the server CPU usage without the patch?
Yes. I use the most basic 32bit free version ( https://www.logos.com/basic ) for testing (but it happens in all versions too), as it is easier to test with few books and using the 32bit version (that is easier to compile).
Note that: The issue doesn't appear on the login screen, so it's necessary to synchronize the free basic library account.
Without the patch, the CPU usage is 0%, and every 3 seconds it uses around 1%.
https://bugs.winehq.org/show_bug.cgi?id=49847
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
--- Comment #17 from Piotr Caban piotr.caban@gmail.com --- The bug is in set_timer server call, the patch pointed by regression test is only making it visible. It works for me with following patch: https://source.winehq.org/patches/data/192942
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #18 from Daniel Ribeiro da Silva ferion11@hotmail.com --- (In reply to Piotr Caban from comment #17)
The bug is in set_timer server call, the patch pointed by regression test is only making it visible. It works for me with following patch: https://source.winehq.org/patches/data/192942
It worked for me too. Thank you very much. I know that this kind of hidden bug is very hard to find, so thanks again for the good work. God bless you.
https://bugs.winehq.org/show_bug.cgi?id=49847
m0rvj johnpgoodman@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |johnpgoodman@gmail.com
--- Comment #19 from m0rvj johnpgoodman@gmail.com --- Piotr, thanks so much, is that now in staging or dev?
https://bugs.winehq.org/show_bug.cgi?id=49847
--- Comment #20 from Piotr Caban piotr.caban@gmail.com --- The patch was sent for review, so it's not in dev or staging yet. The plan is to get it committed to dev (this way it will be also in staging after next staging release). I'll update the bug when it gets committed.
https://bugs.winehq.org/show_bug.cgi?id=49847
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED Fixed by SHA1| |b67bbb732be82dedee93c88cf92 | |c92c0540f3514
--- Comment #21 from Piotr Caban piotr.caban@gmail.com --- The patch is in wine. Marking as fixed.
https://bugs.winehq.org/show_bug.cgi?id=49847
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #22 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.18.
https://bugs.winehq.org/show_bug.cgi?id=49847
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Logos Bible 8: wineserver |Logos 8 Bible Software |always using 100% CPU core |(.Net 4.7.2 app): | |wineserver always using | |100% CPU core CC| |focht@gmx.net Keywords| |download URL| |https://web.archive.org/web | |/20210209172851/https://dow | |nloads.logoscdn.com/LBS8/In | |staller/8.7.0.0039/Logos-x8 | |6.msi