Bugtracker DMXControl 3

  • Status geschlossen
  • Prozent erledigt
    100%
  • Aufgabentyp Bug
  • Kategorie GUI & Server → Server
  • zuständig
    Soon5
  • Betriebssystem All
  • Schweregrad niedrig
  • betrifft Version Alpha 5
  • fällig in Version unbestimmt
  • fällig am unbestimmt
  • Stimmen
  • versteckt
gehört zu Projekt: DMXControl 3
angelegt von fisl - 24.10.2012
zuletzt bearbeitet von Soon5 - 25.10.2012

FS#1103 - Speichern

Hast du in letzer Zeit was grundlegendes am Speichern geändert?
Ich habe jetzt laufend Deadlocks beim Beenden.

 MainThread
lock(this.managerRoot)

 	[In a sleep, wait, or join]	
>	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.AbstractRunManager<Lumos.GUI.Run.IGuiManager,Lumos.GUI.Run.IGuiService>.DoManagerButtomUp(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the current thread is in a sleep, wait, or join}) Line 109 + 0x11 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.AbstractRunManager<Lumos.GUI.Run.IGuiManager,Lumos.GUI.Run.IGuiService>.stopManager() Line 265 + 0x134 bytes	C#
 	LumosGUI.exe!Lumos.GUI.Run.GuiRunManager.shutdownGui() Line 70 + 0x8 bytes	C#
 	LumosGUI.exe!Lumos.GUI.Program.runGui(string[] param = {string[0]}) Line 121 + 0x12 bytes	C#
 	LumosGUI.exe!Lumos.GUI.Program.Main(string[] param = {string[0]}) Line 91 + 0x9 bytes	C#
 	[Native to Managed Transition]	
 	[Managed to Native Transition]	
 	mscorlib.dll!System.AppDomain.ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args) + 0x3a bytes	
 	Microsoft.VisualStudio.HostingProcess.Utilities.dll!Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() + 0x2b bytes	
 	mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) + 0x66 bytes	
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x6f bytes	
 	mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x44 bytes	
w.Invoke(new MethodInvoker(w.saveProject));

 	mscorlib.dll!System.Threading.WaitHandle.WaitOne(long timeout, bool exitContext) + 0x2f bytes	
 	mscorlib.dll!System.Threading.WaitHandle.WaitOne(int millisecondsTimeout, bool exitContext) + 0x25 bytes	
 	System.Windows.Forms.dll!System.Windows.Forms.Control.WaitForWaitHandle(System.Threading.WaitHandle waitHandle = {System.Threading.ManualResetEvent}) + 0x89 bytes	
 	System.Windows.Forms.dll!System.Windows.Forms.Control.MarshaledInvoke(System.Windows.Forms.Control caller, System.Delegate method, object[] args, bool synchronous) + 0x31c bytes	
 	System.Windows.Forms.dll!System.Windows.Forms.Control.Invoke(System.Delegate method, object[] args) + 0x50 bytes	
 	System.Windows.Forms.dll!System.Windows.Forms.Control.Invoke(System.Delegate method) + 0x7 bytes	
