BTW, I reproduced this and fixed it. On Wed, Feb 4, 2009 at 7:39 PM, Matt Burton <[email protected]> wrote:
> > I tried and failed to reproduce the issue a couple of days ago but had > to move on to other things - sorry didn't remember to send and update > on my status. As I said before it is an intermittent problem - > something happens to cause a malformatted message to get added to the > subscription queue and during host startup when it's reading the > subscriptions it blows up when encountering this message. The > "shutdown bus" messages are sent to the endpoint queue, not the > subscription queue. As soon as I have free time I'll try it again - > whenever I'm able to reproduce it I'll be sure to send the actual > message to the list along with (hopefully) the circumstances under > which it occurred. > > On Wed, Feb 4, 2009 at 9:27 AM, Ayende Rahien <[email protected]> wrote: > > But this is never reaching into the actual app! > > > > On Wed, Feb 4, 2009 at 7:25 PM, Mike Nichols <[email protected]> > > wrote: > >> > >> Matt- > >> I think this is due to the bus shutdown message : "Shutdown bus" which > >> isn't formatted in xml. > >> > >> On Feb 2, 7:58 pm, Ayende Rahien <[email protected]> wrote: > >> > applied > >> > > >> > On Mon, Feb 2, 2009 at 2:02 PM, Matt Burton <[email protected]> > >> > wrote: > >> > > Yep - that's what I wound up doing. Figured out what was going wrong > - > >> > > see the attached patch - the shorthand versions of the command line > >> > > arguments aren't getting parsed correctly ("asm", "cfg", etc...) - > >> > > when the ExecutingOptions instance is converted to a string it uses > >> > > the short versions. I changed the ToString implementation to use the > >> > > long versions, which do get parsed correctly, and then that's the > >> > > string that gets written to the registry for the ImagePath. Good to > >> > > go. My service still wouldn't start at that point but luckily the > >> > > event log told me what was going on - service didn't have > permissions > >> > > for the queue - d'oh! :) I'm sure you would rather that the root > issue > >> > > with parsing the arguments is solved but unfortunately I need to > move > >> > > on at this point. If you want I could try to dig into that late > >> > > tonight. > >> > > >> > > While I've got you I've noticed an intermittent issue wherein I'll > >> > > have a problem starting a service, but my subscriptions were stored > >> > > before the process bombs. When I fix the issue and restart the > service > >> > > I get a deserialization error sometimes when it reads the > subscription > >> > > queue complaining about missing the root element in the document. > The > >> > > remedy is to purge the subscription queue and start over but it > would > >> > > be nice to know what's happening in the interim. Any ideas? > >> > > >> > > On Mon, Feb 2, 2009 at 1:19 PM, Ayende Rahien <[email protected]> > >> > > wrote: > >> > > > Put a System.Diagnostics.Debugger.Launch() in it. > >> > > >> > > > On Mon, Feb 2, 2009 at 11:16 PM, Matt Burton < > [email protected]> > >> > > wrote: > >> > > >> > > >> Ah - gotcha. Okay - I'll take a look - getting the ever helpful > >> > > >> "Service cannot be started. The service process could not connect > >> > > >> to > >> > > >> the service controller" message in the event log... > >> > > >> > > >> On Mon, Feb 2, 2009 at 1:12 PM, Ayende Rahien <[email protected] > > > >> > > wrote: > >> > > >> > That is an old version of the host. > >> > > >> > On Mon, Feb 2, 2009 at 11:08 PM, Matt Burton > >> > > >> > <[email protected]> > >> > > >> > wrote: > >> > > >> > > >> >> Alright - I'll give it a go and see if I can figure out what's > >> > > >> >> going > >> > > >> >> on. I know you said you were using RSB for the NHProf site - > how > >> > > >> >> are > >> > > >> >> you hosting the services for that? I'm looking to integrate > this > >> > > >> >> into > >> > > >> >> our current codebase and I'm keen on getting the host to work > so > >> > > >> >> I > >> > > >> >> don't have to go reinventing the wheel - but if there's a > >> > > >> >> simpler way > >> > > >> >> I can use in the interim I'm all ears... > >> > > >> > > >> >> On Mon, Feb 2, 2009 at 1:05 PM, Ayende Rahien > >> > > >> >> <[email protected]> > >> > > >> >> wrote: > >> > > >> >> > Not tested yet. > >> > > >> > > >> >> > On Mon, Feb 2, 2009 at 11:00 PM, Matt Burton < > >> > > [email protected]> > >> > > >> >> > wrote: > >> > > >> > > >> >> >> Excellent - thanks! Are you able to host and run services > >> > > >> >> >> now? > >> > > >> > > >> >> >> On Mon, Feb 2, 2009 at 3:27 AM, Ayende Rahien > >> > > >> >> >> <[email protected]> > >> > > >> >> >> wrote: > >> > > >> >> >> > applied > >> > > >> > > >> >> >> > On Fri, Jan 30, 2009 at 6:27 AM, Matt Burton > >> > > >> >> >> > <[email protected]> > >> > > >> >> >> > wrote: > >> > > >> > > >> >> >> >> Sure thing - there you go. This gets around the install > >> > > problem, > >> > > >> >> >> >> but > >> > > >> >> >> >> like I said, the service won't start - haven't been able > >> > > >> >> >> >> to dig > >> > > >> >> >> >> into > >> > > >> >> >> >> that to diagnose yet... > >> > > >> > > >> >> >> >> Thanks, > >> > > >> >> >> >> Matt > >> > > >> > > >> >> >> >> On Thu, Jan 29, 2009 at 6:44 PM, Ayende Rahien > >> > > >> >> >> >> <[email protected]> > >> > > >> >> >> >> wrote: > >> > > >> >> >> >> > Can you create a patch? It is hard for me to see what > >> > > >> >> >> >> > was > >> > > >> >> >> >> > changed. > >> > > >> > > >> >> >> >> > On Thu, Jan 29, 2009 at 6:23 PM, Matt Burton > >> > > >> >> >> >> > <[email protected]> > >> > > >> >> >> >> > wrote: > >> > > >> > > >> >> >> >> >> No matter what combination I try I wind up with the > >> > > following > >> > > >> >> >> >> >> error > >> > > >> >> >> >> >> when attempting to install a service using the > host... > >> > > >> > > C:\dev\rsb-spike\Services\bin\Debug>Rhino.ServiceBus.Host.exe > >> > > >> >> >> >> >> /action:Install /asm:"Services.dll" > >> > > >> >> >> >> >> /name:"ApplicationServices" > >> > > >> >> >> >> >> Installing service ApplicationServices... > >> > > >> >> >> >> >> Creating EventLog source ApplicationServices in log > >> > > >> >> >> >> >> Application... > >> > > >> >> >> >> >> System.InvalidOperationException: Cannot get service > >> > > >> >> >> >> >> file > >> > > >> >> >> >> >> name. > >> > > >> >> >> >> >> at > >> > > >> >> >> >> >> > >> > > >> >> >> >> >> > System.ServiceProcess.ServiceInstaller.Install(IDictionary > >> > > >> >> >> >> >> stateSaver) > >> > > >> >> >> >> >> at > >> > > >> >> >> >> >> > >> > > >> >> >> >> >> > System.Configuration.Install.Installer.Install(IDictionary > >> > > >> >> >> >> >> stateSaver) > >> > > >> >> >> >> >> at > >> > > >> > > Rhino.ServiceBus.Host.Actions.InstallAction.Execute(ExecutingOptions > >> > > >> >> >> >> >> options) in C:\dev\open-source\rhino-tools.ti > >> > > >> > > > >> > > > p\trunk\rhino-service.bus\Rhino.ServiceBus.Host\Actions\InstallAction.cs:line > >> > > >> >> >> >> >> 18 > >> > > >> >> >> >> >> at Rhino.ServiceBus.Host.Program.Main(String[] > args) > >> > > >> >> >> >> >> in > >> > > >> > > C:\dev\open-source\rhino-tools.tip\trunk\rhino-service.bus\Rh > >> > > >> >> >> >> >> ino.ServiceBus.Host\Program.cs:line 31 > >> > > >> > > >> >> >> >> >> I hacked on it for a bit and was able to get the > >> > > >> >> >> >> >> service to > >> > > >> >> >> >> >> install > >> > > >> >> >> >> >> by > >> > > >> >> >> >> >> changing the InstallAction implementation to the > >> > > >> >> >> >> >> following: > >> > > >> > > >> >> >> >> >> public void Execute(ExecutingOptions options) > >> > > >> >> >> >> >> { > >> > > >> > > >> >> >> >> >> var installer = new ProjectInstaller > >> > > >> >> >> >> >> { > >> > > >> >> >> >> >> DisplayName = options.Name, > >> > > >> >> >> >> >> Description = options.Name, > >> > > >> >> >> >> >> Context = new InstallContext() > >> > > >> >> >> >> >> }; > >> > > >> >> >> >> >> installer.Context.Parameters.Add("assemblypath", > >> > > >> >> >> >> >> this.GetType().Assembly.Location); > >> > > >> >> >> >> >> installer.Install(new Hashtable()); > >> > > >> >> >> >> >> using (var system = > >> > > >> >> >> >> >> Registry.LocalMachine.OpenSubKey("System")) > >> > > >> >> >> >> >> using (var currentControlSet = > >> > > >> >> >> >> >> system.OpenSubKey("CurrentControlSet")) > >> > > >> >> >> >> >> using (var services = > >> > > >> >> >> >> >> currentControlSet.OpenSubKey("Services")) > >> > > >> >> >> >> >> using (var service = > >> > > >> >> >> >> >> services.OpenSubKey(installer.ServiceName, > >> > > >> >> >> >> >> true)) > >> > > >> >> >> >> >> { > >> > > >> >> >> >> >> var path = > >> > > >> >> >> >> >> (string)service.GetValue("ImagePath"); > >> > > >> > > >> >> >> >> >> options.Action = Action.Server; > >> > > >> > > >> >> >> >> >> service.SetValue("ImagePath", path + options); > >> > > >> >> >> >> >> } > >> > > >> >> >> >> >> } > >> > > >> > > >> >> >> >> >> Notice the addition of the "assemblypath" context and > >> > > >> >> >> >> >> then > >> > > >> >> >> >> >> changing > >> > > >> >> >> >> >> the Action to Server. I can now install and uninstall > >> > > >> >> >> >> >> but > >> > > the > >> > > >> >> >> >> >> service > >> > > >> >> >> >> >> won't start - I'm getting the following message in > the > >> > > >> >> >> >> >> event > >> > > >> >> >> >> >> viewer: > >> > > >> > > >> >> >> >> >> "Service cannot be started. The service process could > >> > > >> >> >> >> >> not > >> > > >> >> >> >> >> connect > >> > > >> >> >> >> >> to > >> > > >> >> >> >> >> the service controller" > >> > > >> > > >> >> >> >> >> Any thoughts? > >> > > >> > > >> >> >> >> >> Thanks, > >> > > >> >> >> >> >> Matt > >> > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en -~----------~----~----~----~------~----~------~--~---
