[Bug 47782] New: Segmentation fault and exceptions using ManagementClass
WineHQ Bugzilla
wine-bugs at winehq.org
Thu Sep 19 04:37:34 CDT 2019
https://bugs.winehq.org/show_bug.cgi?id=47782
Bug ID: 47782
Summary: Segmentation fault and exceptions using
ManagementClass
Product: Wine
Version: 4.15
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs at winehq.org
Reporter: dridi.boukelmoune at gmail.com
Distribution: ---
Originally reported on Fedora's bugzilla for Wine 4.12 (Fedora includes
wine-staging) and still happening with Wine 4.15, I'm now throwing the towel as
I failed to debug this by myself. I'm interested in commit hashes if a fix is
merged, and general pointers on how to deal with this in the future. For
example I couldn't get a full back trace when building the master branch and
never managed to print arguments up the stack with WineDbg.
https://bugzilla.redhat.com/show_bug.cgi?id=1734794
I can reliably reproduce the C# exceptions and the segfault on my system
(either using Fedora packages or building the master branch with or without
wine-staging):
$ cat test.cs
using System;
using System.Management;
class Test {
static void Main(string[] args) {
ManagementClass mc = new ManagementClass(args[0]);
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc) {
Console.Write("{0}\n", mo);
foreach (PropertyData pd in mo.Properties)
Console.Write("\t{0} => {1}\n", pd.Name,
pd.Value);
}
moc.Dispose();
mc.Dispose();
}
}
$ mcs /reference:System.Management.dll test.cs
$ ./test.exe Win32_OperatingSystem # OK
$ ./test.exe Win32_PhysicalMemory # OK
$ ./test.exe Win32_SoundDevice # OK
$ ./test.exe Win32_Processor # System.InvalidCastException
$ ./test.exe Win32_VideoController # System.InvalidCastException
$ ./test.exe Win32_DesktopMonitor # System.InvalidCastException
$ ./test.exe Win32_DisplayControllerConfiguration # SIGSEGV
The problem on the current master branch is the same as when I first reported
the segfault to Fedora, except that things moved around a bit:
0x0000000067753b3e build_relpath+0x37 [dlls\wbemprox\query.c:866] in wbemprox:
movq (%rax),%rax
866 struct table *table = view->table[table_index];
Again, view->table is null when test.exe is run with
Win32_DisplayControllerConfiguration, and for other paths the results are the
same (no regression nor improvement).
Obviously my testing is not comprehensive, there may be other problematic
management paths but those are the ones I came across. I will happily test
patches if requested.
--
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