Page 2 of 2

Re: First post

Posted: Tue Jul 24, 2012 7:08 pm
by agw
I'm fairly sure I had the database writer plugin enabled when I was doing my testing on Ubuntu, although that was with 12.04. I have the 10.04 images knocking around though, I'll set up a VM with one of those and see if I can reproduce it. Are you using the 32-bit or the 64-bit version?

Re: First post

Posted: Tue Jul 24, 2012 7:44 pm
by g0hww
32bit

Edit.

You mean the distro don't you? I assumed that the VRS and DBW binaries are for 32-bit only so I've only tried running them on my 32 bit Core2 Quad box on Ubuntu 10.04. I could try it all on my Ubuntu 12.04 64-bit laptop too, if it would help with testing, but my aim is to have it running on the 32-bit machine, as that's got the DVB-T dongle and gr-air-modes decoder running on it already, and is only a USB-cable's distance from the 1090MHz antenna :P

Re: First post

Posted: Tue Jul 24, 2012 9:44 pm
by g0hww
More. I just found out that there are log entries when I exit VRS normally, but not when it crashes in the loop.

[2012-07-24 20:37:21.036 UTC] [t7] Plugin Database Writer threw an exception during shutdown: System.InvalidOperationException: Cannot call Invoke or BeginInvoke on a control until the window handle is created
at System.Windows.Forms.Control.FindControlToInvokeOn () [0x00000]
at System.Windows.Forms.Control.BeginInvokeInternal (System.Delegate method, System.Object[] args) [0x00000]
at System.Windows.Forms.Control.BeginInvoke (System.Delegate method) [0x00000]
at VirtualRadar.WinForms.Controls.PluginDetailPanel.Plugin_StatusChanged (System.Object sender, System.EventArgs e) [0x00000]
at VirtualRadar.Plugin.BaseStationDatabaseWriter.Plugin.OnStatusChanged (System.EventArgs args) [0x00000]
at VirtualRadar.Plugin.BaseStationDatabaseWriter.Plugin.EndSession () [0x00000]
at VirtualRadar.Plugin.BaseStationDatabaseWriter.Plugin.Shutdown () [0x00000]
at VirtualRadar.Library.Presenter.ShutdownPresenter.ShutdownPlugins () [0x00000]

Actually exiting VRS is not something I've tried much before.

Re: First post

Posted: Wed Jul 25, 2012 9:47 am
by agw
Sorry - yes, I meant the distro. Unfortunately I didn't have 10.04 to hand, it was 8.04 I was thinking of, but 10.04 is downloading as I type :) It'll be good if I can reproduce the problem. In principle VRS should run on both 32- and 64-bit systems without change, although thinking about it I might have only tried it on 32-bit systems. I have a 64-bit 12.04 on a laptop somewhere, I'll give it a go later :)

The exception you're seeing in the log wouldn't be the cause of the problem, it's complaining that a window that's trying to display the status of the plugin doesn't exist any more. It's a bit naughty and I'll fix it but the status update happens right at the end of EndSession, so by then the plugin will have closed the session down on the database, and exceptions in plugin shutdown routines are caught and logged (as you've seen) but not allowed to interrupt the shutdown of the program - so the rest of the application should have gone through a clean shutdown.

I'll let you know how I get on with 10.04 once I've got it installed on a VM.

Re: First post

Posted: Thu Jul 26, 2012 2:31 pm
by agw
OK, I can reproduce the crash on Ubuntu 10.04. It happens if you have the database filename configured when the program starts up - during startup it opens a connection to the database and it's this call to SQLite that crashes it. It's a bad crash, it just kills mono dead. If I remove the opening of the connection then the connection gets opened a bit later on (with the same call to open the connection as before) and that works. Well, it does and it doesn't. It won't bomb out but it won't open the any SQLite file for writes either, so you can read the registrations but connections won't get logged and the database writer can't update the database.

I've tried building and installing the latest versions of mono and sqlite, both of which are quite out of date on 10.04, to get VRS running. Neither helped, although I might have kacked that up ;) Unfortunately trying to get to the bottom of it is burning up quite a lot of time so I'm going to stop looking. 12.04 works just fine, 32-bit and 64-bit - I would dig out your 12.04 laptop and stick VRS on that for now.

Re: First post

Posted: Thu Jul 26, 2012 7:12 pm
by g0hww
Thanks for looking into this. At some point I may upgrade the 10.04 box, as the LTS support ends in in April 2013, but I can't see that happening in the near term, and I don't like 12.04 all that much TBH but I tolerate it on the laptop, as it came pre-installed.. Running VRS on the laptop isn't an option, as its not always on or at home where the receiver is. I guess I'll knuckle down and get the Perl version running.

Perhaps a note on the http://www.virtualradarserver.co.uk/Mono.aspx page would be handy for other Linux users who might suffer from the same issue.

Once again, thanks for following up the report. It's rare to see someone even attempting to support Linux with Windows programs.

Edit.

Incidentally, or should that be coincidentally, there has just been a whole bunch of mono-related packages pushed out through the repos for both 10.04 and 12.04. With cautious optimism, I updated the 10.04 box, gave it a reboot for good measure, but still faced the same issue. I thought I'd mention it to avoid any optimism on your part if you should wonder the same thing.