[Hardy] Wine 100% cpu usage

Bug #205895 reported by slamdunk on 2008-03-24
64
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Wine
Invalid
Low
wine (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: wine

I have installed Wine 0.9.58 on my Hardy and Internet Explorer 6 + Flash plugin (using ies4linux). After few seconds "top" command reports processes IEXPLORE.EXE & winserver ~ 100% cpu usage. After closing IE6, remains wineserver 100% cpu usage.

Jos Herni (jos-digiplace) wrote :

Same here with Wine 0.9.59. IEs4linux is (I think) one of the most used applications so it is annoying. I have to use IE for a activeX based IP webcam and for checking some of my websites layouts. It's 55% for me btw, but I'm using an dualcore cpu

Jos Herni (jos-digiplace) wrote :

uhmm most used under Wine that is

Scott Ritchie (scottritchie) wrote :

Please retest with the latest Wine in Hardy. Thank you

Changed in wine:
status: New → Incomplete
slamdunk (antongiulio05) wrote :

updated system 11/04/2008:

with top command I can see processes: IEXPLORE.EXE and wineserver have CPU usage 70-80% after loading of a website with flash. Look at motogp.com for example

slamdunk (antongiulio05) wrote :

Another thing: if I close explorer IEXPLORE.EXE dies but wineserver remains and CPU usage reaches 100% yet

I have this in Hardy was well.

This is caused by the ies4linux package as it makes IEXPLORE.EXE and winserver run at 100%.

I have to reboot for it to return to zero.

I'm using the wine packages from WineHQ.

Romain Dubreuil (techlw) wrote :

Same problem here, with Hardy as well, Wine 0.9.59.

Wineserver always remains up and CPU usage stays at 50% (on a dualcore).

I also have the problem whatever the Windows program I try to launch.

Scott Ritchie (scottritchie) wrote :

If you want to kill all Wine processes, running wineserver -k should do the trick and spare you a reboot.

Is this 100% cpu usage only after using ies4linux? It might be a problem in that script.

Also, have you tried using a clean Wine directory? That is, removing all .wine (and the other wineprefixes that ies4linux creates), and then starting from scratch? Thank you.

IC Raibow (wiz) wrote :

I use hardy distro's Wine to launch Eve Online client. Everything looks ok, but after closing the client i always see my CPUs bumping to max power while top shows winerver at 100% cpu usage. [Hardy, w/o external reps, c2d 7500 dell laptop]

One more funny thing. When i kill that wineserver, "services.exe" suddenly pops up in next top's "frame" showing 9999% cpu usage.

Steve Kaye (s29k) wrote :

Running Wine 0.9.61 I can launch Internet Explorer installed with ies4linux with no problem.

I was intending to add my feedback into this problem but while composing this post, iexplore.exe finally closed along with the wineserver all by itself. I had been having the aforementioned problem until today using older versions of wine without applying the preloader fix that I found on WineHQ ($ sudo sysctl -w vm.mmap_min_addr=0).

Perhaps either of these changes fixes the problem.

Same problem on Ubuntu 8.04 with Wine 0.9.59: I start ie6 from ie4linux, ie6 runs really slow and I see wineserver taking 100% cpu even after I closed ie6.

armo (r-mo) wrote :

Happens to me, but only when I visit a secure site (https). Ubuntu 8.04, Wine 1.0-RC1.

talmor (talmor82) wrote :

Happens to me everytime I start ie6. I tried all the solutions posted in this thread and nothing helped.

My top view shows wineserver 70% and iexplore 70% as well and this causes my cpu to reach 60 deg in 5 seconds.

Also when I close ie6 wineserver stays at 100% and there is nothing I can do to kill it other than reboot. I've tried the -k option , it doesnt work.

Hope this will be resolved soon, I have the most updated wine version.

This stopped for me about 2 weeks ago with proposed updates enabled and reinstalling ies4linux. Maybe doing that is in order?

Martin Rehn (minpost) wrote :

I can confirm this bug with a fully updated Hardy as of this moment. It applies to both the Hardy version of Wine and to version 1.0-rc1. Ies4linux is version 2.99.0.1. The bug also applies to all versions of Internet explorer that ies4linux offers.

Symptoms:
1) When ie6 is started, CPU usage goes to about 76% for both the wineserver and IEXPLORE.EXE processes (two cores). It does not matter what IE is doing; going to "about:blank" leaves the CPU usage the same.

2) When I exit IE, the call to wine does not terminate. IEXPLORE.EXE stops using CPU, but instead wineserver goes to 100% CPU usage. The processes wineserver, explorer.exe and IEXPLORE.EXE remain. At this point it is not possible to start a new IE.

3) After doing wineserver -k (with the proper WINEPREFIX), the wineserver terminates, but leaves explorer.exe and IEXPLORE.EXE running, the latter defunct. The call to wine still has not returned. At this point a new IE can be started.

4) It is possible to kill off the two remaining processes, after which everything is fine and the call to wine returns.

Martin Rehn (minpost) on 2008-05-16
Changed in wine:
status: Incomplete → Confirmed
Nicholas J Kreucher (kreucher) wrote :

For me, it only seems to happen when SSL is used... aka when going to an https site or looking at the list of Certificates. If I avoid SSL, then CPU stays low. But once the CPU goes up, it stays up, and I have to eventually kill wineserver etc.

I am using Hardy wine (0.9.59-0ubuntu5) and ies4linux-2.99.0.1.

IC Raibow (wiz) wrote :