>	LumosGUI.exe!Lumos.GUI.WindowManager.Lumos.GUI.Run.IGuiProjectManager.saveProject(Lumos.GUI.Run.LumosIOContext context = {Lumos.GUI.Run.LumosIOContext}) Line 1280 + 0x41 bytes	C#
 	LumosGUI.exe!Lumos.GUI.Run.GuiRunManager.saveProject.AnonymousMethod(Lumos.GUI.Run.IGuiManager m = {Lumos.GUI.WindowManager}) Line 235 + 0x1b bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 31 + 0x11 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.DependencyNode<Lumos.GUI.Run.IGuiManager>.DoButtomUpAction(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 29 + 0x10 bytes	C#
 	LumosLIB.dll!org.dmxc.lumos.Kernel.Run.AbstractRunManager<Lumos.GUI.Run.IGuiManager,Lumos.GUI.Run.IGuiService>.DoManagerButtomUp(System.Func<Lumos.GUI.Run.IGuiManager,bool> action = {Method = Cannot evaluate expression because the code of the current method is optimized.}) Line 110 + 0x10 bytes	C#
 	LumosGUI.exe!Lumos.GUI.Run.GuiRunManager.saveProject(Lumos.GUI.Run.LumosIOContext context = {Lumos.GUI.Run.LumosIOContext}) Line 232 + 0x29 bytes	C#
 	LumosGUI.exe!Lumos.GUI.Connection.ConnectionManager.saveProject() Line 985 + 0x15 bytes	C#
 	[Native to Managed Transition]	
 	[Managed to Native Transition]	
 	mscorlib.dll!System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(System.RuntimeMethodHandle md, object[] args, object server, int methodPtr, bool fExecuteInContext, out object[] outArgs) + 0x23 bytes	
 	mscorlib.dll!System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage msg, int methodPtr, bool fExecuteInContext) + 0x13b bytes	
 	mscorlib.dll!System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage msg) + 0xc bytes	
 	mscorlib.dll!System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage reqMsg) + 0x55 bytes	
 	mscorlib.dll!System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage reqMsg) + 0x71 bytes	
 	mscorlib.dll!System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessageCallback(object[] args) + 0x7f bytes	
 	mscorlib.dll!System.Runtime.Remoting.Channels.ChannelServices.DispatchMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage msg = {System.Runtime.Remoting.Messaging.MethodCall}, out System.Runtime.Remoting.Messaging.IMessage replyMsg = null) + 0x22e bytes	
 	mscorlib.dll!System.Runtime.Remoting.Channels.DispatchChannelSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage requestMsg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, out System.Runtime.Remoting.Messaging.IMessage responseMsg, out System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders, out System.IO.Stream responseStream) + 0x32 bytes	
 	System.Runtime.Remoting.dll!System.Runtime.Remoting.Channels.SoapServerFormatterSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage requestMsg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, out System.Runtime.Remoting.Messaging.IMessage responseMsg, out System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders, out System.IO.Stream responseStream) + 0x6a bytes	
 	System.Runtime.Remoting.dll!System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack = {System.Runtime.Remoting.Channels.ServerChannelSinkStack}, System.Runtime.Remoting.Messaging.IMessage requestMsg = {System.Runtime.Remoting.Messaging.MethodCall}, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, out System.Runtime.Remoting.Messaging.IMessage responseMsg = null, out System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders = null, out System.IO.Stream responseStream = null) + 0x3bc bytes	
 	System.Runtime.Remoting.dll!System.Runtime.Remoting.Channels.Ipc.IpcServerTransportSink.ServiceRequest(object state) + 0x172 bytes	
 	System.Runtime.Remoting.dll!System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow() + 0x34 bytes	
 	System.Runtime.Remoting.dll!System.Runtime.Remoting.Channels.RequestQueue.ProcessNextRequest(System.Runtime.Remoting.Channels.SocketHandler sh) + 0x17 bytes	
 	System.Runtime.Remoting.dll!System.Runtime.Remoting.Channels.SocketHandler.BeginReadMessageCallback(System.IAsyncResult ar) + 0xb6 bytes	
 	System.Runtime.Remoting.dll!System.Runtime.Remoting.Channels.Ipc.IpcPort.AsyncFSCallback(uint errorCode, uint numBytes, System.Threading.NativeOverlapped* pOverlapped) + 0x50 bytes	
 	mscorlib.dll!System.Threading._IOCompletionCallback.PerformIOCompletionCallback(uint errorCode, uint numBytes, System.Threading.NativeOverlapped* pOVERLAP) + 0x54 bytes	
geschlossen von  Soon5
25.10.2012 14:48
Grund für das Schließen:  Repariert
Kommentar zum Schließen:  

Gefixt.

Project Manager
Soon5 schrieb am 24.10.2012 19:42

Hy Dennis,

Also mit der aktuell eingecheckten Version habe ich keine Probleme (zumindest was das Speichern angeht), und ich verwende die jetzt seit Montag im Live Einsatz.

Gruß Arne

Project Manager
fisl schrieb am 24.10.2012 19:49

Ergänzung:
Ich benutze Speichern nicht.

Die Gui wird geschlossen → MainThread shutdownGui (braucht später lock auf managerRoot)
Kernel wird geschlossen → Gui → saveProject (während die Gui noch schliesst, lockt managerRoot, Invoke bla. Kannst ja selber lesen :)

Da das auch im LV Manager aufgetreten ist und früher mir nix aufgefallen ist, würde mich interessieren, ob sich da was geändert hat (Gui soll speichern während die schon schliesst)

Project Manager
fisl schrieb am 24.10.2012 20:03

Der ist sogar 100% reproduzierbar bei mir.

1) Gui beenden, Really? Yes, Save? No
2) Sofort danach Kernel beenden

Lade...

verfügbare Tastenkürzel

Aufgabenliste

Aufgabendetails

Aufgabenbearbeitung