[Bug 50713] New: Commit a8856381ed9 ("ntdll: Use xsavec in x86_64 syscall dispatcher.") breaks Wine
https://bugs.winehq.org/show_bug.cgi?id=50713 Bug ID: 50713 Summary: Commit a8856381ed9 ("ntdll: Use xsavec in x86_64 syscall dispatcher.") breaks Wine Product: Wine Version: 6.2 Hardware: x86-64 OS: Linux Status: NEW Severity: critical Priority: P2 Component: ntdll Assignee: wine-bugs(a)winehq.org Reporter: focht(a)gmx.net Distribution: --- Hello folks, as it says. Commit https://source.winehq.org/git/wine.git/commitdiff/a8856381ed9a7187a656496089... ("ntdll: Use xsavec in x86_64 syscall dispatcher.") breaks Wine. --- snip --- $ rm -rf .wine $ wineboot wine: created the configuration directory '/home/focht/.wine' 0024:err:environ:run_wineboot failed to start wineboot c00000e5 0024:err:wineboot:main failed to restart 64-bit L"C:\\windows\\system32\\wineboot.exe", err 1359 0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1. 0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1. 0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1. --- snip --- --- snip --- $ winecfg 0024:err:environ:run_wineboot failed to start wineboot c00000e5 0024:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0) 0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1. 0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1. 0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1. 0024:fixme:winspool:AddPrinterW DocumentPropertiesW on printer L"Xerox-WorkCentre-470cx" fails 0024:err:winecfg:WinMain failed to restart 64-bit L"C:\\windows\\system32\\winecfg.exe", err 1359 0024:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded. 0024:err:winediag:nodrv_CreateWindow The explorer process failed to start. --- snip --- $ wine --version wine-6.2-264-ga8856381ed9 Regards -- 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=50713 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Regression SHA1| |a8856381ed9a7187a6564960893 | |617f31ec3e8ff -- 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=50713 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jacek(a)codeweavers.com Summary|Commit a8856381ed9 ("ntdll: |Commit a8856381ed9 ("ntdll: |Use xsavec in x86_64 |Use xsavec in x86_64 |syscall dispatcher.") |syscall dispatcher.") |breaks Wine |breaks Wine | |(wine-6.2-264-ga8856381ed9) -- 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=50713 --- Comment #1 from Jacek Caban <jacek(a)codeweavers.com> --- Created attachment 69458 --> https://bugs.winehq.org/attachment.cgi?id=69458 ntdll: Simplify call_raise_user_exception_dispatcher on x86_64. The attached patch should help. It looks like I messed splitting 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=50713 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download -- 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=50713 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Commit a8856381ed9 ("ntdll: |Commit a8856381ed9 ("ntdll: |Use xsavec in x86_64 |Use xsavec in x86_64 |syscall dispatcher.") |syscall dispatcher.") |breaks Wine |breaks 64-bit Wine |(wine-6.2-264-ga8856381ed9) |(wine-6.2-264-ga8856381ed9) Keywords|download |patch --- Comment #2 from Anastasius Focht <focht(a)gmx.net> --- Hello Jacek, --- quote --- The attached patch should help. It looks like I messed splitting patches. --- quote --- unfortunately it doesn't help. --- snip --- wine: created the configuration directory '/home/focht/.wine' sock_init: shutdown() causes EOF wineserver: starting (pid=195188) ... 0024: new_process( token=0000, debug=0000, parent_process=0000, inherit_all=0, create_flags=00000000, socket_fd=10, access=001fffff, cpu=x86_64, info_size=404, handles_size=0, objattr={rootdir=0000,attributes=00000000,sd={},name=L""}, handles={}, info={debug_flags=0,console_flags=0,console=0000,hstdin=0000,hstdout=0000,hstderr=000c,x=0,y=0,xsize=0,ysize=0,xchars=0,ychars=0,attribute=00,flags=0,show=0,curdir=L"Z:\\home\\focht\\",dllpath=L"C:\\windows\\system32;C:\\windows\\system32;C:\\windows\\system;C:\\windows;.;",imagepath=L"C:\\windows\\system32\\wineboot.exe",cmdline=L"C:\\windows\\system32\\wineboot.exe --init",title=L"",desktop=L"",shellinfo=L"",runtime=L""}, env=L"SHELL=..." ) 0024: new_process() = 0 { info=0018, pid=0028, handle=001c } 0024: new_thread( process=001c, access=001fffff, suspend=1, request_fd=-1, objattr={rootdir=0000,attributes=00000000,sd={},name=L""} ) 0024: *fd* 02ac -> 30 0024: new_thread() = 0 { tid=002c, handle=0020 } 0024: get_handle_fd( handle=0000 ) 0024: get_handle_fd() = INVALID_HANDLE { type=0, cacheable=0, access=00000000, options=00000000 } 0024: get_handle_fd( handle=0000 ) 0024: get_handle_fd() = INVALID_HANDLE { type=0, cacheable=0, access=00000000, options=00000000 } 0024: select( flags=2, cookie=ff9123bc, timeout=infinite, size=8, prev_apc=0000, result={}, data={WAIT_ALL,handles={0018}}, context={} ) 0024: select() = PENDING { call={APC_NONE}, apc_handle=0000, context={} } 002c: *fd* 5 <- 30 002c: init_first_thread( unix_pid=195190, unix_tid=195190, debug_level=1, teb=7fffffd90000, peb=7fffffdaf000, ldt_copy=00000000, reply_fd=5, wait_fd=8, cpu=x86_64 ) 002c: *fd* 8 <- 31 002c: init_first_thread() = 0 { pid=0028, tid=002c, server_start=1d709b9409a9cf6 (-0.0042710), info_size=12566, all_cpus=00000003 } 002c: open_mapping( access=000f001f, attributes=00000000, rootdir=0000, name=L"\\KernelObjects\\__wine_user_shared_data" ) 002c: open_mapping() = 0 { handle=0008 } 002c: get_handle_fd( handle=0008 ) 002c: *fd* 0008 -> 19 002c: get_handle_fd() = 0 { type=1, cacheable=1, access=000f001f, options=00000020 } 002c: close_handle( handle=0008 ) 002c: close_handle() = 0 002c:trace:ntdll:init_cpu_info <- CPU arch 9, level 6, rev 15363, features 0xebfbbfff 002c:trace:ntdll:NtQuerySystemInformation (0x00000001,0x7fff4c7f7564,0x0000000c,(nil)) 002c: get_startup_info( ) 002c: get_startup_info() = 0 { info_size=404, info={debug_flags=0,console_flags=0,console=0000,hstdin=0000,hstdout=0000,hstderr=0004,x=0,y=0,xsize=0,ysize=0,xchars=0,ychars=0,attribute=00,flags=0,show=0,curdir=L"Z:\\home\\focht\\",dllpath=L"C:\\windows\\system32;C:\\windows\\system32;C:\\windows\\system;C:\\windows;.;",imagepath=L"C:\\windows\\system32\\wineboot.exe",cmdline=L"C:\\windows\\system32\\wineboot.exe --init",title=L"",desktop=L"",shellinfo=L"",runtime=L""}, env=L"..." } 002c: create_keyed_event( access=c0000000, objattr={} ) 002c: create_keyed_event() = 0 { handle=0008 } 002c: create_file( access=80100000, sharing=00000005, create=1, options=00000060, attrs=00000000, objattr={rootdir=0000,attributes=00000000,sd={},name=L"\\??\\C:\\windows\\system32\\ntdll.dll"}, filename="/home/focht/projects/wine/mainline-install-x86_64/lib64/wine/ntdll.dll" ) 002c: create_file() = 0 { handle=000c } 002c: create_mapping( access=000f000d, flags=01000000, file_access=00000001, size=00000000, file_handle=000c, objattr={} ) 002c: create_mapping() = 0 { handle=0010 } 002c: close_handle( handle=000c ) 002c: close_handle() = 0 002c: get_mapping_info( handle=0010, access=00000001 ) 002c: get_mapping_info() = 0 { size=0008a000, flags=01800000, shared_file=0000, image={base=7bc00000,entry_point=7bc61d20,map_size=0008a000,stack_size=00100000,stack_commit=00001000,zerobits=00000000,subsystem=00000002,subsystem_minor=0000,subsystem_major=0006,osversion_major=0006,osversion_minor=0000,image_charact=2022,dll_charact=0160,machine=8664,contains_code=1,image_flags=44,loader_flags=00000000,header_size=00001000,file_size=00088000,checksum=00000000,cpu=x86_64} } 002c: get_mapping_info( handle=0010, access=0000000c ) 002c: get_mapping_info() = 0 { size=0008a000, flags=01800000, shared_file=0000, image={base=7bc00000,entry_point=7bc61d20,map_size=0008a000,stack_size=00100000,stack_commit=00001000,zerobits=00000000,subsystem=00000002,subsystem_minor=0000,subsystem_major=0006,osversion_major=0006,osversion_minor=0000,image_charact=2022,dll_charact=0160,machine=8664,contains_code=1,image_flags=44,loader_flags=00000000,header_size=00001000,file_size=00088000,checksum=00000000,cpu=x86_64} } 002c: get_handle_fd( handle=0010 ) 002c: *fd* 0010 -> 33 002c: get_handle_fd() = 0 { type=1, cacheable=1, access=000f000d, options=00000020 } 002c: map_view( mapping=0010, access=0000000c, base=7bc00000, size=0008a000, start=00000000, image={}, name=L"" ) 002c: map_view() = 0 002c: close_handle( handle=0010 ) 002c: close_handle() = 0 002c: *killed* exit_code=0 0024: *wakeup* signaled=0 0028: *process killed* 0024: get_new_process_info( info=0018 ) 0024: get_new_process_info() = 0 { success=0, exit_code=0 } 0024: close_handle( handle=0018 ) 0024: close_handle() = 0 0024: close_handle( handle=001c ) 0024: close_handle() = 0 0024: close_handle( handle=0020 ) 0024: close_handle() = 0 0024:err:environ:run_wineboot failed to start wineboot c00000e5 --- snip --- --- snip --- ... 197233 [00007f0fd3999e58] openat(AT_FDCWD, "/home/focht/projects/wine/mainline-install-x86_64/lib64/wine/../libwine.so.1", O_RDONLY|O_CLOEXEC) = 5 197233 [00007f0fd3999f18] read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340S\0\0\0\0\0\0"..., 832) = 832 197233 [00007f0fd3999c29] fstat(5, {st_dev=makedev(0xfd, 0x1), st_ino=17303661, st_mode=S_IFREG|0755, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096, st_blocks=3552, st_size=1814872, st_atime=1614066732 /* 2021-02-23T08:52:12.054585211+0100 */, st_atime_nsec=54585211, st_mtime=1614065911 /* 2021-02-23T08:38:31.009388764+0100 */, st_mtime_nsec=9388764, st_ctime=1614065911 /* 2021-02-23T08:38:31.011388771+0100 */, st_ctime_nsec=11388771}) = 0 197233 [00007f0fd399a076] mmap(NULL, 1534656, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7f0fc61f0000 197233 [00007f0fd399a12b] mprotect(0x7f0fc61f5000, 1499136, PROT_NONE) = 0 197233 [00007f0fd399a076] mmap(0x7f0fc61f5000, 36864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x5000) = 0x7f0fc61f5000 197233 [00007f0fd399a076] mmap(0x7f0fc61fe000, 1458176, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0xe000) = 0x7f0fc61fe000 197233 [00007f0fd399a076] mmap(0x7f0fc6363000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x172000) = 0x7f0fc6363000 197233 [00007f0fd399a076] mmap(0x7f0fc6366000, 2752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f0fc6366000 197233 [00007f0fd3999d1b] close(5) = 0 197233 [00007f0fd399a12b] mprotect(0x7f0fc6363000, 8192, PROT_READ) = 0 197233 [00007f0fd36d4f3f] --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPN, si_addr=0x7f0fd36d4f3f} --- 197231 [00007f71720c39da] <... epoll_wait resumed>[], 128, 16) = 0 197231 [00007f71720c39da] epoll_wait(9, [], 128, 16) = 0 197231 [00007f71720c39da] epoll_wait(9, [], 128, 16) = 0 197231 [00007f71720c39da] epoll_wait(9, [], 128, 16) = 0 197231 [00007f71720c39da] epoll_wait(9, <unfinished ...> 197233 [????????????????] +++ killed by SIGILL (core dumped) +++ ... --- snip --- $ wine --version wine-6.2-271-g4981785f0fb Regards -- 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=50713 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download -- 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=50713 Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair(a)hotmail.com -- 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=50713 --- Comment #3 from Jacek Caban <jacek(a)codeweavers.com> --- Created attachment 69464 --> https://bugs.winehq.org/attachment.cgi?id=69464 xsavec 64-bit Wine generally works here, but I'm not on my main dev box now, so my testing is limited. I think that I can see the problem and the attached patch (together with previous one) may help. I will take a better look later today. -- 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=50713 --- Comment #4 from Jacek Caban <jacek(a)codeweavers.com> --- I couldn't reproduce reported behaviour on my main box neither, but I wrote tests that confirmed problems that I spotted earlier today. I sent patches to Wine: https://source.winehq.org/patches/data/200452 https://source.winehq.org/patches/data/200453 https://source.winehq.org/patches/data/200454 Please test if they fix this bug. -- 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=50713 --- Comment #5 from Anastasius Focht <focht(a)gmx.net> --- Hello Jacek, --- quote --- Please test if they fix this bug. --- quote --- it still doesn't work for me. Applied all three patches on top of current master HEAD and did a clean rebuild. --- snip --- $ git log --oneline -4 3b5d259b10e (HEAD -> master) ntdll: Fix compacted legacy xsave area handling. 48e911ffd81 ntdll: Make cpu_info global. f40816e6ca7 ntdll: Use syscall frame in x86_64 call_raise_user_exception_dispatcher implementation. 4981785f0fb (origin/master, github-rmi1974/master) msvcirt: Implement remainder of fstream class. --- snip --- --- snip --- $ wine --version wine-6.2-274-g3b5d259b10e $ rm -rf ~/.wine $ wineboot wine: created the configuration directory '/home/focht/.wine' 0024:err:environ:run_wineboot failed to start wineboot c00000e5 0024:err:wineboot:main failed to restart 64-bit L"C:\\windows\\system32\\wineboot.exe", err 1359 --- snip --- Regards -- 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=50713 --- Comment #6 from Jacek Caban <jacek(a)codeweavers.com> --- Created attachment 69468 --> https://bugs.winehq.org/attachment.cgi?id=69468 Fix XSAVEC detection. I think I can see the problem, please try the attached patch on top of others. -- 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=50713 --- Comment #7 from Anastasius Focht <focht(a)gmx.net> --- Hello Jacek, --- quote --- I think I can see the problem, please try the attached patch on top of others. --- quote --- unfortunately it still fails: --- snip --- $ wineboot wine: created the configuration directory '/home/focht/.wine' 0024:err:environ:run_wineboot failed to start wineboot c00000e5 0024:err:wineboot:main failed to restart 64-bit L"C:\\windows\\system32\\wineboot.exe", err 1359 --- snip --- My cpu info, first core (older i7 Haswell system): --- snip --- $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 60 model name : Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz stepping : 3 microcode : 0x28 cpu MHz : 2535.383 cache size : 6144 KB physical id : 0 siblings : 8 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d vmx flags : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds bogomips : 4789.04 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: ... --- snip --- * xsave * xsaveopt Regards -- 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=50713 --- Comment #8 from Jacek Caban <jacek(a)codeweavers.com> --- I see, cpuid check is wrong. I will prepare a fix tomorrow, sorry for the mess. -- 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=50713 Jacek Caban <jacek(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #69458|0 |1 is obsolete| | Attachment #69464|0 |1 is obsolete| | Attachment #69468|0 |1 is obsolete| | --- Comment #9 from Jacek Caban <jacek(a)codeweavers.com> --- Created attachment 69471 --> https://bugs.winehq.org/attachment.cgi?id=69471 patch Could you please try this patch? It accumulates all previous ones 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=50713 --- Comment #10 from Anastasius Focht <focht(a)gmx.net> --- Hello Jacek, --- quote --- Could you please try this patch? It accumulates all previous ones as well. --- quote --- thanks, this works for me. Fingers crossed it makes it in *before* Wine 6.3 release on Friday. Regards -- 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=50713 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |7b95cdffa6b12eca9c10a6ab45b | |50fcf1f9fa3a4 --- Comment #11 from Anastasius Focht <focht(a)gmx.net> --- Hello folks, this is fixed by commit https://source.winehq.org/git/wine.git/commitdiff/7b95cdffa6b12eca9c10a6ab45... ("ntdll: Use the right cpuid for XSAVEC detection."). Thanks Jacek $ wine --version wine-6.2-360-g1649389edca Regards -- 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=50713 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #12 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 6.3. -- 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 (1)
-
WineHQ Bugzilla