2

While trying to kill a mono process, I ran ps -aux | grep mono. It came up with one entry that started yesterday and was run by the user www-data, and with the command /usr/bin/mono /usr/lib/mono/4.5/xsp4.exe --port 8084 --address 0.0.0.0 --appconfigdir /etc/xsp4 --nonstop. Based on this, I went to localhost:8084, and I got an error:

System.ArgumentOutOfRangeException
startIndex cannot be larger than length of string.
Parameter name: startIndex

Description: HTTP 400.Error processing request.

Details: Non-web exception. Exception origin (name of application or object): mscorlib.

It mentioned that it was running on ASP.NET 4.0. Is this process normal? I use MonoDevelop to develop ASP.NET apps, but this doesn't seem related, as I've recently restarted MonoDevelop.

  • When you run it in debugging mode, it will run on whatever port it's set to as default which isn't the normal 80. I don't know how it starts and stops on Linux as I develop in Windows. – HazardousGlitch Jun 26 '19 at 1:17
  • That might be it, but I don't see how that would cause the exception. – Merlin04 Jun 26 '19 at 1:20
  • 1
    Based on previous comment, recommend clarification on whether question is asking why this is running or if asking cause of exception. – Dawn Benton Jun 26 '19 at 1:22
  • I'm wondering why this is running. – Merlin04 Jun 26 '19 at 1:23
  • The exception is a code issue related to accessing a index of a string that doesn't exist. You need to debug it. StackOverflow would be a good place to seek help. – HazardousGlitch Jun 26 '19 at 1:27
1

As pointed out in this answer by Thomas over at AskUbuntu, it's easy enough to stop or disable this server, but you may want to consider whether you actually might want it running before you do. I found that question while researching this exact same concern on my own Kubuntu 18.04 LTS machine, and it helped me dig deeper into what it actually was. Turns out it's used to serve monodoc-http, as I was able to determine by exploring the content of files found in /etc/xsp4 and /usr/share/monodoc/web.

If you installed MonoDevelop or MonoDoc or anything related to developing code in Mono, then that's where it came from. If you did that on purpose because you're learning or coding in Mono, then you may actually want that service running. If you have no use for MonoDoc services, you can easily disable them on flavors of Ubuntu using systemctl.

  • sudo systemctl stop mono-xsp4.service will stop the service
    (but won't disable it, so it will run again after next reboot).
  • sudo systemctl disable mono-xsp4.service will disable the service
    (but will not stop it if it is running currently).

You'll need to run both commands if you wish to actually stop the service now, and disable the service so that it's not running after the next reboot. If you know for certain that you have no use at all for MonoDoc and related services, you can also search for them in your package manager and uninstall them entirely.

As to why it's throwing an exception, that I do not know. It does the same on my system if visited directly in a browser. My best guess on that is that it probably requires parameters passed in which MonoDoc would hand it by default that just visiting it directly in a browser do not give? (Anyone who knows for sure is welcome to edit this answer to include that information, or contact me with that info so that I may update this.)

Note: This is a nearly exact copy/paste of my answer to the same AskUbuntu question that I linked here, as it also happens to be an accurate answer to this question here as well...

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.