[Bug 43961] ntdll/info tests crash on arm

WineHQ Bugzilla wine-bugs at winehq.org
Mon May 25 05:35:26 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=43961

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |NEW
                 CC|                            |focht at gmx.net

--- Comment #6 from Anastasius Focht <focht at gmx.net> ---
Hello Austin,

I'm seeing a crash as well but it looks different from yours:

test_query_process -> alignment fault when accessing members in
SYSTEM_PROCESS_INFORMATION array

--- snip ---
$ WINEDEBUG=+seh,+relay,+ntdll,+server wine ./ntdll_test.exe.so info >>log.txt
2>&1
...
Starting test_query_process()
...
0024:Call ntdll.NtQuerySystemInformation(00000005,80615df0,000003e0,8011fa40)
ret=7fa433f8
0024:trace:ntdll:NtQuerySystemInformation
(0x00000005,0x80615df0,0x000003e0,0x8011fa40)
0024: create_snapshot( attributes=00000000, flags=00000003 )
0024: create_snapshot() = 0 { handle=005c }
0024: next_process( handle=005c, reset=1 )
0024: next_process() = 0 { count=3, pid=0020, ppid=0000, threads=1, priority=2,
handles=32, unix_pid=1358,
filename=L"E:\\home\\focht\\projects\\wine\\mainline-build-arm\\dlls\\ntdll\\tests\\ntdll_test.exe"
}
0024: next_thread( handle=005c, reset=1 )
0024: next_thread() = 0 { count=2, pid=0080, tid=00a4, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=4, pid=0080, tid=00a0, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=5, pid=0080, tid=009c, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=3, pid=0038, tid=0090, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=4, pid=004c, tid=008c, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=4, pid=004c, tid=0088, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=2, pid=0080, tid=0084, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=2, pid=004c, tid=0074, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=4, pid=0044, tid=0068, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=4, pid=0044, tid=0064, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=5, pid=0044, tid=0060, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=3, pid=0038, tid=0054, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=2, pid=004c, tid=0050, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=2, pid=0044, tid=0048, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=4, pid=0038, tid=0040, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=2, pid=0038, tid=003c, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=2, pid=0030, tid=0034, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = 0 { count=3, pid=0020, tid=0024, base_pri=0, delta_pri=0
}
0024: next_thread( handle=005c, reset=0 )
0024: next_thread() = NO_MORE_FILES { count=0, pid=0000, tid=0000, base_pri=0,
delta_pri=0 }
0024: next_process( handle=005c, reset=0 )
0024: next_process() = 0 { count=16, pid=0030, ppid=0028, threads=1,
priority=2, handles=64, unix_pid=1364,
filename=L"C:\\windows\\system32\\winemenubuilder.exe" }
0024:trace:seh:raise_exception code=80000002 flags=0 addr=0xf7712068
pc=f7712068 tid=0024
0024:trace:seh:raise_exception  r0=80615f0e r1=00000000 r2=ffffffff r3=80615ffe
r4=8011f11c r5=80615f06
0024:trace:seh:raise_exception  r6=000000f8 r7=8011f118 r8=00000001 r9=80615df0
r10=0000005c r11=8011e998
0024:trace:seh:raise_exception  r12=00000000 sp=8011e8a0 lr=f7712068
pc=f7712068 cpsr=800f0010
0024:trace:seh:call_stack_handlers calling handler at 0x7fc35a78 code=80000002
flags=0
0024:Call kernelbase.UnhandledExceptionFilter(8011e628) ret=7fc35aa8
...
Unhandled exception: Alignment in 32-bit code (0xf7712068).
Register dump:
ARM User Mode
 Pc:f7712068 Sp:8011e8a0 Lr:f7712068 Cpsr:800f0010(N---)
 r0:80615f0e r1:00000000 r2:ffffffff r3:80615ffe
 r4:8011f11c r5:80615f06 r6:000000f8 r7:8011f118
 r8:00000001 r9:80615df0 r10:0000005c r11:8011e998 r12:00000000
Stack dump:
0x8011e8a0:  00000005 80615df0 000003e0 8011fa40
0x8011e8b0:  f78bfc10 f789fd34 00000002 00000000
0x8011e8c0:  8011edf0 00000024 00000002 f781923d
0x8011e8d0:  00000236 f78bfc10 000003e0 8011f198
0x8011e8e0:  00000028 00000004 00000001 8011e920
0x8011e8f0:  8011f1c0 8011fa40 0000005c 00000000
Backtrace:
=>0 0xf7712068 (0x8011e998)
0xf7712068: 
    stmia    r5, {r6, r8}
Modules:
Module    Address            Debug info    Name (13 modules)
PE    7f1b0000-7f1b4000    Deferred        imm32
PE    7f340000-7f344000    Deferred        msvcrt
PE    7f3f0000-7f3f7000    Deferred        gdi32
PE    7f520000-7f524000    Deferred        rpcrt4
PE    7f5b0000-7f5b3000    Deferred        sechost
PE    7f600000-7f604000    Deferred        advapi32
PE    7f670000-7f674000    Deferred        ucrtbase
PE    7f760000-7f76f000    Deferred        setupapi
PE    7f7f0000-7f8d8000    Deferred        user32
PE    7fb20000-7fb27000    Deferred        kernelbase
PE    7fbf0000-7fdab000    Deferred        kernel32
PE    80000000-80004000    Deferred        version
PE    f76b0000-f76b4000    Deferred        ntdll 
--- snip ---

r5 = spi = next (second) SPI struct in array

Your crash in comment #2 is definitely different from the original backtrace in
comment #0. Maybe some trace will help.

--- snip ---
$ WINEDEBUG=+seh,+relay,+ntdll,+server wine ./ntdll_test.exe.so info >>log.txt
2>&1
--- snip ---

Filter out everything except the faulting thread to reduce the log ('grep
<tid:> log.txt > <tid>.txt').

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.



More information about the wine-bugs mailing list