I'm using wine from proposed to launch EVE online. On [fairly recent] laptop CPU usage goes up to 100% and stays after exit. But on desktop which is 3 years old it climbs to about 60-70% and drops right after game closed. Both systems are 8.04 from scratch, but desktop is made apt-by-apt from base system install with 'recommended' disabled.

Martin Rehn (minpost) wrote :

Just tested with wine 1.0-rc2. The symptoms are the same. Unlike armo, I was not able to make them go away by avoiding SSL. I even switched off SSL as best as I could in IE:s settings, then restarted it. That did not have an effect.

Breno Leitão (breno-leitao) wrote :

I also got this problem, and tried some workaround described here and none helped.
Any work around you could see instead of downgrading to gutsy? :-)

Thanks!

kelvalok (kelvalok) wrote :

Hi everyone,
here the same, only when using ie4linux, cpu raises 100% (wine, explorer.exe, iexplorer.exe processes collapse the machine) and hdd works a lot! if you kill wine and iexplorer, explorer.exe still runs and you have to kill it to stop this noisy bug.
Wine version 0.9.59, kernel 2.6.24-17-generic, kubunt 8.04. If is needed any else information i will post it.
Thanks,

Marc Davignon (mpdavig) wrote :

I'm actually a Fedora user but I had the exact same problem (wine 0.9.58) and (ies4linux 2.99.0.1). I'm not sure exactly why but the problem appears to be how the startup script was wrote. Attached is the new script which solves the CPU problem and properly closes wineserver on exit.

To fix this I did the following:
1) cd $HOME/.ies4linux/bin
2) cp -av ie6 ie6.orig
3) Replaced the content of the ie6 file with:
#!/usr/bin/env bash
# IEs 4 Linux script to run ie6 - http://tatanka.com.br/ies4linux

cd
export WINEPREFIX="$HOME/.ies4linux/ie6"

wine "$HOME/.ies4linux/ie6/drive_c/Program Files/Internet Explorer/IEXPLORE.EXE" "$@" >/dev/null 2>&1 &

Scott Ritchie (scottritchie) wrote :

So this appears to be an ies4linux bug and not a Wine bug. Please reopen if I'm mistaken. Thank you.

Changed in wine:
status: Confirmed → Invalid
Jorge García (jorgegarciar) wrote :

I'm sorry, but that does not fix the bug in Ubuntu 8.04. wineserver is still consuming 100% of CPU

Here also, this workaround doesn't work.
Interesting to note, that this problem appeared after I upgrade from gutsy
to hardy, so, I am not sure if this is a ie4linux bug.

Versions of wine >= 0.9.53 do not work with ies4linux.
Https websites are available; however, after initializing
the page, wineserver and IEXPLORE.EXE jump to 100% CPU usage.
This requires killing IEXPLORE and wineserver, (kill -9 `pidof wineserver`, kill -9 `pidof IEXPLORE.EXE`) to get the CPU usage back. Closing internet explorer does not work and it cannot be opened again if it is closed after visiting an https website.

This has been reported already at launchpad.net; however, the users there assumed that it was a "ubuntu" bug not a bug with the actual wine application. I can confirm that this fails when built from source as well.

Here is the link to the ubuntu bug.

https://bugs.launchpad.net/ubuntu/+source/wine/+bug/205895

I'm sorry if this is a duplicate.

Then file a bug with ies4linux, a completely separate project from wine.

Closing.

Marteinn (matti1) wrote :

Worked for me, using kubuntu 8.04,

I added a line at the end of the script:

wineserver -k

when closing the ie6 window using X it will kill the running wineserver.

if needed you can also issue winserver -k after the export line.

