kee-org / KeeFox

Legacy browser and XUL application integration with KeePass Password Safe. See https://github.com/kee-org/browser-addon for the new version for Firefox 57+
https://forum.kee.pm
418 stars 48 forks source link

Unhandled Exception in KeePassRPC with Wine on OSX #556

Closed andredasilvapinto closed 9 years ago

andredasilvapinto commented 9 years ago

With dotnet40 installed via winetricks, when I try to run keepass with KeePassRPC.plgx via wine (1.6.2) I get this (it works without the plugin):

Unhandled Exception: System.InvalidOperationException: This operation has already had OperationCompleted called on it and further calls are illegal.
   at System.ComponentModel.AsyncOperation.VerifyNotCompleted()
   at System.ComponentModel.AsyncOperation.Post(SendOrPostCallback d, Object arg)
   at System.ComponentModel.BackgroundWorker.ReportProgress(Int32 percentProgress, Object userState)
   at KeePassRPC.KeePassRPCExt.InvokeMainThread(Delegate method, Object[] args)
   at KeePassRPC.KeePassRPCClientConnection.ShuttingDown()
   at KeePassRPC.KeePassRPCClientManager.RemoveRPCClientConnection(KeePassRPCClientConnection client)
   at KeePassRPC.KeePassRPCExt.RemoveRPCClientConnection(IWebSocketConnection webSocket)
   at KeePassRPC.KeePassRPCServer.<>c__DisplayClass3.<InitSocket>b__1()
   at Fleck2.WebSocketConnection.CloseSocket()
   at Fleck2.WebSocketConnection.<SendBytes>b__e(Exception e)
   at Fleck2.SocketResult.Error[TResult](Action`1 callback)
   at Fleck2.SocketWrapper.<>c__DisplayClassf.<Send>b__e(SocketResult result)
   at Fleck2.SocketFactory.<>c__DisplayClass16.<DoAsyncTask>b__15(Object )
   at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Is there any additional dependency that you are aware I should install in order to run the plugin via wine?

Thanks.

andredasilvapinto commented 9 years ago

after installing dotnet20 and gdiplus it now works :)

andredasilvapinto commented 9 years ago

"kind of" works. it doesn't trigger the exception but it doesn't load the plugin either.

wine cli output:

fixme:thread:SetThreadStackGuarantee (0x32fc74): stub
err:ole:CoGetContextToken apartment not initialised
fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms"
fixme:shell:URL_ParseUrl failed to parse L"System"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing"
fixme:shell:URL_ParseUrl failed to parse L"System"
fixme:shell:URL_ParseUrl failed to parse L"System.Xml"
fixme:shell:URL_ParseUrl failed to parse L"Accessibility"
fixme:advapi:RegisterTraceGuidsW (0xbee632, 0x0, {8e9f5090-2d75-4d03-8a81-e5afbf85daf1}, 1, 0x32d7cc, (null), (null), 0xf6b530,): stub
fixme:shell:URL_ParseUrl failed to parse L"System.Configuration"
fixme:shell:URL_ParseUrl failed to parse L"System.Xml"
fixme:shell:URL_ParseUrl failed to parse L"KeePass.XmlSerializers"
fixme:shell:URL_ParseUrl failed to parse L"KeePass"
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
fixme:advapi:LsaOpenPolicy ((null),0x32ed70,0x00000800,0x32ed48) stub
fixme:advapi:LsaClose (0xcafe) stub
fixme:win:EnumDisplayDevicesW ((null),0,0x32c058,0x00000000), stub!
fixme:shell:URL_ParseUrl failed to parse L"KeePass.resources"
fixme:shell:URL_ParseUrl failed to parse L"KeePass.resources"
fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms"
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
fixme:richedit:ME_HandleMessage EM_GETLANGOPTIONS: stub
fixme:richedit:ME_HandleMessage EM_GETLANGOPTIONS: stub
fixme:richedit:ME_HandleMessage EM_SETLANGOPTIONS: stub
fixme:richedit:ME_HandleMessage ECO_AUTOWORDSELECTION not implemented yet!
fixme:shell:SHAutoComplete stub
fixme:wtsapi:WTSRegisterSessionNotification Stub 0x8005a 0x00000000
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
fixme:process:FlushProcessWriteBuffers : stub
fixme:wincodecs:ComponentFactory_CreateEncoder ignoring vendor GUID
fixme:wincodecs:PropertyBag_Write Application tried to set the unknown option L"FilterOption".
fixme:commctrl:TaskDialogIndirect 0x579dc34, 0x579dd3c, 0x579dd38, 0x579dc24