Question

I have a c# Soap service that I have running on my Linux Suse 12.1 VPS server. This has been working fine without problems until I made a small change to the soap service and copied it onto my VPS. I thought it must have been an issue with my change so I rolled back my changes and still not working. Even some methods that haven't been touched are failing.

However, I have tested on my Dev machine which is on windows and is working fine and have also copied the soap interface on to a linux dev machine which is set up in the exact samme way as my VPS, i.e. OpenSuse 12.1 and has all the same stuff as my VPS web server. Both work absolutely fine, not got any problems what so ever.

On the VPS host, however, mod-mono-server is constantly crashing and even though it starts up, the asmx file cannot be read, just displays server error, and I need to run rcapache2 restart to get the test page to load up.

In the apache error log file I have the following:

[Thu Aug 30 20:10:19 2012] [error] (70014)End of file found: read_data failed [Thu Aug 30 20:10:19 2012] [error] Command stream corrupted, last command was 1 [Thu Aug 30 20:08:47 2012] [error] Command stream corrupted, last command was 7

I have no idea what the problem might be, I've tried rebooting the VPS but no difference.

I am using the ASP.net 4 version of mod-mono-server.

Thanks for any help you can provide.

UPDATE 1 I have just noticed something else in the apache error. The log file contains the following

[Thu Aug 30 20:46:31 2012] [notice] caught SIGTERM, shutting down
[Thu Aug 30 20:46:32 2012] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Aug 30 20:46:32 2012] [error] Not running mod-mono-server.exe because no MonoApplications, MonoApplicationsConfigFile or MonoApplicationConfigDir specified.

UPDATE 2 Have just made a discovery, not entirely sure if it helps. The soap service is working fine on the server as long as it doesn't require accessing a mysql database. If it performs a query, it displays an an internal server error 500 within the test page. but if called from PHP it causes it to crash mono. The database is a mysql database and is a local database. There's 34% RAM Free so I don't believe this is a memory issue. I've also emptied the database table to determine if this fixes it if it its something to do with the amount of data, but this hasn't fixed it either.

Was it helpful?

Solution

Thanks to @knocte suggestion I managed to figure out the problem.

When the Soap Service accesses the database it reads a config.xml to determine what username and password to use to access the database, I'm guessing that this config file managed to get corrupted during the transfer. Although I could read it in vi, but maybe there was something that was wrong with the file that stopped the soap service reading the config.

All I did was delete the file and copy and paste the content into the file manually.

For some reason mod-mono when it couldn't access the database it crashes mono, even though all the MySQL stuff within the soap service has MySQL Exception handling. @knocte suggestion of testing the soap service proved useful as when this was used to access the database from the soap service xsp4 would stop but display the error saying that it didn't have permission to access the database, even though it had the correct username and password in the config file.

Once I had re-created the config file the soap service works correctly again.

Thanks for your help.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top