http://bugs.winehq.org/show_bug.cgi?id=33642
Bug #: 33642 Summary: Microsoft SQL Server Management Studio Express 2005: restarting SQL server fails randomly Product: Wine Version: 1.5.30 Platform: x86 URL: http://www.microsoft.com/download/en/details.aspx?id=8 961 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wmi&wbemprox AssignedTo: wine-bugs@winehq.org ReportedBy: djelinski1@gmail.com Classification: Unclassified
Now that Bug #33607 is out of the way, it is possible to restart SQL Server service. The application first stops the service, then checks if it is stopped, and if it is, tries to start it. Starting the service quite often throws an exception, and stack trace reported by the application points to wbemprox.
From the initial investigation it seems to me that calling StartService
temporarily invalidates all existing instances of the service object. Here one thread tries to get SystemName property from the object while another thread tries to restart the service, and getting property throws an exception.
Relevant pieces of +wbemprox,+seh,+tid trace:
0057:trace:wbemprox:wbem_services_GetObject 0x46cad18, L"Win32_Service.Name="MSSQLSERVER"", 0x00000000, (nil), 0xe45dab0, (nil) ... 0057:trace:wbemprox:create_class_object returning iface 0x472eda0 0057:trace:wbemprox:class_object_Get ((nil)) 0x472eda0, L"__PATH", 00000000, 0xe45dc28, 0xe45dd0c, 0xe45dd08 0057:fixme:ole:Context_QueryInterface interface not implemented {51372ae0-cae7-11cf-be81-00aa00a2fa25} 0057:trace:wbemprox:class_object_Get ((nil)) 0x472eda0, L"State", 00000000, 0xe45dc74, 0x1691a54, 0x1691a58 ... 0057:trace:wbemprox:class_object_Get ((nil)) 0x472eda0, L"StartMode", 00000000, 0xe45dd14, 0x1691ec8, 0x1691ecc ... 002f:trace:wbemprox:class_object_Get ((nil)) 0x472eda0, L"SystemName", 00000000, 0x32e380, 0x1696178, 0x169617c 002f:trace:wbemprox:class_object_Get ((nil)) 0x472eda0, L"Name", 00000000, 0x32e37c, 0x16963d8, 0x16963dc ... 0057:trace:wbemprox:wbem_services_ExecMethod 0x46cad18, L"Win32_Service.Name="MSSQLSERVER"", L"StartService", 00000000, (nil), (nil), 0xe45da98, (nil) 0057:trace:wbemprox:grab_table returning 0x7d0b6f90 0057:trace:wbemprox:parse_query wql_parse returned 0 002f:trace:wbemprox:class_object_Get ((nil)) 0x472eda0, L"SystemName", 00000000, 0x32e37c, 0x16965cc, 0x16965d0 002f:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7d0a82c0 ip=7d0a82c0 tid=002f