Archived

This topic is now archived and is closed to further replies.

kraiser

utorrent works on LINUX!

Recommended Posts

Looks like latest release of WINE (0.9.11) fails to start uTorrent with the following error:

err:ntdll:RtlpWaitForCriticalSection section 0x73d80020 "heap.c: main process heap section" wait timed out in thread 000a, blocked by 0009, retrying (60 sec)err:seh:raise_exception Unhandled exception code c0000194 flags 0 addr 0x3e9224ec

I'm going to try the latest nightly next, failing that I'll drop back to 0.9.10 and try the patch manually.

Share this post


Link to post
Share on other sites

I may be doing something wrong.

What I had been doing was to download the source, and run the wine installer (which handles compilation and installation itself). You would think that by running the official installer that does everything, I couldn't make any mistakes, but who knows. Maybe they really did break something.

What I do know is that the one time I had uTorrent running was by installing the 0.9.2 RPM for RedHat Enterprise Linux 3 (That is the newest version for any type of redhat). Problem was the 100% CPU issue.

My current attempt involves doing this:

1) Download source version of RPM that worked before.

2) Extract RPM

3) Extract source

4) Apply fix to solve CPU issue

5) Repack source

6) Use rpmbuild to directly build the binary RPM

7) Install RPM

I'll let everybody know how this goes. Might I add that WINE takes bloody ages to compile?

Share this post


Link to post
Share on other sites

My method seems to have worked. While unfortunately I don't have the latest version of WINE, it is running, and it isn't sucking up 100% CPU.

Version of WINE is, as mentioned, 0.9.2. I'm going to try downloading a torrent, we'll see how that goes.

Share this post


Link to post
Share on other sites

Noticed side effects so far:

- Fonts are a bit off, a bit too wide, so sometimes it goes off a window. They're not THAT much bigger, but a bit.

- Can't right-click on speed in lower-right to set cap, it shows a popup for "Enable scheduler" and "Enable DHT". Right-clicking seems to work everywhere else

- The µ in µTorrent is shown as a garbage char. It works in the title of the window, but not in any dialog or inside of window.

- There is some flashing in the torrent list. Could be because of VNC.

Alternating list backgrounds works, icons everywhere work, etc.

Downloading works, but consumes 100% CPU (I have 2 torrrents going at the same time). The CPU power is eaten up by the process "wineserver", and 80% to 90% of it is going towards System, not User. This is different from the previous 100% CPU bug.

In the previous bug, µTorrent consumed 100% just by being open, not even doing anything. The patch fixed that. Now it only consumes 100% while downloading.

Share this post


Link to post
Share on other sites

Here is about 20 milliseconds of the strace of the process:

Process 16680 attached - interrupt to quitread(35, "$\0\0\0\0\0\0\0\0\0\0\0T\7\0\0\0\0\0@\0\0\0\0\0\0\0\0\0"..., 64) = 64write(36, "\0\0\0\0\0\0\0\0\221\1\0\0\0\0\0\0\21\0\0\0\0\0\0\0\0\0"..., 64) = 64gettimeofday({1144641078, 864800}, NULL) = 0poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}, {$read(35, "-\0\0\0\0\0\0\0\0\0\0\0T\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64write(36, "\0\0\0\0\0\0\0\0003\0\0\0\0\0\0\0\3\0\0`\0\0\0\0\0\0\0"..., 64) = 64gettimeofday({1144641078, 866070}, NULL) = 0poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}, {$read(35, ".\0\0\0\0\0\0\0\0\0\0\0T\7\0\0\2\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64poll([{fd=412, events=POLLOUT}], 1, 0)  = 0write(36, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64gettimeofday({1144641078, 867554}, NULL) = 0poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}, {$read(35, "$\0\0\0\0\0\0\0\0\0\0\0\204\10\0\0\0\0\0@\0\0\0\0\0\0\0"..., 64) = 64write(36, "\0\0\0\0\0\0\0\0\333\1\0\0\0\0\0\0\21\0\0\0\0\0\0\0\0\0"..., 64) = 64gettimeofday({1144641078, 869350}, NULL) = 0poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}, {$read(35, "-\0\0\0\0\0\0\0\0\0\0\0\204\10\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64write(36, "\0\0\0\0\0\0\0\0003\0\0\0\0\0\0\0\3\0\0`\0\0\0\0\0\0\0"..., 64) = 64gettimeofday({1144641078, 870496}, NULL) = 0poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}, {$read(35, "$\0\0\0\0\0\0\0\0\0\0\0\304\7\0\0\0\0\0@\0\0\0\0\0\0\0"..., 64) = 64write(36, "\0\0\0\0\0\0\0\0\256\1\0\0\0\0\0\0\21\0\0\0\0\0\0\0\0\0"..., 64) = 64gettimeofday({1144641078, 871596}, NULL) = 0poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}, {$read(35, "-\0\0\0\0\0\0\0\0\0\0\0\304\7\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64write(36, "\0\0\0\0\0\0\0\0003\0\0\0\0\0\0\0\3\0\0`\0\0\0\0\0\0\0"..., 64) = 64gettimeofday({1144641078, 872952}, NULL) = 0poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}, {$read(35, "$\0\0\0\0\0\0\0\0\0\0\0\254\6\0\0\0\0\0@\0\0\0\0\0\0\0"..., 64) = 64write(36, "\0\0\0\0\0\0\0\0\207\1\0\0\0\0\0\0\21\0\0\0\0\0\0\0\0\0"..., 64) = 64recv(287, "\0", 1, MSG_PEEK)            = 1gettimeofday({1144641078, 874375}, NULL) = 0poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}, {$read(35, "-\0\0\0\0\0\0\0\0\0\0\0\254\6\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64write(36, "\0\0\0\0\0\0\0\0003\0\0\0\0\0\0\0\3\0\0`\0\0\0\0\0\0\0"..., 64) = 64gettimeofday({1144641078, 875524}, NULL) = 0poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=11, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}, {$read(35, "$\0\0\0\0\0\0\0\0\0\0\0\f\7\0\0\0\0\0@\0\0\0\0\0\0\0\0"..., 64) = 64write(36, "\0\0\0\0\0\0\0\0\231\1\0\0\0\0\0\0\21\0\0\0\0\0\0\0\0\0"..., 64) = 64gettimeofday({1144641078, 876778}, NULL) = 0

Why do I say 20 milliseconds? Because I typed out the strace command, hit enter, then hit CTRL-C as fast as I could. It still produced 600 lines. So what you see above, it is being repeated many thousands of times per second.

I have no idea if that is normal. uTorrent is connected to hundreds of peers pushing several megabits in both directions, so it is expected to have a large number of syscalls, I'd think.

Share this post


Link to post
Share on other sites

Sorry for posting so much, but I figure the info I post might be handy to somebody.

After the 4 torrents finished downloading and started seeding, the CPU usage dropped from 100% down to 50-60%.

It seems like there might be some way to tweak uTorrent to reduce CPU usage. Maybe something it is doing while downloading is triggering some bug. Some part of the write cacheing maybe?

My solution to the problem will be to nice the process to 19. In windows-speak, this means to reduce the process priority. Since the CPU usage is only high while downloading, this shouldn't be too big an issue... I hope.

Share this post


Link to post
Share on other sites

Another update. As torrents finished, CPU usage dropped. With 2 torrents seeding, CPU usage dropped to 20-40%. With one torrent seeding, CPU usage dropped to 5-10%.

Box is a Celeron 2.4GHz with 512MB of RAM, btw, running RedHat Enterprise Linux 3.

Share this post


Link to post
Share on other sites

So uTorrent won't run on the current (WINE) version?:( Anyway, once it does work :P will I be able to just start the torrents again under linux and continue them from Win?

Share this post


Link to post
Share on other sites

:(:(:(:(

It was so good...

anyway it still works for me, as I used the fix with the old build and I'm not updating wine untill It's reported to work again...

@Xilon: no problem with that, just open the .torrent and force recheck

Share this post


Link to post
Share on other sites

Just converted my P2P machine from XP Pro to Kubuntu 5.10 so will slap a copy of Cedega onto it & try to get µTorrent to install & run, been using KTorrent atm but I want my prefered client.

Share this post


Link to post
Share on other sites

Wine 0.9.11 runs µTorrent flawlessly (official Slackware 10.2 package). Right down to the tetris.

Incidentally, it may be worth trying a winelib-compiled version of µTorrent - then Linux users can have a native executable without any code changes. (At least, that's what I remember of winelib, there may be some minor changes required).

PS: Whoot for µTorrent and its awesomeness.

Share this post


Link to post
Share on other sites

I am using : ArchLinux 0.71 with all the last updates and wine 0.9.11 (didnt get 0.9.12 in the repo yet)

And with the lastest uTorrent, everything works just fine - I have no idea in which way the wine from Arch is different, but it does works great - speed is correct (comparing to my win box + utorrent), loading, under TOP shows me around 8-9% of CPU ressource used by wine (server - preload)

just one thing, once minimized to tray, I cant recall the window back.. but it is really not a big deal..

anyway ;) just FYI

Share this post


Link to post
Share on other sites

Anyone with cedega + latest µTorrent using the RSS Filter to automatically download stuff? Cause i got the problem that its not always matching the releases. Im talking about if i press the "?" button it sometimes says "matching: none" then i press it again and it says "Matching: _release i want_"

Is it working for anyone?

Greets

Zlappah

Share this post


Link to post
Share on other sites

so uTorrent now works flawlessly with WINE? :o Too bad I can't find any x86_64 debian packages on their download site and I have no idea which one of the amd64 rpms I should download :S Any suggestions? (No, I will NOT compile it... I don't have that much time to waste :P)

If I get it to install then I'll be sure to try compiling uTorrent with winelib... and uhh this just occurred to me, how are we supposed to compile with winelib without the uTorrent source? :P

Share this post


Link to post
Share on other sites

HAHA!!!! IT WORKS!!! Had to use a weird method to get it running (am on amd64 but have to use wine 32bit without 32bit chroot, lol), it has to look like crap (window themes make it slow as hell) but so far so good, I managed to actually update through it :D Off to try and do some seeding :)

Share this post


Link to post
Share on other sites

i can confirm uTorrent working on 0.9.12, default build downloaded from winehq website for SuSE 9.3. works fine. High CPU consumption at start, i changed the display update to 2000ms and check for update at startup. this reduced my CPU usage to 5% (i am running it on a 500mhz celeron machine). There were problems with wine 0.9.12 at startup when i did 'winecfg'. Weird or no fonts were showing up. I just copied all fonts which were downloaded by my crossover office installation previously to wine and it worked fine afterwards. I have tried with Cedega 5.1 with no success, i also tried with crossover office professional 5.0.1, the application runs fine, but no network connectivity, torrents are added correctly and all other functions work fine, but network does not work. i guess it is the same symptom which some else mentioned earlier on in this thread.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.