First post

Bug reports and questions about running Virtual Radar Server on Linux
agw
Posts: 2247
Joined: Fri Feb 17, 2012 3:20 am

First post

Post by agw » Thu May 10, 2012 5:58 pm

I've uploaded a Mono build of Virtual Radar Server 1.0.4 to the server - you can download it from here:

http://www.virtualradarserver.co.uk/Mono.aspx

However please note that it has stability issues with libcairo at the moment. I'm trying to work around them but because they don't show up on Ubuntu until after roughly 12 hours of continuous browsing of the site it's slow and painful work to see if the workaround has done its job.

ianhind
Posts: 19
Joined: Mon Apr 30, 2012 10:40 pm

Re: First post

Post by ianhind » Sat Jun 30, 2012 12:12 pm

Successfully installed mono version.

Tried Ubuntu 12.04 first to check it out using your setup. Note the desktop version doesn't include Apache/php as default so needs to be installed.

Prefer to use Debian so installed 605 with web server. VRS runs after following the instructions. Copied across basestation.sqb to get registration data. Not sure whether I need the Database Writer Plugin in this case?

Wasn't bothered about silhouettes, flags or pictures but realised I needed flags folder to highlight individual aircraft on map.

Not sure about other reports so can't say whether they are working as expected.

Overall looking good. Will leave it running locally.

Ian

agw
Posts: 2247
Joined: Fri Feb 17, 2012 3:20 am

Re: First post

Post by agw » Sat Jun 30, 2012 3:35 pm

Thanks for giving it a go, glad to hear it's working so far :)
ianhind wrote:Note the desktop version doesn't include Apache/php as default so needs to be installed.
Mono doesn't use Apache or PHP for its implementation of .NET's HTTPListener class, you don't need to install them. If you were to uninstall them you should find that VRS continues to work. Ditto for the Debian install.
ianhind wrote:Not sure whether I need the Database Writer Plugin in this case?
You don't need it unless you want to see reports on the flights seen after you copied the database across.
ianhind wrote:but realised I needed flags folder to highlight individual aircraft on map
If you don't have flags or silhouettes then you get a little ball at the start of each row in the aircraft list that you can click to select it. It's the same in the .NET version. However it's not terribly intuitive or obvious, I do have plans to address that with the website rewrite.
ianhind wrote:Will leave it running locally
I left mine running after I tested it for the release on Monday, with a browser fetching from it, and was pleasently surprised to find it still running today nearly five days later. Previously libcairo would crash it within about 12 hours. Mind you I think previously I was running VRS against the aggregator feed of some 550+ aircraft wheras this time it was running against my much smaller local feed, so it might just be because there's been fewer markers to draw. I'll keep an eye on it. Regardless, the text on the markers still looks like a dog's dinner, no anti-aliasing and all left-aligned, so my thinking is still that libcairo needs to be cut out of the picture when running under Mono.

g0hww
Posts: 11
Joined: Sun Jul 22, 2012 9:16 pm

Some issues on Linux

Post by g0hww » Mon Jul 23, 2012 12:19 pm

Hi, I'm running VRS on Ubuntu 10.04, with a gr-air-modes backend for the ADS-B feed. All works fine, excpet for the 'routine crash'. The main issue I'm having is with the crash recovery script that restarts VRS. VRS never seems to restart properly, it just taunts me with a brief flicker of the splashscreen then dies.

If I delete the config directory, VRS can be started successfully, but I lose my db and web server configuration, which is not good. I've tried a 'bait and switch' approach by copying the Configuration.xml and PluginsConfiguration.txt, deleting the ConnectionLog.sqb and journal, etc.

I've noticed the mention of InstallerConfiguration.xml on the mono help page, and wonder if ther might be a solution there somehow.

Can anone think of a way of getting VRS to behave after a crash without needing to manually reconfigure it?

agw
Posts: 2247
Joined: Fri Feb 17, 2012 3:20 am

