Hi Morten and Piotr, I notice both of you are working on wininet's url cache. That's great: it's largely bitrot, and has been for years. My question is, what are you planning to fix? It seems like you're both running into some of the same issues right now, and it would be nice if you could coordinate a little. Ok, I lie: it'd be nice to get code from both of you ;)
If I were to guess, it looks like you're both working on eliminating corruption and deadlocks, both of which can occur right now. Fantastic.
Another thing that'd be nice to see is reducing the amount of disk space used. Morten, some of the patches you sent me do some of that, by removing files once they're no longer in use. (The patches I have do that too.) Piotr, were you planning to address this too?
A question that I have to ask is, would be better to eliminate the url cache altogether? Right now its only utility is to pass test cases, and conveniently fill up your disk. No requests are ever fulfilled from the cache. Either of you have any plans to tackle that?
Thanks, --Juan
Hi,
It's hard to divide the work in any ways right now, since all of us were looking for bugs and fixing them. Before the work may be split in any way, some basic problems needs to be fixed. I think we're slowly getting to the point when index.dat is no longer getting corrupted (of course there will be problems when index.dat is already damaged).
I was thinking about sending the patches I have already prepared and then taking a few days break, so Morten or Juan can try to get their patches in. I'm sure we will be able to organize future work so we don't overlap in any way.
On 4/5/12 7:30 PM, Juan Lang wrote:
Another thing that'd be nice to see is reducing the amount of disk space used. Morten, some of the patches you sent me do some of that, by removing files once they're no longer in use. (The patches I have do that too.) Piotr, were you planning to address this too?
I've seen some patches written by Morten regarding it and I have some concerns. I think that wininet may delete the index.dat file if it's corrupted or file version is not matching, but it can't remove files that don't belong to it (in this patches whole cache directory was removed when cache file version was changing). The bad thing is, that people with old wine prefixes will need to remove downloaded files by hand (I think it's the correct approach).
Later when the cache is working correctly, it should be responsible for removing the files that it is keeping track of (so the manual cache clearing should be a one time process). I was not investigating it yet, but it shouldn't be very hard to implement.
A question that I have to ask is, would be better to eliminate the url cache altogether? Right now its only utility is to pass test cases, and conveniently fill up your disk. No requests are ever fulfilled from the cache. Either of you have any plans to tackle that?
Eliminating the cache is clearly not the correct approach. First of all urlmon already depends on it. It needs the files to be created, the problem is that we never delete them. Correct persist cookies support can't be implemented without it. Some applications are using it directly. Other parts of wine can't depend on index.dat related functionality as long as it's broken.
Cheers, Piotr
Hi Juan
My wish to fix urlcache comes from the fact that World of Warcraft use it. The most common error seen in a wow logfile is: CommitUrlCacheEntry: entry already in cache - don't know what to do So I started looking at how to fix that. I assume that most people that play WoW installs a native wininet to solve this problem. But I like to run a full native wine to see these kind of problems. :)
I saw several bug reports in bugzilla, reporting problems with a full urlcache, which I also see sometimes in WoW. So I added that to the list of things I would like to do.
So I have been working on commit and internal cleanup. For now I am waiting for Piotr to commit his changes, as he got there first. After that I will rework my patches with things that Piotr haven't already done.
While working on the my changes, I have thought about doing further implementation and code rework. But now I will wait and see, how it looks after Piotr's changes.
On removing urlcache: A number of programs (seem to) use it, even though wine itself doesn't use urlcache that much. So removing urlcache would probably break a lot of running programs.
As to make wine use urlcache more, that would be something further down the line. I wont commit to doing that, but I have thought on how to work further on persistent cookies, which also uses urlcache.
Best Regards Morten Rønne
Den 05-04-2012 19:30, Juan Lang skrev:
Hi Morten and Piotr, I notice both of you are working on wininet's url cache. That's great: it's largely bitrot, and has been for years. My question is, what are you planning to fix? It seems like you're both running into some of the same issues right now, and it would be nice if you could coordinate a little. Ok, I lie: it'd be nice to get code from both of you ;)
If I were to guess, it looks like you're both working on eliminating corruption and deadlocks, both of which can occur right now. Fantastic.
Another thing that'd be nice to see is reducing the amount of disk space used. Morten, some of the patches you sent me do some of that, by removing files once they're no longer in use. (The patches I have do that too.) Piotr, were you planning to address this too?
A question that I have to ask is, would be better to eliminate the url cache altogether? Right now its only utility is to pass test cases, and conveniently fill up your disk. No requests are ever fulfilled from the cache. Either of you have any plans to tackle that?
Thanks, --Juan