[Bug 48973] New: eDrawings 2015 (.NET 4.0 app) crashes on startup (needs 'Win32_VideoController' WMI class 'AdapterCompatibility' property)

WineHQ Bugzilla wine-bugs at winehq.org
Sun Apr 19 15:12:43 CDT 2020


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

            Bug ID: 48973
           Summary: eDrawings 2015 (.NET 4.0 app) crashes on startup
                    (needs 'Win32_VideoController' WMI class
                    'AdapterCompatibility' property)
           Product: Wine
           Version: 5.6
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: wmi&wbemprox
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

as it says.

The current vendor downloads are linking to 2020 release which requires .NET
Framework 4.7.2

https://www.edrawingsviewer.com/download-edrawings

https://dl-ak.solidworks.com/nonsecure/edrawings/e2020sp02/28.2.0.0046-C97JWRIC/pfw//eDrawingsFullAllX64.exe

I've found eDrawings 2015 release which is using .NET Framework 4.0

https://softfamous.com/postdownload-file/edrawings-viewer/749/168/

Created snapshot via Internet Archive:

https://web.archive.org/web/20200419191626/http://fs3.softfamous.com/downloads/tname-290275cb0f191/software/eDrawingsAllX64.exe

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Common Files/eDrawings2015

$ WINEDEBUG=+seh,+loaddll,+wbemprox,+variant,+ole wine ./eDrawings.exe 
...
0047:trace:wbemprox:wbem_services_ExecQuery 0000000024D18A90, L"WQL", L"select
* from Win32_VideoController where NOT PNPDeviceID LIKE 'ROOT%'", 0x00000010,
0000000000000000, 000000000052CEF8
0047:trace:wbemprox:grab_table returning 0000000033D4AB80
0047:trace:wbemprox:parse_query wql_parse returned 0
0047:trace:wbemprox:fill_videocontroller created 1 rows
0047:trace:wbemprox:EnumWbemClassObject_create 000000000052CEF8
0047:trace:wbemprox:EnumWbemClassObject_create returning iface 0000000024CBA460
...
0047:trace:wbemprox:class_object_Get 0000000024D1BDB0, L"AdapterCompatibility",
00000000, 000000000052CF50, 0000000001B14820, 0000000001B14824
0047:trace:variant:VariantClear (000000000052CF50 {VT_EMPTY})
0047:trace:ole:GetErrorInfo (0, 000000000052CFE0, 0000000000000000)
...
0047:fixme:wmiutils:status_code_GetErrorCodeText 0000000024D17D00, 0x80041002,
0x0000, 0x00000001, 000000000052CF78
0047:trace:ole:SysAllocStringLen L"Error code: 0x80041002"
0047:trace:seh:raise_exception code=e0434352 flags=1 addr=0x7b00f655
ip=7b00f655 tid=0047
0047:trace:seh:raise_exception  info[0]=ffffffff80131501
0047:trace:seh:raise_exception  info[1]=0000000000000000
0047:trace:seh:raise_exception  info[2]=0000000000000000
0047:trace:seh:raise_exception  info[3]=0000000000000000
0047:trace:seh:raise_exception  info[4]=000006447f100000
0047:trace:seh:raise_exception  rax=000000000052cd38 rbx=0000000001182780
rcx=000000000052cd18 rdx=0000000000000028
0047:trace:seh:raise_exception  rsi=0000000000000005 rdi=0000000000000001
rbp=000000000052d0c0 rsp=000000000052ccf0
0047:trace:seh:raise_exception   r8=0000000000000028  r9=000000000052ce88
r10=0000000000000059 r11=00000644800121d0
0047:trace:seh:raise_exception  r12=0000000000000005 r13=000000000052ce88
r14=00000000e0434352 r15=0000000000001200
--- snip ---

Managed backtrace:

--- snip ---
System.Management.ManagementException: Error code: 0x80041002
   at
System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus
errorCode)
   at System.Management.PropertyDataCollection.get_Item(String propertyName)
   at System.Management.ManagementBaseObject.GetPropertyValue(String
propertyName)
   at SolidWorks.EvaluateGraphicsClient.EDrawingsGraphicsCardClient.Init(String
edwRegistryLocation, String edwDownloadedDBLocation)
   at eDrawings.MultipleInstanceSDIApplication.GetGraphicsCardInfo()
   at eDrawings.MultipleInstanceSDIApplication.OnStartup(StartupEventArgs e)
   at System.Windows.Application.<.ctor>b__1(Object unused)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate
callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source,
Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Threading.ExecutionContext.runTryCode(Object userData)
   at
System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode
code, CleanupCode backoutCode, Object userData)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,
ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,
ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg,
IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam,
IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate
callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source,
Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority
priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr
wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at eDrawings.SingleInstanceManager.OnStartup(StartupEventArgs e)
   at
Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
   at
Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[]
commandLine)
   at eDrawings.EntryPoint.Main(String[] args)
--- snip ---

Wine source:

https://source.winehq.org/git/wine.git/blob/59987bc9ecdd0dbafd768a95c21a14884bc77c07:/dlls/wbemprox/builtin.c#l1320

--- snip --
1320 struct record_videocontroller
1321 {
1322     const WCHAR *adapter_dactype;
1323     UINT32       adapter_ram;
1324     UINT16       availability;
1325     const WCHAR *caption;
1326     UINT32       config_errorcode;
1327     UINT32       current_bitsperpixel;
1328     UINT32       current_horizontalres;
1329     UINT32       current_refreshrate;
1330     UINT16       current_scanmode;
1331     UINT32       current_verticalres;
1332     const WCHAR *description;
1333     const WCHAR *device_id;
1334     const WCHAR *driverdate;
1335     const WCHAR *driverversion;
1336     const WCHAR *installeddriver;
1337     const WCHAR *name;
1338     const WCHAR *pnpdevice_id;
1339     const WCHAR *status;
1340     UINT16       videoarchitecture;
1341     UINT16       videomemorytype;
1342     const WCHAR *videomodedescription;
1343     const WCHAR *videoprocessor;
1344 };
--- snip --

Microsoft docs:

https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-videocontroller

--- snip ---
AdapterCompatibility

    Data type: string
    Access type: Read-only
    Qualifiers: MappingStrings ("Win32Registry")
    General chipset used for this controller to compare compatibilities with
the system.
--- snip ---

BTW can someone start converting 'wbemprox' module to use wide character string
literals? It frequently annoys me that I still need to use magic to perform a
simple grep in that module.

$ sha1sum eDrawingsAllX64.exe 
8a79eb38f30131821ab80a70992d0b5ef92d3b3f  eDrawingsAllX64.exe

$ du -sh eDrawingsAllX64.exe 
135M    eDrawingsAllX64.exe

$ wine --version
wine-5.6-193-g59987bc9ec

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