(In reply to comment #2)
> Closing.
>

Sorry, I should have specified better. This is not a problem with ies4linux. I realize that this is an entirely separate project from wine; however, ies4linux is just a script to get internet explorer working. (I'm sure you knew that already). The fact is that with the same version of ies4linux, upgrading the wine version causes a bug. Since wine is the actual application that runs internet explorer, I would consider this to be a wine bug and not an ies4linux bug. If I am wrong in that assumption then let me know.

James Hawkins if you still believe that this is a ies4linux bug only, (I can confirm that this still happens if I install internet explorer the old fashioned way) then I apologize for posting here.

We don't support the use of ies4linux in any way. If you want to regression test Wine and ask them to fix it, feel free, but please don't reopen this bug.

Closing.

(In reply to comment #5)
> Closing.
>

Ok, I will run the wine regression tests.

>
> when closing the ie6 window using X it will kill the running wineserver.
>
Well, I even face the problem when IE is running, not only it is closed

Nicholas J Kreucher (kreucher) wrote :
Download full text (4.4 KiB)

Doesn't work for me either.

Here is an oprofile analysis when ie6 is pegging my CPU... maybe it will mean something to someone with wine internals knowledge.

$ opreport -t 1 --long-filenames
CPU: CPU with timer interrupt, speed 0 MHz (estimated)
Profiling through timer interrupt
          TIMER:0|
  samples| %|
------------------
     2411 61.4737 /boot/vmlinux-debug-2.6.24-17-generic
      736 18.7659 /usr/bin/wineserver
           TIMER:0|
   samples| %|
 ------------------
       426 57.8804 /usr/bin/wineserver
       210 28.5326 /lib/tls/i686/cmov/libc-2.7.so
       100 13.5870 [vdso] (tgid:14359 range:0xb7f07000-0xb7f08000)
      691 17.6186 /usr/bin/wine-preloader
           TIMER:0|
   samples| %|
 ------------------
       316 45.7308 /usr/lib/wine/ntdll.dll.so
       124 17.9450 [vdso] (tgid:14356 range:0xb7ffe000-0xb7fff000)
       108 15.6295 /lib/tls/i686/cmov/libpthread-2.7.so
        60 8.6831 /lib/tls/i686/cmov/libc-2.7.so
        41 5.9334 /usr/lib/wine/advapi32.dll.so
        30 4.3415 anon (tgid:14356 range:0x71451000-0x7149e000)
        10 1.4472 /usr/lib/wine/kernel32.dll.so
         2 0.2894 /usr/bin/wine-pthread

$ opreport -t 1 --long-filenames -l /usr/lib/wine/ntdll.dll.so /usr/bin/wineserver /usr/lib/wine/advapi32.dll.so /usr/lib/wine/kernel32.dll.so
warning: [vdso] (tgid:14359 range:0xb7f07000-0xb7f08000) could not be found.
CPU: CPU with timer interrupt, speed 0 MHz (estimated)
Profiling through timer interrupt
samples % image name app name symbol name
100 9.0662 [vdso] (tgid:14359 range:0xb7f07000-0xb7f08000) /usr/bin/wineserver (no symbols)
41 3.7171 /lib/tls/i686/cmov/libc-2.7.so /usr/bin/wineserver memset
30 2.7199 /usr/lib/wine/ntdll.dll.so /usr/bin/wine-preloader HEAP_FindFreeBlock
26 2.3572 /usr/bin/wineserver /usr/bin/wineserver read_request
26 2.3572 /usr/bin/wineserver /usr/bin/wineserver send_reply
26 2.3572 /usr/lib/wine/ntdll.dll.so /usr/bin/wine-preloader wine_server_call
24 2.1759 /lib/tls/i686/cmov/libc-2.7.so /usr/bin/wineserver free
24 2.1759 /usr/bin/wineserver /usr/bin/wineserver main_loop_epoll
23 2.0852 /lib/tls/i686/cmov/libc-2.7.so /usr/bin/wineserver vfprintf
23 2.0852 /usr/bin/wineserver /usr/bin/wineserver grab_object
23 2.0852 /usr/lib/wine/ntdll.dll.so /usr/bin/wine-preloader NTDLL_wait_for_multiple_objects
23 2.0852 /usr/lib/wine/ntdll.dll.so /usr/bin/wine-preloader read_reply_data
23 2.0852 /usr/lib/wine/ntdll.dll.so /usr/bin/wine-preloader wait_thread_proc
22 1.9946 /usr/bin/wineserver /usr/bin/wineserver select_on
22 1.9946 /usr/bin/wineserver /usr/bin/wineserver thread_poll_event
22 1.9946 /usr/lib/wine/ntdll.dll.so /usr/bin/wine-preloader NtCurrentTeb
21 1.9039 /lib/tls/i686/cmov/libc-2.7.so /usr/bin/wineserver _int_free
21 1.9039 /usr/lib/wine/ntdll.dll.so /usr/bin/wine-preloader send_request
19 1.7226 /usr/bin/wineserver /usr/bin/wineserver wait_on
18 1.6319 /usr/b...

Read more...

bdkoepke (bdkoepke) wrote :

Ok, first of all has anyone actually thought to
post this as a wine bug? This is not a "hardy" bug
this is a problem that needs to be fixed upstream.
It is much more likely that this will be fixed if the
actual developers of the application are looking into it
and not just the maintainer of the ubuntu package.
Using a previous deb version 0.9.52 I was able to get this to work. Every
version preceeding this worked, and every version
after does not work. For those of you who don't wan't
to downgrade, simply download the deb from the
wine archives. (google wine ubuntu). Version 0.9.52
works without the https bug. Version 0.9.51 was more
stable however and did not have java bugs.

I hope this isn't a duplicate; however, I will create a
bug report at bugs.wine.com and reference this page.

If this works for anyone else let me know.

bdkoepke (bdkoepke) wrote :

Here is the link to the wine bug page

http://bugs.winehq.org/show_bug.cgi?id=13687

bdkoepke (bdkoepke) wrote :

I guess that wine does not support running internet explorer with wine whatsoever. (At least through the ies4linux, but its just a script so it should not matter)

The only way that this will get fixed is if myself or someone else regression tests wine and finds the specific thing that is going wrong. Sorry for misleading anyone; however, the above fix will still work but you will not be able to upgrade wine to newer versions.

Changed in wine:
status: Unknown → Invalid
bdkoepke (bdkoepke) wrote :

For all of those still interested in this bug, the new url with regression tests completed is:

http://bugs.winehq.org/show_bug.cgi?id=13734

the regression is in

628a515b83c317388ddb4fa9a7b29a42135acee0 is first bad commit
commit 628a515b83c317388ddb4fa9a7b29a42135acee0
Author: Rob Shearman <email address hidden>
Date: Fri Jan 4 17:43:56 2008 +0000

    kernel32: Implement RegisterWaitForSingleObjectEx.

:040000 040000 148dbf69d048b5d74bd2003f99418e91ab299af1 be4f157bc165394229255a8011951a7159b939bbM dlls

so if you are willing to take the time to reverse this patch in git wine, then ies4linux should work fine with https websites.

hopefully someone smarter than me can help with the rest.

I'm really new to all of this (Ubuntu, wine, etc.) but I think I might have found a solution. Please let me know if this is just a horrible hack that is going to screw up my system, or if it may actually work. So everyone knows I'm running Hardy/ Wine 1.1.0/ ies4linux 2.9.9.0.1/ IE6

$sudo gedit .ies4linux/bin/ie6

At the end of the script add:

killall wineserver
killall iexplorer.exe

For me this kills the processes when I exit. I know it's just a workaround for now, but until they get it fixed it will have to do.

spud.dups (spud-dups) wrote : Nope

Spoke too soon. The SSL does weird things to wineserver. The only way I could terminate the process from the terminal after visiting a SSL site was:

kill -9 `pidof wineserver`

But throwing it at the end of the script didn't run that on exit, and I don't know the language enough to create a script to do that when closing. Oh well.

Breno Leitão (breno-leitao) wrote :

Definitely this seems to be a ugly hack. mainly because the problem also happen when the page is still opened.
For example, i use IE to use a stock broker, and in less than 10 minutes, wineserver is hogging all the CPU. :-(
In my opinion we need to fix it in its root.

--
Breno Leitão

bdkoepke (bdkoepke) wrote :

There is an additional bug at

http://www.winehq.org/pipermail/wine-bugs/2008-March/098758.html

This person found the same thing as me, the problem is with the kernel32 patch.

I will compile a .deb with the patch reversed if anyone is interested.

The exact patch for anyone that is interested:
WARNING: this may break other applications.

--- a/dlls/kernel32/sync.c
+++ b/dlls/kernel32/sync.c

@@ -270,9 +270,19 @@ HANDLE WINAPI RegisterWaitForSingleObjectEx( HANDLE hObject,
                 WAITORTIMERCALLBACK Callback, PVOID Context,
                 ULONG dwMilliseconds, ULONG dwFlags )
 {
- FIXME("%p %p %p %d %d\n",
+ NTSTATUS status;
+ HANDLE hNewWaitObject;
+
+ TRACE("%p %p %p %d %d\n",
           hObject,Callback,Context,dwMilliseconds,dwFlags);
- return 0;
+
+ status = RtlRegisterWait( &hNewWaitObject, hObject, Callback, Context, dwMilliseconds, dwFlags );
+ if (status != STATUS_SUCCESS)
+ {
+ SetLastError( RtlNtStatusToDosError(status) );
+ return NULL;
+ }
+ return hNewWaitObject;
 }

 /***********************************************************************

kolian (nik-724care) wrote :

Once patch has been rolled back it runs well. Need more testing. The underlining problem is somewhere in implementation of RtlRegisterWait. Seems like there is a loop while polling for an even to become signalled Somebody familiar with the internals should take a look at this as it will affect other applications. The result is hurting ubuntu as you can't run IE on hardy anymore.

Tyler Wagner (tyler) wrote :

Hi all. I've recompiled wine with the patch bdkoepke described rolled back. It is available in my repo for hardy on i386 and amd64 here:

deb http://www.tolaris.com/apt/ hardy main

My key:

wget -q http://www.tolaris.com/apt/packages-tolaris.gpg -O- | sudo apt-key add -

Seth (sysfu) wrote :

Tyler, getting a 404 error trying to download the gpg key above.

Tyler Wagner (tyler) wrote :

Oops. I forgot I moved it.

wget -q http://www.tolaris.com/apt/packages-tolaris.asc -O- | sudo apt-key add -

Seth (sysfu) wrote :

Thanks, that worked. Only other question I have is how can I ensure that apt-get will pull the patched version of the wine package from your repo, instead of the main ubuntu repos?

Tyler Wagner (tyler) wrote :

I set a version number slightly higher than the ubuntu version, which will prevent that until someone backports a later release.

You can force a hold with:

echo "wine hold" | dpkg --set-selections

Thanks Tyler,

For me this solved the problem, I only downloaded the i386 deb from your http://www.tolaris.com/apt/pool/main/w/wine/wine_1.0.0-2eitri1_i386.deb, then run dpkg -i wine_1.0.0-2eitri1_i386.deb

It showed me that needed winbind, and some wrong dependences with samba-common:

"winbind: Depends: samba-common (= 3.0.28a-1ubuntu4.5) but 3.0.28a-1ubuntu4.4 is going to be installed"

A simple apt-get -f install solved the problem.

Had the same problem using the latest ies4linux on Ubuntu 8.10 (Intrepid). For me, the start up script fix did the trick.

I also found several rogue explorer.exe processes as well as IEXPLORE and winserver. After killing all these, modifying the script as above, and running the modified script I had absolutely no problems.

It looks like the script's piping to the debug is fouling things up; perhaps this was left in accidentally by the author during development.

I checked this it's a problem with the IES4LINUX script not a wine problem..

the file
~HOME/.ies4linux/bin/ie6
needs the following removed from end of file less the quotes
" | Debug "

I tested on 8.04LTS with latest wine, no memory problems and closes properly.

Ter Rymon (terrystahl1969) wrote :

I had same problem but removing
| Debug

from end of .ies4linux/bin/ie6 file
fixed it.

No more memory problems and closes properly.

...

command_dos (command-dos) wrote :

Thanks !

Problem with cpu usage solved!
Just install this: http://www.tolaris.com/apt/pool/main/w/wine/wine_1.0.0-2eitri1_i386.deb.

before install, must remove installed wine:
sudo apt-get remove wine

After that, i had trouble with cookies in ie. Reinstalling ies4linux solved the problem...

great job bdkoepke and tyler wagner :)

once more Thanks!

Rick Gabriel (klaxian1) wrote :

Do the wine folks know of the problem and the fix? Do you know if the patch will be merged into the official wine? Thanks for the debugging work.

Tyler Wagner (tyler) wrote :

command_dos, you should be able to install my wine and the old one from hardy will be removed.

klaxian, I'm not sure who you are addressing. I have not contacted the wine devs, but from what I've seen online they regard this as an ies4linux issue. I don't care to push it with them. I'll likely maintain packages for hardy and any other release I personally move to (I haven't moved to intrepid yet) as long as I personally experience the problem.

Rick Gabriel (klaxian1) wrote :

Tyler, thanks for maintaining your own packages. However, after reviewing the notes here, it seems that this is a true wine bug, not ie4linux. Is that correct? If so, why wouldn't the wine developers want to know about it and fix it? I'm sure it is likely to affect many users.

I personally don't use IE very much, so it is not a big problem for me. It just seems like a lot of the work has already done to resolve this. Thanks.

Tyler Wagner (tyler) wrote :

klaxian: I appreciate that, but I don't have the time or interest to chase this with the wine devs, nor do I understand the problem closely. I just built bdkoepke's code, saw it fixed my problem, and packaged it since I support my office's desktops and they sometimes use wine.

Rick Gabriel (klaxian1) wrote :

Ah, I understand now. Well thanks for helping in any case.

Julian Robbins (joolsr) wrote :

If anyone is still having problems with ie4linux, what worked for me using Intrepid, was a hint earlier in the thread, on the executable, ie

edit this file
/.ies4linux/bin/ie6

remove anything with '| debug', and also the authors website address (just put in a fast loading one of your own'.
 IEXPLORE.EXE now uses only 0.7% instead of the 40% it did use.

RoughTrade (pbeauvain) wrote :

I am running Kubuntu 8.10 with KDE 4.2
I have installed the latest version of ies4linux with internet explorer 6. I have also the problem with 100% cpu load.
I have edited the file ~/.ies4linux/bin/ie6
like this:

if [ -f "/home/snoopy/.ies4linux/ie6/.firstrun" ]; then
        rm "/home/snoopy/.ies4linux/ie6/.firstrun"
        ( wine "/home/snoopy/.ies4linux/ie6/drive_c/Program Files/Internet Explorer/IEXPLORE.EXE" "http://www.tatanka.com.br/ies4linux/startpage?lang=deDE&ieversion=ie6&firstrun=true" 2>&1 )
else
        ( wine "/home/snoopy/.ies4linux/ie6/drive_c/Program Files/Internet Explorer/IEXPLORE.EXE" "$@" >/dev/null 2>&1 )
fi

But nothing changed !

Then i edited the Internet settings of IE6 and changed the startpage to about:blanc. After this my CPU load is nearly 8% when i start the IE6 !

When i change back the start page to http://www.tatanka.com.br/ies4linux/startpage?lang=deDE&ieversion=ie6&firstrun=true the CPU load goes back to 100%

Crasy !!

No, that's not it. It's triggered by certain websites, like this one:
https://www.chasehsa.com/ezpay/hsa/logon/hsaCardHolderLogOn.jsp

I have heard ies4linux is frowned upon, but there is no procedure I'm aware of for installing without it. (at least not an up to date one) Is there a recommended procedure for this, so that we can separate the problem from ies4linux?

Can confirm bug still exists in 1.1.24. Seems unlikely related to ies4linux, but can't rule it out.

aeromojito (aeromojito) wrote :

I downloaded and installed Tyler Wagners fix and it seems to be working. So this is a patch to the kernel and not to Wine? Has anyone found any negative effects from it in other software?

Chris

Tyler Wagner (tyler) wrote :

aeromojito,

no, this is a patch to the wine executable, not the kernel. I've had no issues using it on hardy. I am now running jaunty and haven't tested IE with the stock wine or with this patch.

Please take another look at this bug.

I see the 100% CPU usage from wineserver on Ubuntu 9.04 amd64 with both wine 1.0.1 and wine 1.1.29. I have also reproduced it with ies4linux 2.99.0 and 2.99.0.1.

I can reproduce this when running ie6 under wine directly. However, the more troubling problem is that it happens when running Microsoft Money 2003 under wine every time the online banking function is used. (If Money is run but no online banking is done, the bug does not happen. It only happens after encypted internet communication.) In this scenario, the ie6 script mentioned in Comment #7 From Ter Rymon (2009-01-12 03:15:04) is not ever called.

The 100% CPU utilization by wineserver apparently occurs after encypted internet communication by _components_ of ie6, without the web browser itself ever being opened.

Report that to IEs4Linux developers.

(In reply to comment #9)
> Report that to IEs4Linux developers.

May I respectfully suggest that this is a wine bug. I will be glad to try to prove that.

Can you point me to an alternate way to install ie6 with 128 bit encryption under wine? I will perform that alternate install (without using ies4linux) and if the same problem happens, will you take a look at it then?

Please point me to an alternate way to install ie6 with 128 bit encryption under wine. Thanks.

MountainX (dave-mountain) wrote :

I see the 100% CPU usage from wineserver on Ubuntu 9.04 amd64 with both wine 1.0.1 and wine 1.1.29. I have also reproduced it with ies4linux 2.99.0 and 2.99.0.1.

I can reproduce this when running ie6 under wine directly. However, the more troubling problem is that it happens when running Microsoft Money 2003 under wine every time the online banking function is used. (If Money is run but no online banking is done, the bug does not happen. It only happens after encypted internet communication by Money.) In this scenario, the ie6 script mentioned in Comment #7 From Ter Rymon (http://bugs.winehq.org/show_bug.cgi?id=13687) is not ever called, so I don't see how that could be the explanation.

The 100% CPU utilization by wineserver apparently occurs after encypted internet communication by _components_ of ie6, even without the web browser itself ever being opened.

I also see this on ALL websites that use HTTPS when accessed via ie6.

In comment #51 above by Julian Robbins, removing "| debug" is mentioned. My script is two instances of "| debugPipe", which is different. I removed them anyway and it did not resolve the issue.

aeromojito (aeromojito) wrote :

MountainX, have you tried the fix from Tyler Wagner? I just installed the package at http://www.tolaris.com/apt/pool/main/w/wine/wine_1.0.0-2eitri1_i386.deb just like command_dos and it's working fine for me.

Chris

MountainX (dave-mountain) wrote :

aeromojito, I'm running amd64. The fix from Tyler Wagner won't work on 64 bit.

MountainX (dave-mountain) wrote :

I did a clean install of wine 1.1.29 and this time I did not use ies4linux. I used winetricks to install ie6. However, I cannot get MS Money 2003 to work because of missing encryption components. At the moment I'm not geting 100% CPU load, but I'm also not able to connect to online banking so I cannot say what will happen if I get online banking to work. The 100% CPU load may come back.

Tyler Wagner (tyler) wrote :

MountainX,

True, but this will work on amd64, at least on hardy:

http://www.tolaris.com/apt/pool/main/w/wine/wine_1.0.0-2eitri1_amd64.deb

I have verified that this is not a problem with ies4linux. Please reopen this bug. I am now running wine with ies4linux and there is no more 100% CPU utilization bug on https websites (or with online banking in MS Money).

Here is the solution: https://bugs.launchpad.net/ubuntu/+source/wine/+bug/205895/comments/37

I used the version of wine compiled by Tyler Wagner (with the patch bdkoepke described rolled back -- see below)

I was not able to get online banking working with any other method. Winetricks method of installing ie6 did not work, nor did any other method I tried. ies4linux is the only method that works, but it requires addressing the issue bdkoepke describes:

At https://bugs.launchpad.net/ubuntu/+source/wine/+bug/205895/comments/31, bdkoepke said:
--------------
http://bugs.winehq.org/show_bug.cgi?id=13734

the regression is in

628a515b83c317388ddb4fa9a7b29a42135acee0 is first bad commit
commit 628a515b83c317388ddb4fa9a7b29a42135acee0
Author: Rob Shearman <email address hidden>
Date: Fri Jan 4 17:43:56 2008 +0000

    kernel32: Implement RegisterWaitForSingleObjectEx.

:040000 040000 148dbf69d048b5d74bd2003f99418e91ab299af1 be4f157bc165394229255a8011951a7159b939bbM dlls

so if you are willing to take the time to reverse this patch in git wine, then ies4linux should work fine with https websites.

Again: IEs4Linux is not supported through WineHQ bugzilla, report all bugs
related to IEs4Linux usage to its developers.

The reason is simple: IEs4Linux uses huge (or rather insane) number of
native Win95 dlls which can't be supported by Wine developers.

If IEs4Linux developers know what they are doing - they should be able
to help their users.

(In reply to comment #12)
> Again: IEs4Linux is not supported through WineHQ bugzilla, report all bugs
> related to IEs4Linux usage to its developers.
>
> The reason is simple: IEs4Linux uses huge (or rather insane) number of
> native Win95 dlls which can't be supported by Wine developers.
>
> If IEs4Linux developers know what they are doing - they should be able
> to help their users.

I just proved that this has nothing to do with ies4linux. I don't think you read what I wrote. I do not know what else to say...

(In reply to comment #13)
> I just proved that this has nothing to do with ies4linux. I don't think you
> read what I wrote.

I think I missed that part as well. If you want to prove it's not an ies4linux problem you have to show that the problem occurs with plain Wine without native overrides. Alternatively, if you think something is wrong with RegisterWaitForSingleObjectEx(), you can write a test case for that function that passes on native Windows but fails on Wine.

FWIW, I just tested this on wine, using winetricks ie6.

Using:
http://www.google.com - loads fine
attempting to login never completed (after 5 minutes), with _occasional_ spikes up to 100%, never fully using the CPU for me

https://www.wellsfargo.com - loaded fine
attempting to login seemed to go fine, but never accepted my valid username/password. Lots of wininet errors...tried with native, but then it didn't load the site at all.

(In reply to comment #14)
> (In reply to comment #13)
> > I just proved that this has nothing to do with ies4linux. I don't think you
> > read what I wrote.
>
> I think I missed that part as well. If you want to prove it's not an ies4linux
> problem you have to show that the problem occurs with plain Wine without native
> overrides. Alternatively, if you think something is wrong with
> RegisterWaitForSingleObjectEx(), you can write a test case for that function
> that passes on native Windows but fails on Wine.

Here is the simple method I used:

1. install current stable wine + install ies4linux == the 100% cpu bug.
2. install wine compiled without RegisterWaitForSingleObjectEx + install
ies4linux == no bug.

and
3. install wine + ie6 using winetricks == Runtime Error R6025 (pure virtual
function call)

I realize this may not satisfy your standards of proof, but steps 1 & 2 do show
that the direct causative factor in this specific case is not ies4linux, rather
it is the change in wine.

Granted, ies4linux is present, but it is a constant factor and the variable
factor is wine. Therefore, in this limited case, the change in wine can be said
to produce the bug.

I recognize you are saying there may be a deeper issue, but step 3 indicates
that there is not an easy alternative to doing what I did. Therefore, may I
suggest that looking into the bug reported by Brandon Koepke is worthwhile?

I do not have the skill to write a test case as you suggest. My personal
problem is solved; therefore, I am investing the time in responding in the hope
of clarifying this issue for others. I cannot do more than describe my
experiences in detail. I will be glad to answer more questions, if that helps.
I'll even run additional tests with different methods of installing ie6 + 128
bit encryption if someone wants to point me in the right direction. (I think
winetricks ie6 might work if I could get all the required encryption DLLs
registered, but I have not been able to do that on my own.)

(In reply to comment #16)
> Granted, ies4linux is present, but it is a constant factor and the variable
> factor is wine. Therefore, in this limited case, the change in wine can be said
> to produce the bug.
>
> I recognize you are saying there may be a deeper issue, but step 3 indicates
> that there is not an easy alternative to doing what I did. Therefore, may I
> suggest that looking into the bug reported by Brandon Koepke is worthwhile?
>
> I do not have the skill to write a test case as you suggest. My personal
> problem is solved; therefore, I am investing the time in responding in the hope
> of clarifying this issue for others. I cannot do more than describe my
> experiences in detail. I will be glad to answer more questions, if that helps.
> I'll even run additional tests with different methods of installing ie6 + 128
> bit encryption if someone wants to point me in the right direction. (I think
> winetricks ie6 might work if I could get all the required encryption DLLs
> registered, but I have not been able to do that on my own.)
>
It's certainly possible that there's a bug in Wine, perhaps even likely, but the problem is that adding native dll's (especially as many as ies4linux does) creates a configuration that really isn't supportable by us. In a way you could compare it with mixing dlls from different Windows versions and hoping to get a working system. You create potentially invalid interactions between the native dll's and the builtin ones.

Another reason why a configuration like that isn't useful for reporting bugs is that we can't/don't want to look at what those native dlls do exactly, because Wine has to implement those same dlls.

Bottom line is that for us to do something about it the bug has to be reproducible, one way or another, without using native dll's.

(In reply to comment #17)
> (In reply to comment #16)

> >
> It's certainly possible that there's a bug in Wine, perhaps even likely, but
> the problem is that adding native dll's (especially as many as ies4linux does)
> creates a configuration that really isn't supportable by us. In a way you could
> compare it with mixing dlls from different Windows versions and hoping to get a
> working system. You create potentially invalid interactions between the native
> dll's and the builtin ones.
>
> Another reason why a configuration like that isn't useful for reporting bugs is
> that we can't/don't want to look at what those native dlls do exactly, because
> Wine has to implement those same dlls.
>
> Bottom line is that for us to do something about it the bug has to be
> reproducible, one way or another, without using native dll's.

Thank you for explaining. There is another way to look at this issue. I could alternatively view this as a bug in winetricks's ie6 installation routine. Something is missing that prevents ie6 (as installed by winetricks) from completely working with encrypted connections (https/ssl).

My assumption is that comparing the ies4linux *scripts* (not the workings of the native dlls) to the winetricks script might shed light on the difference. Would it help to know exactly which encryption-related DLLs are installed by ies4linux but missing in the winetricks ie6 install? I have looked, but without knowing shell scripting language, I didn't get anything useful out of my investigation. But if those DLLs are just encryption related, then maybe those are not an issue for wine because you don't have to look at any MS dlls... (of course, I'm speaking without really knowing what I'm talking about here).

However, we have several pieces of the puzzle now:

1. kernel32: Implement RegisterWaitForSingleObjectEx - somehow related.
2. msmoneyexe: R6025 pure virtual function call error - only happens with ie6 as installed by winetricks.
3. ie6 fails to works correctly on some https connections - only with ie6 as installed by winetricks.

I hope that summary is useful. I will test the winetricks ie6 install further if someone else wants to give me some pointers related to the R6025 pure virtual function call error.

(In reply to comment #18)
> I hope that summary is useful. I will test the winetricks ie6 install further
> if someone else wants to give me some pointers related to the R6025 pure
> virtual function call error.

What version of wine? It works fine in 1.1.29.

(In reply to comment #19)
> (In reply to comment #18)
> > I hope that summary is useful. I will test the winetricks ie6 install further
> > if someone else wants to give me some pointers related to the R6025 pure
> > virtual function call error.
>
> What version of wine? It works fine in 1.1.29.

I tested wine 1.0.1 and 1.1.29 under Ubuntu 9.04 amd64.
wine 1.1.29 did not work fine.
I got the R6025 pure virtual function call error.
I tested extensively for about 14 hours yesterday. I could not resolve that error when using wine 1.1.29. (I believe there are missing encryption-related DLLs.)

Currently I'm running wine 1.0 as compiled by Tyler Wagner (which I believe has no implementation of RegisterWaitForSingleObjectEx).

(In reply to comment #20)

in case it helps:
http://ubuntuforums.org/showpost.php?p=7959355&postcount=12
comments 11 and 13 are related too.

MountainX (dave-mountain) wrote :

Tyler - Thanks!!! That works.
http://ubuntuforums.org/showpost.php?p=7963718&postcount=13
I installed ies4linux and MS Money 2003 Deluxe and Business as before and now the 100% CPU utilization bug is fixed. Online banking works. :)

Now there is just one more bug to fix: get rid of my dependence on MS Money and move to GnuCash. :)

(In reply to comment #16)
> I realize this may not satisfy your standards of proof, but steps 1 & 2 do show
> that the direct causative factor in this specific case is not ies4linux, rather
> it is the change in wine.
>
> Granted, ies4linux is present, but it is a constant factor and the variable
> factor is wine. Therefore, in this limited case, the change in wine can be said
> to produce the bug.

It's a bug in native crypt32, so it doesn't happen in a normal Wine config.

(In reply to comment #22)
> (In reply to comment #16)
>
> It's a bug in native crypt32, so it doesn't happen in a normal Wine config.

Thanks for the info. Do you mind clarifying if that an established fact or an educated guess?

This info may also help you. I am running Wine complied as per the suggestion by Brandon Koepke (see link he submitted above). (My Wine was compiled by Tyler Wagner.) Using this version of Wine together with ies4linux gives me a configuration that works totally correctly. No problems at all.

I have the following DLL in /.wine/drive_c/windows/system32
crypt32.dll
2002-08-29 07:07:38
371472 bytes

Is it known that the change to wine (to implement RegisterWaitForSingleObjectEx) brings out a bug in crypt32.dll? If so, that would seem strange to me. I would appreciate more info.

I remain willing to test different configurations, if that will help.

(In reply to comment #23)
> (In reply to comment #22)
> > (In reply to comment #16)
> >
> > It's a bug in native crypt32, so it doesn't happen in a normal Wine config.
>
> I remain willing to test different configurations, if that will help.

Set crypt32 to builtin in winecfg.

step 1: test existing configuration with crypt32 set to builtin in winecfg.
RESULT: Online banking works. No errors and no 100% CPU usage.

step 2: Set crypt32 to builtin in winecfg.
RESULT: Online banking fails with "An unexpected communication error occurred. (OFXIE-2146869247). However, no 100% CPU usage occurred. Therefore, this change does not explain the original problem AFAIK. Certainly, the original problem was not reproduced in this test.

(In reply to comment #25)
> step 1: test existing configuration with crypt32 set to builtin in winecfg.
> RESULT: Online banking works. No errors and no 100% CPU usage.

Which shows the problem is in native crypt32.

(In reply to comment #26)
> (In reply to comment #25)
> > step 1: test existing configuration with crypt32 set to builtin in winecfg.
> > RESULT: Online banking works. No errors and no 100% CPU usage.
>
> Which shows the problem is in native crypt32.

I'm sorry. I made a TYPO! Please forgive me. Here is my CORRECTED report:

step 1: test existing configuration with crypt32 set to NATIVE in winecfg.
RESULT: Online banking works. No errors and no 100% CPU usage.

step 2: Set crypt32 to builtin in winecfg as per comment #24 From Austin English.
RESULT: Online banking fails with "An unexpected communication error occurred.
(OFXIE-2146869247). However, no 100% CPU usage occurred.

Therefore, this change does not explain the original problem AFAIK. Certainly, the original problem was not reproduced in this test.

I do not believe this shows the 100% CPU problem is in native crypt32.

(In reply to comment #27)
> Therefore, this change does not explain the original problem AFAIK. Certainly,
> the original problem was not reproduced in this test.
>
> I do not believe this shows the 100% CPU problem is in native crypt32.

It is very much in crypt32. It registers a wait with 0 timeout which causes an infinite loop. If you don't believe me get a relay trace and check for yourself.

> step 2: Set crypt32 to builtin in winecfg as per comment #24 From Austin
> English.
> RESULT: Online banking fails with "An unexpected communication error occurred.
> (OFXIE-2146869247). However, no 100% CPU usage occurred.

Well from this result you can try to find the error in crypt32 that doesn't allow you to open the Online Banking, that's a different bug. You can leave this one as invalid.

Sounds like we are moving past my capabilities/skills...

MountainX (dave-mountain) wrote :

Regarding comment #61, this is working great! But my package manager keeps asking me to upgrade wine and wine gecko. How do I prevent this? Thanks.

MountainX (dave-mountain) wrote :

I solved the question I asked in comment #63. I just opened Synaptic package manager, found wine, and then used the Package menu to lock the package. I ran the update tool and it no longer asked me to upgrade wine.

Slava (dbazim) wrote :

bdkoepke and Tyler Wagner, tanks for parch. It works. May be it's time to patch new version of wine as wine devs are not intended to do that :)

zhifeng hu (zhifeng) wrote :

Thanks Tyler.
Good solution.

jeszi (jeszenszky-zoltan) wrote :

Tyler,

wine_1.0.0-2eitri1_i386.deb resolve my CPU problem, but with this wine version I cant log in to a web application (https:\\confidental).

:(

Sorry, I don't have that problem. My package explicitly fixed that for me with
IEs4Linux:

http://www.tolaris.com/2009/02/03/using-internet-explorer-with-ies4linux-and-
ubuntu-hardy/

I haven't tested since moving to Lucid, to be honest. I just don't need IE
anymore.

Regards,
Tyler

On Tuesday 06 July 2010 17:30:18 jeszi wrote:
> Tyler,
>
> wine_1.0.0-2eitri1_i386.deb resolve my CPU problem, but with this wine
> version I cant log in to a web application (https:\\confidental).
>
> :(
>
--
"Anyone who slaps a 'this page is best viewed with Browser X' label on
a Web page appears to be yearning for the bad old days, before the Web,
when you had very little chance of reading a document written on another
computer, another word processor, or another network."
   -- Tim Berners-Lee in Technology Review, July 1996

Changed in wine:
importance: Unknown → Low
lilphil (lilphil) wrote :

Having read the comments in the Wine bug regarding crypt32 native being at fault, I switched IE6 to using the builtin crypt32 dll which appears to have solved the problem for me, but it seems to break SSL.

I am using the latest wine beta package from WineHQ (1.3.3), in Ubuntu Lucid.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.