Re: First post

Post by agw » Mon Jul 23, 2012 12:36 pm

If you could email me the VirtualRadarLog.txt file from the configuration folder after a crash then I should hopefully be able to see what's stopping it from starting up after the crash.

Out of interest, when it crashes do you see references to libcario in the message that mono dumps out?

g0hww
Posts: 11
Joined: Sun Jul 22, 2012 9:16 pm

Re: First post

Post by g0hww » Mon Jul 23, 2012 5:15 pm

The log file just shows the started and working folder lines when it falls over in the restart loop. When I've seen stack traces they have mentioned cairo, but that's been on the first 'expected' crash from the initial run and not on the instantly failing cycle of doom from the restart script.

agw
Posts: 2247
Joined: Fri Feb 17, 2012 3:20 am

Re: First post

Post by agw » Mon Jul 23, 2012 6:14 pm

I guess that's good news and bad :)

Can you start VRS after a crash if you reboot the machine first?

If you try to restart a crashed VRS from the command-line with mono VirtualRadar.exe do you get any messages when it crashes?

How long do you normally have to wait after viewing the aircraft before it crashes? Are you using the 32-bit or 64-bit flavour of Ubuntu 10.04? Are you using the database writer plugin?

g0hww
Posts: 11
Joined: Sun Jul 22, 2012 9:16 pm

Re: First post

Post by g0hww » Mon Jul 23, 2012 6:30 pm

I haven't tried rebooting the machine. Its not that kind of machine :P

The stdout from VRS whether it runs (for hours) or instantly bombs out when restarted is just this:
libpng warning: Incorrect bKGD chunk length
libpng warning: Incorrect bKGD chunk length
I've pasted the stack trace that I found lying around in a buffer here in case its of any use, but its the failure to restart that baffles me: http://pastebin.com/9Uz4aBRn

On the whole, its working pretty well. It stays up for 8 - 12 hours and is serving on the LAN and out to my iPhone when I'm mobile.

Edit. Yeah, I'm using the database writer plugin. I can only get VRS to restart by deleting the config folder, but that leaves me having to reconfigure VRS, so is not really viable way to recover from the cairo crashes. I'm using 32-bit on that Ubuntu box.

agw
Posts: 2247
Joined: Fri Feb 17, 2012 3:20 am

Re: First post

Post by agw » Mon Jul 23, 2012 7:34 pm

I think libpng is one of the libraries that libcario uses. That one's normal, I think one of the PNG graphics in the resources for the program is causing libpng to show the warning. Unfortunately there are a lot of PNG files and I've not had time to track down which one it doesn't like - but untidy though it is I don't think it has any bearing on this.

The stack trace you posted is the problem I've seen - when I dispose of a graphics object it crashes with a double-free in the graphics libraries, but (usually) only after a few hours of use.

The next time it crashes could you do:

Code: Select all

ls -la
from the configuration folder and let me know the names of any files or folders that have a "." at the start of their name please? Perhaps something may have created a temporary file or folder and that same something isn't best pleased when it finds it's still there after the restart.

g0hww
Posts: 11
Joined: Sun Jul 22, 2012 9:16 pm

Re: First post

Post by g0hww » Tue Jul 24, 2012 6:56 pm

There doesn't seem to be anything of interest in the config folder after the crash.

I may have narrowed it down a bit further though. I've noticed that VRS will not restart even if I exit it normally, after I've configured and enabled the database writer. If I haven't done that, I can start, exit and restart VRS as much as 3 times without issue. Once I have configured and enabled the Database Writer, VRS will not restart, either after a graceful exit, or (presumably) after a crash. I've discovered that if I delete the path to the database file from Configuration.xml, VRS will then restart.

This doesn't seem to be an issue with the sqlite db itself, as I can then manually (re)configure the database writer, pointing to the same db and enable it, and everything looks good.

So it seems to be something to do with the initialisation of the database writer plugin.

Post Reply