[Bug 40744] New: NtLockFile I/ O completion on lock breaks Strawberry Perl CPAN
https://bugs.winehq.org/show_bug.cgi?id=40744 Bug ID: 40744 Summary: NtLockFile I/O completion on lock breaks Strawberry Perl CPAN Product: Wine Version: 1.9.11 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs(a)winehq.org Reporter: alexchandel(a)gmail.com Distribution: --- Strawberry perl (5.24.0.1, 32bit) cannot install any CPAN packages because of the "fixme:ntdll:NtLockFile I/O completion on lock not implemented yet" issue. For example, running cpan and then typing `install Log::Log4perl` in the CPAN shell results in the following message being repeated ad infinitum: ``` Fetching with LWP: http://cpan.strawberryperl.com/authors/01mailrc.txt.gz fixme:msvcrt:MSVCRT__wsopen_s : pmode 0x01b6 ignored fixme:msvcrt:MSVCRT__wsopen_s : pmode 0x01b6 ignored Waiting for a read lock on 'L:\opt\strawberry-perl-5.24.0.1-32bit-portable\cpan\FTPstats.yml' (since Tue Jun 7 12:30:45 2016) Waiting for a read lock on 'L:\opt\strawberry-perl-5.24.0.1-32bit-portable\cpan\FTPstats.yml' (since Tue Jun 7 12:30:45 2016) Waiting for a read lock on 'L:\opt\strawberry-perl-5.24.0.1-32bit-portable\cpan\FTPstats.yml' (since Tue Jun 7 12:30:45 2016) ... ... ``` CPAN never comes back, and cannot install any packages. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 alexchandel(a)gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Version|1.9.11 |unspecified -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 Nikolay Sivov <bunglehead(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.9.11 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 super_man(a)post.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man(a)post.com --- Comment #1 from super_man(a)post.com --- Do you have a download link? It's very unlikely that the message is the quilty one since I have often seen it and it has never caused issues. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 fjfrackiewicz(a)gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz(a)gmail.com --- Comment #2 from fjfrackiewicz(a)gmail.com --- (In reply to super_man from comment #1)
Do you have a download link? It's very unlikely that the message is the quilty one since I have often seen it and it has never caused issues.
Looks like all the Windows installers for this can be found here: http://strawberryperl.com/releases.html -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 --- Comment #3 from alexchandel(a)gmail.com --- (In reply to super_man from comment #1)
Do you have a download link? Maybe, but Most Likely Not. It's very unlikely that the message is the quilty one since I have often seen it and it has never caused issues.
I doubt it's a quilty one, since the program outputs an infinite number of "Waiting for a read lock on ..." lines after the "fixme:ntdll:NtLockFile I/O completion on lock not implemented yet" line. This would seem to suggest it's waiting for its I/O completion callback to proceed. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 --- Comment #4 from alexchandel(a)gmail.com --- This appears to cause #40827 as well -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 --- Comment #5 from alexchandel(a)gmail.com --- Confirmed this same problem with ActiveState Perl's distribution too. CPAN is essential for perl, so this means that perl is effectively unusable in wine until I/O completion is implemented for locks. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 alst5940(a)colorado.edu changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |alst5940(a)colorado.edu -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 --- Comment #6 from alst5940(a)colorado.edu --- Also likely the cause of 41626 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 winetest(a)luukku.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest(a)luukku.com --- Comment #7 from winetest(a)luukku.com --- Installed 32bit MSI installer version with no issues. What I supposed to do next? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 Aaron Franke <arnfranke(a)yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |arnfranke(a)yahoo.com --- Comment #8 from Aaron Franke <arnfranke(a)yahoo.com> --- Steam Big Picture mode also requires ntdll NtLockFile I/O completion on lock
From Steam Big Picture STDERR Log: fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
Full log: https://pastebin.com/ayhgum69 Confirmed for Wine 2.22. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 --- Comment #9 from Aaron Franke <arnfranke(a)yahoo.com> --- Related: https://bugs.winehq.org/show_bug.cgi?id=40827 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 Zebediah Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12(a)gmail.com --- Comment #10 from Zebediah Figura <z.figura12(a)gmail.com> --- I can't reproduce this: --- zeb(a)terabithia:~/Downloads/strawberry-perl/perl/bin$ wine cmd /c cpan.bat Loading internal null logger. Install Log::Log4perl for logging messages 0025:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet cpan shell -- CPAN exploration and modules installation (v2.11) Enter 'h' for help. cpan> install Log::Log4perl Fetching with LWP: http://cpan.strawberryperl.com/authors/01mailrc.txt.gz Fetching with LWP: http://cpan.strawberryperl.com/modules/02packages.details.txt.gz Fetching with LWP: http://cpan.strawberryperl.com/modules/03modlist.data.gz Creating database file ... 0027:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet Done! --- It gets farther before breaking (due to some paths problem), but I don't see any errors along the lines of those originally reported. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 Richard Hughes <richard(a)hughsie.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |richard(a)hughsie.com --- Comment #11 from Richard Hughes <richard(a)hughsie.com> --- Just as another report, if you use GRWLockfrom GLib and then compile your project with mingw, then try to result in wine it deadlocks when you try to take, release and take the lock: (fu-self-test.exe:8): FuHistory-DEBUG: 10:29:13.015: trying to open database '/tmp/fwupd-self-test/var/lib/fwupd/pending.db' 0009:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet 0009:err:sync:fast_release_srw_shared Lock 0x11f82f0 is owned exclusive! (0x80000000) <deadlock> I'd be happy to create a small reproducer if that helps. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 --- Comment #12 from Zebediah Figura <z.figura12(a)gmail.com> --- (In reply to Richard Hughes from comment #11)
Just as another report, if you use GRWLockfrom GLib and then compile your project with mingw, then try to result in wine it deadlocks when you try to take, release and take the lock:
(fu-self-test.exe:8): FuHistory-DEBUG: 10:29:13.015: trying to open database '/tmp/fwupd-self-test/var/lib/fwupd/pending.db' 0009:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet 0009:err:sync:fast_release_srw_shared Lock 0x11f82f0 is owned exclusive! (0x80000000)
<deadlock>
I'd be happy to create a small reproducer if that helps.
That would be appreciated, thanks. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 --- Comment #13 from Richard Hughes <richard(a)hughsie.com> ---
I'd be happy to create a small reproducer if that helps.
That would be appreciated, thanks. So, I did that, and it failed to reproduce the "bug" in wine. I spent about 2 hours looking at the debugging until I realized I was calling g_rw_lock_writer_lock() and then g_rw_lock_reader_unlock() -- which is something that seems to work "by accident" in glibc -- but not in Windows. After applying https://github.com/fwupd/fwupd/commit/0fe4914320e1c8f148860be784b67c746ee45d... it seems to work without either error message in wine. My apologies! If you still want a reproducer (using w_lock, r_unlock) yell, although it's of course not wine's fault that I'm less than awesome at reviewing patches :) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 --- Comment #14 from Richard Hughes <richard(a)hughsie.com> --- Created attachment 65825 --> https://bugs.winehq.org/attachment.cgi?id=65825 trivial reproducer
I'd be happy to create a small reproducer if that helps.
I stumbled on this again this morning. I've attached a trivial reproducer that triggers the lock message when using the most simple of sqlite code. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40744 --- Comment #15 from Zebediah Figura <z.figura12(a)gmail.com> --- I can't get that sample to hang; it always exits cleanly. If it hangs for you, can you please try attaching a log with WINEDEBUG=+sync,+server,+timestamp? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla