https://bugs.winehq.org/show_bug.cgi?id=44011
Bug ID: 44011 Summary: page fault in schan_QueryContextAttributesW Product: Wine Version: 2.21 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: secur32 Assignee: wine-bugs@winehq.org Reporter: development@winomega.com Distribution: ---
Created attachment 59672 --> https://bugs.winehq.org/attachment.cgi?id=59672 test program
Wine gets a page fault in secur32.dll very often (thought not 100% of the time) when running a trivial program using libmariadb.dll (MariaDB Connector/C 3.0.2):
a2b008591f3cb238d1e4410c4d1b9f08 libmariadb.dll
Note: libmariadb.dll (MariaDB Connector/C 3.0.2) can be downloaded as win32 binary or source from https://downloads.mariadb.org/connector-c/3.0.2/
Test program is attached (test.c). You need to edit and replace the mysql_real_connect call with actual parameters of a MySQL server with SSL enabled, and copy the ca.pem file to current directory (a trivial setup like https://www.digitalocean.com/community/tutorials/how-to-configure-ssl-tls-fo... works).
I compiled it with mingw32:
i686-w64-mingw32-gcc test.c -o test.exe -I./mariadb-connector-c/include libmariadb.dll
https://bugs.winehq.org/show_bug.cgi?id=44011
--- Comment #1 from Omega Software development@winomega.com --- Created attachment 59673 --> https://bugs.winehq.org/attachment.cgi?id=59673 backtrace
https://bugs.winehq.org/show_bug.cgi?id=44011
Omega Software development@winomega.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Ubuntu Keywords| |download, source, testcase
--- Comment #2 from Omega Software development@winomega.com --- Doesn't look like a regression. Problem also found on Wine 1.8.
https://bugs.winehq.org/show_bug.cgi?id=44011
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #3 from Fabian Maurer dark.shadow4@web.de --- Can't reproduce the error on Arch Linux with mariadb.
https://bugs.winehq.org/show_bug.cgi?id=44011
--- Comment #4 from Omega Software development@winomega.com --- (In reply to Fabian Maurer from comment #3)
Can't reproduce the error on Arch Linux with mariadb.
Have you tried a few times? Note it doesn't happen 100% of the time.
Are you using the same libmariadb.dll binary? (md5sum a2b008591f3cb238d1e4410c4d1b9f08)
Are you certain SSL is being used? Note you can be certain SSL is in effect by making it mandatory in the server with require_secure_transport option. Like:
[mysqld] # Require clients to connect either using SSL # or through a local socket file require_secure_transport = ON
https://bugs.winehq.org/show_bug.cgi?id=44011
--- Comment #5 from Fabian Maurer dark.shadow4@web.de --- Yes, I have the same libmariadb.dll, md5sum matches. I tried it a few dozen times, but no crashes. Pretty sure it uses SSL, when I remove the certificate (ca.pem) it complains, and in phpmyadmin the user is set to require SSL.
https://bugs.winehq.org/show_bug.cgi?id=44011
--- Comment #6 from Omega Software development@winomega.com --- (In reply to Fabian Maurer from comment #5)
Yes, I have the same libmariadb.dll, md5sum matches. I tried it a few dozen times, but no crashes. Pretty sure it uses SSL, when I remove the certificate (ca.pem) it complains, and in phpmyadmin the user is set to require SSL.
Is your server in the same network? I suspect there's a race condition here, and the bug is not triggered when network latency is low enough.
This is what I tried:
1. I replicated the same setup of the MySQL server in my local workstation. Then the bug is NOT triggered (Note: the require_secure_transport directive has no effect on localhost/127.0.0.1 so I had to use the LAN address instead)
2. I installed Wine on the remote server where it was previously failing, and run the test locally from there. Again, the bug is NOT triggered.
https://bugs.winehq.org/show_bug.cgi?id=44011
--- Comment #7 from Omega Software development@winomega.com --- Created attachment 59688 --> https://bugs.winehq.org/attachment.cgi?id=59688 WINEDEBUG=+secur32
I'm attaching a WINEDEBUG=+secur32 log. Please note that immediately after this message is displayed, the program hangs for a few seconds, and then crashes:
trace:secur32:schan_InitializeSecurityContextW Expected at least 40548 bytes, but buffer only contains 265 bytes.
https://bugs.winehq.org/show_bug.cgi?id=44011
Omega Software development@winomega.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://downloads.mariadb.o | |rg/connector-c/3.0.2/
https://bugs.winehq.org/show_bug.cgi?id=44011
--- Comment #8 from Fabian Maurer dark.shadow4@web.de ---
Is your server in the same network? I suspect there's a race condition here, and the bug is not triggered when network latency is low enough.
This might be the reason, I'm running both the sql server and the test on the same machine.
https://bugs.winehq.org/show_bug.cgi?id=44011
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #9 from joaopa jeremielapuree@yahoo.fr --- Does the bug still occur with wine-7.0-rc5?