[Bug 49834] New: 45a63e5b3ce0e5d7fcc55ce57f315086b87f8ad7 breaks binary compatibility with 5.0 on passing main() argc
WineHQ Bugzilla
wine-bugs at winehq.org
Mon Sep 14 02:30:13 CDT 2020
https://bugs.winehq.org/show_bug.cgi?id=49834
Bug ID: 49834
Summary: 45a63e5b3ce0e5d7fcc55ce57f315086b87f8ad7 breaks binary
compatibility with 5.0 on passing main() argc
Product: Wine
Version: 5.9
Hardware: x86-64
OS: Linux
Status: NEW
Keywords: regression, source, testcase
Severity: normal
Priority: P2
Component: ntdll
Assignee: wine-bugs at winehq.org
Reporter: dmitry at baikal.ru
CC: julliard at winehq.org
Regression SHA1: 45a63e5b3ce0e5d7fcc55ce57f315086b87f8ad7
Distribution: ---
Created attachment 68172
--> https://bugs.winehq.org/attachment.cgi?id=68172
test winelib module (source + binary)
I have a private winelib module compiled with stable wine-5.0.2 branch.
Recently this module was broken after upgrading Wine.
I've attached test with source and pre-compiled binary using wine-5.0.2.
When running with wine-5.0.2 it looks like this:
$ wine test.exe.so
Starting (argc = 1, argv = 0x113120)...
Done.
$ wine test.exe.so -v
Starting (argc = 2, argv = 0x1132e8)...
verbose is on
Done.
When running with wine-5.17 argc passed to main() is no longer valid,
which makes the app try to parse not existing command like arguments:
$ wine test.exe.so -v
Starting (argc = 3, argv = 0x143a10)...
verbose is on
Done.
$ wine test.exe.so
Starting (argc = 2, argv = 0x110f48)...
wine: Unhandled page fault on read access to 00000000 at address 7ECF30AF
(thread 0024), starting debugger...
couldn't load main module (2)
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code
(0x7ecf30af).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:7ecf30af ESP:0031fed0 EBP:0031fee8 EFLAGS:00010202( R- -- I - - - )
EAX:00000000 EBX:7ecf6000 ECX:00000028 EDX:f7ee5890
ESI:00000002 EDI:00110f48
Stack dump:
0x0031fed0: 00110f50 00110f48 0031ff00 00000002
0x0031fee0: 00110f48 00110f48 0031ff38 7ecf333b
0x0031fef0: 00000000 00000000 00110f4c 7ecf333b
0x0031ff00: 00000002 00110f48 00000000 00000000
0x0031ff10: 00000000 7dd4abb0 0000000d 00110f48
0x0031ff20: 00000000 00000000 0031ff48 7ffde000
Backtrace:
=>0 0x7ecf30af (0x0031fee8)
1 0x7ecf333b (0x0031ff38)
2 0x7b655a70 in kernel32 (+0x35a6f) (0x0031ff58)
3 0x7bc7cfd7 (0x0031ff6c)
4 0x7bc7d22a (0x0031ffec)
0x7ecf30af: cmpb $0x2d,0x0(%eax)
Modules:
Module Address Debug info Name (3 modules)
PE 7b020000-7b027000 Deferred kernelbase
PE 7b620000-7b7dc000 Export kernel32
PE 7bc20000-7bc24000 Deferred ntdll
The regression is cased by
45a63e5b3ce0e5d7fcc55ce57f315086b87f8ad7 is the first bad commit
commit 45a63e5b3ce0e5d7fcc55ce57f315086b87f8ad7
Author: Alexandre Julliard <julliard at winehq.org>
Date: Sun May 17 11:44:16 2020 +0200
ntdll: Store main() arguments in the Unix library.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
First Wine version released with this commit is wine-5.9.
--
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.
More information about the wine-bugs
mailing list