http://bugs.winehq.org/show_bug.cgi?id=16376
Summary: wine 1.1.8 to 1.1.9 breaks winhttp calls Product: Wine Version: 1.1.9 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: winhttp AssignedTo: wine-bugs@winehq.org ReportedBy: dale@archcape.com
Created an attachment (id=17690) --> (http://bugs.winehq.org/attachment.cgi?id=17690) Terminal ourput and git bisect search results
The upgrade of wine 1.1.8 to 1.1.9 breaks program "braille2000", a windows program used to enter braille.
I have had this program running on Ubuntu 8.04 for 6 months or more. Recently did an update which took wine from 1.1.7 to 1.1.9 and the program stopped working. Failure was in the authentication portion of the program which contacts a server with password information.
I tested different versions and determined that the break hit between versions 1.1.8 and 1.1.9.
In order to get this program running it is necessary to download the file "winhttp.dll" and install in the .wine/.../system32 directory. Once this is done the program works properly on wine 1.1.8 and prior.
With wine 1.1.9 if started in a terminal window the three error lines are displayed: fixme:winhttp:session_set_option unimplemented option 3 fixme:winhttp:session_set_option unimplemented option 6 fixme:winhttp:session_set_option unimplemented option 5
These lines above do not show up with the earlier versions of wine which work correctly. (at least earlier versions I used)
Using "git bisect" with 1.1.8 defined as good and 1.1.9 defined as bad I narrow the search to this patch: $ git bisect good e4f7809cc9969c693d910348315502892848aaf9 is first bad commit commit e4f7809cc9969c693d910348315502892848aaf9 Author: Hans Leidekker hans@codeweavers.com Date: Thu Nov 20 14:50:58 2008 +0100
winhttp: Prefer builtin over native.
:040000 040000 2d5397c4533c56d3eee66c9b1ff7445e43f282c2 e0766aa1d5cbba2fd95c7d8acac8c9669b31957d M dlls
I will add that git output as an attachment. If I can get the C or C++ code from the author I will add that later (would that help?).
http://bugs.winehq.org/show_bug.cgi?id=16376
--- Comment #1 from Roderick Colenbrander thunderbird2k@gmx.net 2008-12-06 13:44:33 --- The patch changed the preference which causes wine to choose the builtin wininet.dll over the native wininet.dll. Change this preference in winecfg.
http://bugs.winehq.org/show_bug.cgi?id=16376
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hans@meelstraat.net Severity|critical |normal
--- Comment #2 from Hans Leidekker hans@meelstraat.net 2008-12-06 14:07:47 --- Please attach a WINEDEBUG=+winhttp trace. Is there a free download for this application?
http://bugs.winehq.org/show_bug.cgi?id=16376
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Summary|wine 1.1.8 to 1.1.9 breaks |Braille2000 does not |winhttp calls |authenticate with server
http://bugs.winehq.org/show_bug.cgi?id=16376
--- Comment #3 from Dale Mosby dale@archcape.com 2008-12-06 15:18:57 --- Created an attachment (id=17693) --> (http://bugs.winehq.org/attachment.cgi?id=17693) WINEDEBUG=+winhttp output
I ran the program as: WINEDEBUG=+winhttp wine BRL2000
Used script to capture output. Have attached this file.
http://bugs.winehq.org/show_bug.cgi?id=16376
Dale Mosby dale@archcape.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #17693|0 |1 is obsolete| |
--- Comment #4 from Dale Mosby dale@archcape.com 2008-12-06 15:23:07 --- Created an attachment (id=17695) --> (http://bugs.winehq.org/attachment.cgi?id=17695) WINEDEBUG=+winhttp output
Just attached the wrong file. Dang. I'll try that again.
http://bugs.winehq.org/show_bug.cgi?id=16376
Dale Mosby dale@archcape.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dale@archcape.com
--- Comment #5 from Dale Mosby dale@archcape.com 2008-12-06 15:56:09 --- Comment 2 asked if there is a free download. Answer is yes. This is a rather specialized program and I am quite happy to do the testing. I will give a try at the instructions for testing here:
Go to: www.braille2000.com Download an evaluation copy (BRL2000_Setup.exe). Executing this under wine will install. Under the .wine prog files directory you will see a directory named "CASC/BRL2000".
In order to make this program work I had to download the file "winhttp.dll" and install in the .wine/.../system32" directory. On the winhq forum someone suggested that I might have been able to install a dummy file there. I have not tried that.
Use wine to run "BRL2000.EXE".
This brings up an initial window. Choose "Evaluate only", and then "Basic edition".
Now the main braille program window will display.
Select "file maintenance" toward the upper left.
A new window will pop-up. NOTE: the text does not display correctly - columns 2 and 3 seem to have been merged. The string "ttings" on the upper right is supposed to be something like "test settings". Click on the portion "ttings".
A new window will come up. Select "test connection".
That will display "success" or "failed".
Hope that helps. As I said, I'm happy to test. I also might be able to get the code used from the author if that would help.
http://bugs.winehq.org/show_bug.cgi?id=16376
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |download
--- Comment #6 from Austin English austinenglish@gmail.com 2008-12-06 17:11:03 --- (In reply to comment #5)
In order to make this program work I had to download the file "winhttp.dll" and install in the .wine/.../system32" directory. On the winhq forum someone suggested that I might have been able to install a dummy file there. I have not tried that.
What does this fix? In the forum you said the blank file fixes your problem, but for me, still fails. Does it fix a different problem?
Use wine to run "BRL2000.EXE".
This brings up an initial window. Choose "Evaluate only", and then "Basic edition".
Now the main braille program window will display.
Select "file maintenance" toward the upper left.
A new window will pop-up. NOTE: the text does not display correctly - columns 2 and 3 seem to have been merged.
File a separate bug for that.
The string "ttings" on the upper right is supposed to be something like "test settings". Click on the portion "ttings".
It's not 'ttings' here. I see 'Proxy Settings', which seems to be what you wanted.
A new window will come up. Select "test connection".
That will display "success" or "failed".
Yep, fails here.
Hope that helps. As I said, I'm happy to test. I also might be able to get the code used from the author if that would help.
Source always helps :-). A reduced down testcase would be even better.
http://bugs.winehq.org/show_bug.cgi?id=16376
--- Comment #7 from Dale Mosby dale@archcape.com 2008-12-06 20:45:08 --- I requested a bit of the source in the area that generated this problem. Hopefully the author will be able to provide this and also be willing to do so. With that I would expect that someone used to Windows programming could generate a test case. (I work on Linux no Win stuff for a long time so I'm not the person for that.)
I just did another full installation with wine 1.1.8 including running winecfg after removing th .wine directory. With out the empty "winhttp.dll" file under the .wine/.../system32 directory I am able to perform the program installation step but when I attempt to perform the "test connection" step I get the "failed" message. If I then simply touch the file to create an empty file of this name the "test connection" call reports success.
I also filed bug 16382 to report the improperly drawn screen with the "Proxy Settings" text. I have included two screen shots of the text as I see it. I have never observed this to work properly for me. It might be useful to have some data reported by someone that has seen this correctly. I am not a wine developer so can't do much on my own but can capture winedebug information if someone tells me what to do.
http://bugs.winehq.org/show_bug.cgi?id=16376
Lei Zhang thestig@google.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://www.braille2000.com/b | |rl2000/Evaluate.htm
http://bugs.winehq.org/show_bug.cgi?id=16376
--- Comment #8 from Hans Leidekker hans@meelstraat.net 2008-12-07 07:05:39 --- Created an attachment (id=17716) --> (http://bugs.winehq.org/attachment.cgi?id=17716) winhttp: Prepend slash to request path if nessessary.
Please try this patch.
http://bugs.winehq.org/show_bug.cgi?id=16376
--- Comment #9 from Dale Mosby dale@archcape.com 2008-12-07 16:17:27 --- Hans - no luck with that patch but quite possibly my fault.
I created a new wine-git directory, populated with git-clone. Then before the configure & make I dropped the diff attachment in that dir and ran "git-apply patchfilename.diff". No errors reported from that.
Then I did the config make depend make sequence as I had done when doing the git-bisect steps.
I wasn't entirely sure if the patch was going to take care of need for the dummy system32/windhttp.dll file or just 3 "fixme" errors so I decided to remove the .wine directory under my home dir and start with a winecfg.
While the make step had built a wine executable under wine-git it had not created a winecfg. So I ran tools/wineinstall and that did create a /usr/local/bin/winecfg executable. I ran that, then did the install of the braille2000 program. The tried the "test connection" step. What I found with or without the empty system32/winhttp.dll file was that I would still get those three "fixme" lines but worse was that the program would "hang" showing an hourglass after that. Top and ps indicated that it was not burning any CPU time. I had to use a "kill -9" to terminate the program. Note that the "wine --version" information from the executable under wine-git reports wine-1.1.10.
So that is the result of my testing.
Now the disclaimer - I'm sitting here with a freshly broken collarbone and feeling pretty bad and I am not in good shape for figuring out anything very complex or being real trustworthy with this testing. If you want to give me really detailed instructions for building and applying the patch I will try and follow them - be detailed. Else in another day or two I'll be in better shape to think about all this and run another test with a bit more care.
http://bugs.winehq.org/show_bug.cgi?id=16376
--- Comment #10 from Austin English austinenglish@gmail.com 2008-12-07 21:03:59 --- (In reply to comment #8)
Created an attachment (id=17716)
--> (http://bugs.winehq.org/attachment.cgi?id=17716) [details]
winhttp: Prepend slash to request path if nessessary.
Please try this patch.
Works here. Be careful when testing, as their site was down earlier (if you can download the exe from the site, you should be fine).
http://bugs.winehq.org/show_bug.cgi?id=16376
--- Comment #11 from Hans Leidekker hans@meelstraat.net 2008-12-08 03:02:38 ---
Note that the "wine --version" information from the executable under wine-git reports wine-1.1.10
That means you're not running the binary you just compiled, which explains why it still fails for you. I tried it here and it worked fine, no need for a dummy winhttp.dll.
http://bugs.winehq.org/show_bug.cgi?id=16376
--- Comment #12 from Dale Mosby dale@archcape.com 2008-12-08 09:28:56 --- With a less foggy brain I later realized that yes indeed, my last test was with 1.1.0 which was a version I had not used earlier (I told git that good was 1.1.8 and bad was 1.1.9 earlier). My test yesterday did build the 1.1.10 version.
It seems that the real problem I hit in my test with 1.1.10 was that the site was down as Austin mentioned. I already had pulled down the exe file so was using that local and did not realize the site was down. That was causing the hang and preventing code with patch from ever getting called.
This morning the version 1.1.10 code with patch applied works. And the winhttpd.dll file is not needed.
Today I will test patch back on the 1.1.9 version just for completeness. Thanks for your help on this.
http://bugs.winehq.org/show_bug.cgi?id=16376
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #13 from Hans Leidekker hans@meelstraat.net 2008-12-08 10:27:25 --- Patch was committed as d3f7f5ebb6ff689d049c08053aa981d8164f73cc.
http://bugs.winehq.org/show_bug.cgi?id=16376
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #14 from Alexandre Julliard julliard@winehq.org 2008-12-20 09:06:35 --- Closing bugs fixed in 1.1.11.