Any suggestions on how to simulate or force a 502? My test environments rarely crash (of course) and I need to gain a little bit of confidence before applying to one of our big customers.
Hi Greg, thanks for trying Service Protector.
After discussing with our team, here are three ways you can test:
1. Specify a non-working URL
To make the sanity check work, you had to specify your server’s URL in the batch file (in the SET url line).
To confirm that your service will be promptly restarted when the sanity check fails, simply specify a bogus URL in the batch file.
An invalid URL will cause the URL ping to fail and signal Service Protector to restart your Windows Service — every time the sanity check runs.
To perform this test:
Open the batch file in your favorite text editor
Update the SET url line with a URL that does not point to an actual site
Save the batch file
Launch Service Protector
Highlight your web server service and select Application > Start Protector
Wait for the sanity check to be run (as per the frequency you provided when you setup the sanity check)
Validate that your service is stopped and restarted, as expected
2. Update your web application to return a 502
The previous test applies to all failures, not only 502 errors.
If you have control of your web site code — in Laravel, Django, ASP.NET or another dynamic framework — you can create a URL endpoint that simply returns 502.
Put that URL that into the check website batch file (in the SET url line) and your service should be restarted whenever Service Protector runs the sanity check.
3. Use the free webhook service
If you don’t want to mess with your web site, we recommend use the free webhook service to create a URL that always returns a 502. If you place that URL in your batch file, your service should be restarted every time the sanity check is run.
A unique URL will be created automatically for you:
This URL is immediately usable, but it will return HTTP Status code 200 by default. Click the Edit button and change the Default status code to 502. You might as well put in some response text, to explicitly signal what the URL does too:
Visit the URL to ensure that it is responding as expected:
Whenever you fire up Dropbox (or it starts automatically at login), you will soon notice three Dropbox.exe processes running on your PC. Though unusual, that is completely normal behavior. It’s just how Dropbox works.
Or better yet, if you really want to understand what is going on, turn to Microsoft’s excellent Process Explorer. Its helpful tree panel will reveal the hierarchical relationship between the Dropbox processes — one parent and two children:
But why are 3 copies of Dropbox started? Isn’t one enough to synchronize all the files and folders that the software is managing?
And why is one using significant CPU and memory while the other two remain small and idle?
Fortunately the command line parameters for each instance of Dropbox reveal what is going on…
#1 is the “Main” Dropbox process
With the help of Process Explorer, we can see that the main/parent executable runs with a single parameter: /home:
That is consistent with the desktop shortcut to start Dropbox, which specifies the same parameter:
So that’s the one we started.
Digging in a little deeper, we saw this process consistently using a small bit of CPU (1-10%) and a fair chunk of memory (200+ MB).
Furthermore, we noticed that the CPU and memory would jump whenever we placed a new file in the Dropbox folder.
Our conclusion? This parent process is responsible for Dropbox’s primary activity: copying your files to and from the cloud.
#2 is the “Crashpad Handler”
The second process has a massive command line — over 3600 characters!
Most of the command line is meaningless without a technical understanding of the arguments, but the first parameter stands out: -type:crashpad-handler:
This “crashpad handler” consumes a mere 2 MB of RAM — infinitesimal, by today’s standards. What is its purpose?
Our research suggests that the process implements Crashpad — a crash reporting system developed by Google.
Crashpad is a library for capturing, storing and transmitting postmortem crash reports from a client to an upstream collection server. Crashpad aims to make it possible for clients to capture process state at the time of crash with the best possible fidelity and coverage, with the minimum of fuss.
So it is very likely that when the main Dropbox process crashes or runs into trouble, the “crashpad handler” will jump in to collect information and beam it back to Dropbox headquarters for subsequent analysis.
#3 is the “Exit Monitor”
The third process has a command line just shy of 400 characters in length. Its “type” is exit-monitor:
As the type suggests, exit monitor’s job is to watch the main Dropbox process and restart it if it fails. Its purpose is to make sure that Dropbox is always running on your machine — even in the face of crashes and other failures.
To sum up
Having three Dropbox.exe processes is completely normal. Dropbox performs your file synchronization in one executable but the other two are there to support the robust operation of the software. It’s all good!
We own a license of both AlwaysUp and Service Protector. It seems like AlwaysUp is able to do more (larger feature set) however the pricing is less then Service Protector. We are setting up new servers and need to transfer one of these programs over and I’m having a hard time deciding which to install on our new servers.
Hi Stephen. Thanks for being a customer, and for getting in touch!
You are right — AlwaysUp and Service Protector have quite a lot in common.
Both are focused on 24x7x365 operation, to ensure that your mission-critical software is always available. And both employ advanced features like CPU & memory monitoring, email alerts, and customized failure detection to strive for 100% uptime.
However AlwaysUp and Service Protector are different in one fundamental way:
Service Protector works with existing Windows Services
AlwaysUp enhances regular, desktop applications
So the choice of which one to use comes down to the software you want to run 24/7.
For example, let’s say that you want to ensure that your Apache web server is always serving customers. Since Apache is packaged and delivered as a Windows Service, you would use Service Protector.
On the other hand, if you want to make sure that the Dropbox file synchronization software is always backing up your files, you would need AlwaysUp because Dropbox is not already a Windows Service.
How do I know if my application is a Windows Service or a regular application?
You have a couple of options.
First, you can check the application’s documentation. The publisher will probably mention if the application is designed to run “headless” as a Windows Service.
Second, if the documentation is unavailable, you can install the application and see where it lands. A Windows Service will be listed in the Services Control Panel application.
Start the Services app by typing services.msc from the Start button. You can also find it by searching for “services” in Control Panel:
Look for your application in the list. Be sure to scroll through and read the descriptions — sometimes the short names lack detail:
If your application is listed in Services, go with Service Protector.
Otherwise, you have a regular desktop application and you should choose AlwaysUp.
In either case, please take advantage of the free 30-day trial to make sure that our software will solve your problem and work exactly as you expect!
I’ve installed AlwaysUp Web Service on a VPS running Windows Server 2012 R2. Is there any way to check the status of my services? I tried but was unable to connect. Please advise.
Hi Sebastian. Thank you for trying our software!
Yes, AlwaysUp Web Service is designed specifically to check on your AlwaysUp Windows Services. You can see the status of each service visually in your browser or probe programmatically with the HTTP/HTTPS API.
But it seems that you are having trouble connecting to the service. Let’s walk through a few things to try:
Can you connect locally?
Please try connecting from a browser on the machine where you installed AlwaysUp Web Service.
From there, these URLs should take you to the login page:
If neither of those URLs load, perhaps the port number has been changed from the default (8585) or you are using HTTPS instead of HTTP.
Launch the AlwaysUp Web Service Control Panel application (available from an icon on your desktop, or at C:\Program Files (x86)\AlwaysUpWebService\ControlPanel.exe) and verify your settings:
If applicable, update the URLs above and try again.
Please get in touch if you are not able to connect using a local URL. Something very strange is going on and our support team should probably take a deeper look.
Can you connect from another computer?
Next, please try to access the web service from a different computer. Browse to this URL:
where [IP-Address] is the IP address of the computer where you installed AlwaysUp Web Service.
If you fail to connect with the IP address, please replace the IP address with the machine’s host name and trying again.
Do you see a timeout error?
It looks like this on Firefox:
And like this on Chrome:
If you’re experiencing a timeout, the Windows Firewall is the likely culprit.
Ensure that Windows Firewall isn’t blocking AlwaysUp Web Service
The Windows Firewall (also known as Windows Defender Firewall on the newest releases of Windows) blocks access into your computer, to prevent malicious activity. By default, all applications (and ports) are blocked. An application must be “allowed through the firewall” to accept connections from the outside world.
To enable AlwaysUp Web Service to accept and respond to remote browsers:
Open Windows Control Panel and search for firewall. Click the Allow an app through Windows Firewall link:
Below the list of allowed applications and features, click the Allow another app button:
In the Add an app window, click the Browse button and select the AlwaysUp Web Service executable. You will likely find it here:
Backup and Sync will show excessive “remove item” confirmations when a file is deleted
Fortunately these notifications are easily disabled via Preferences but the setting is all or nothing. Ideally, we would like to omit confirmations on active development folders but that is not possible.
None of these is a major headache, but little day-to-day annoyances add up. What to do?
Eventually a key realization dawned on us…
We don’t need real-time file synchronization
Backup and Sync’s mission is to keep your files synchronized. As soon as a document is changed, it is copied up to the cloud.
Though a live copy is ideal, it is not essential for our situation. We will be satisfied with a periodic backup — a recent copy of key files in case of a catastrophe. Heck, a single snapshot every 24 hours would meet our modest needs.
With that understanding, our first adjustment was manual. We would simply exit Backup and Sync at the start of the work day and restart it when we were done for the evening. Doing so eliminated the daily annoyances, and gave Backup and Sync the whole night to catch up.
But some evenings we would forget to restart Backup and Sync, leaving our files unprotected. It was time for a robust, automated solution…
How to run Backup and Sync off-hours as a Windows Service
Step 1: Install Backup and Sync as a Windows Service with AlwaysUp
This first step will enable backups to run in the background — even when you’re not logged in to your computer.
Step 2: Create a Scheduled Task to stop Backup and Sync every morning at 9 AM
Start Task Scheduler. This is best done by running taskschd.msc from a command prompt, or by opening the Control Panel, searching for “schedule” and clicking the Schedule tasks link:
Once the Task Scheduler window comes up, click Create Basic Task on the right:
In the Create Basic Task Wizard window, enter a suitable name for the task. We suggest “Stop Google Backup Service at 9 AM Daily”. Click Next when you are done.
We want to run daily, so make sure that option is selected and move on:
Next, enter 9 AM in the Start controls:
Running this command will stop the Backup and Sync Windows Service created by AlwaysUp:
NET.EXE STOP "Googledrivesync (managed by AlwaysUpService)"
Enter that command on this screen, placing NET.EXE in the Program/script field and the rest in the Add arguments section:
Don’t forget the quotes!
The next screen summarizes the task we’ve created. There is still a bit of work to do so check the Open the properties dialog box before clicking the Finish button:
And finally, in the Properties window, ensure that the task will (1) run even if no one is logged on and (2) will run with highest privileges:
Click OK to finalize your new scheduled task.
Step 3: Create a Scheduled Task to start Backup and Sync every evening at 7 PM
To create the second task that restarts Backup and Sync in the evening, simply repeat the process you followed in Step 2 with the following adjustments:
Enter 7 PM instead of 9 AM
Replace STOP with START when entering the program to run:
NET.EXE START "Googledrivesync (managed by AlwaysUpService)"
Less timely backups, but less interruptions too
With these changes in place, our Backup and Sync only runs “off hours”. While our files aren’t synchronized with the cloud during the work day, the annoying interruptions have been eliminated. It has been a reasonable trade-off for our team.
Like you, the majority of our work day is spent in front of a computer.
Indeed, most of the time you will find us wrestling with popular Windows applications — like Microsoft Word, Google Chrome and Acrobat Reader. But there are a few lesser-known programs that we have grown to depend on as well.
Here are three of the best free tools we use all the time — and can heartily recommend:
1. FileMenu Tools: Turbocharge your right-click menu with common file operations
Many of our daily tasks revolve around files. We’re constantly opening documents, copying images and composing command lines that require file paths.
This Windows Explorer extension includes over 35 file operations that you can add to Explorer’s right-click menu:
Our favorites include:
Copy Path: Copies the full path to the selected file(s) into the Windows clipboard. Saves time when we have to open the file in another application or add it to a command line. Just paste and go!
Command Line From Here: Launches the command prompt window, already set to the current folder. Much faster than running CMD and CD’ing.
Open with Notepad: Automatically send a file to Notepad, instead of having to start Notepad, click File > Open and browse to the file.
FileMenu Tools is integrated with Windows File Explorer and is very easy to use. Here you can see us copying the full path of the Dropbox executable (C:\Program Files (x86)\Dropbox\Client\Dropbox.exe) to the Windows clipboard — with just a couple of clicks:
2. AbstractSpoon ToDoList: Increase productivity by tracking & organizing important tasks
For our day-to-day planning — and to make sure that we don’t forget our brilliant but ambitious ideas — we turn to AbstractSpoon’s ToDoList.
This attractive Windows application uses a time-tested tree structure to organize your body of work. You start with one or more top level goals and break them down into actionable steps.
Each step/task can have over 20 properties that provide relevant context, including “priority”, “due date”, “percent complete” and “cost”.
ToDoList helps us keep track of:
Topics for upcoming blog articles
What to put in each new release (and when to make it available)
Standard email templates, that we can copy & paste into Gmail
Useful but difficult-to-remember commands for managing our UNIX servers
And much more!
And to top it off, ToDoList is actively maintained by a passionate and engaged developer. You will not be disappointed by his responsiveness and attention to detail.
3. Pure Text: Easily paste simple text from the clipboard
I really hate it when I copy text from one application, paste it into another and it comes over with all its formatting. Most times I just want the simple text — with zero decoration.
To get my desired result, I would perform the following dance:
Paste into Notepad (to produce plain text)
Select all the text
Copy the text
Paste the plain text into my target application
Easy to do but definitely a waste of time.
Enter PureText, a ridiculously simple program that strips all formatting from the clipboard so that we can paste plain text in a single keystroke. What a lifesaver!
PureText runs as an icon in the task tray area. You assign it a “hotkey” and whenever that key is pressed, it will paste plain text. Here you can see that we have assigned Ctrl-Shift-V (which is close to Ctrl-V, the key combination that performs a “regular” paste):
Once you have installed PureText, it will be difficult to use a computer without it. It’s one of the first apps we install on a new PC.
So those are three Windows utilities that make a difference in our day-to-day. Download, install and enjoy!
What free applications do you recommend?
We would love to hear your advice and opinions! Please let us know in the comments section.
When I look in Services.msc, some of the Windows Services have a startup type of “Automatic (Trigger Start)” and “Manual (Trigger Start)”. What do those mean?
Hi Liam. Those trigger start types are indeed mysterious. And the Services application makes no attempt to explain what they are.
For example, even though the phrase “Trigger Start” appears in the “Startup type” column in the list of services, that designation is absent when you dig into an individual service.
Here we see the User Manager service showing a startup type of “Automatic (Trigger Start)” in the list but simply “Automatic” in the same field in the service’s properties window:
Baffling, to say the least.
Let’s break down each of the start type names into their two components, to understand what the Services application is trying to communicate.
What do “Automatic” and “Manual” mean?
The first component tells Windows what to do with the service when the computer boots.
Automatic says “start this service when the computer boots”.
Manual means “don’t start the service at boot; it may be started at some other time”.
There are other startup types too but those will be explained in a future article.
What does the “Trigger Start” part mean?
While the first component focuses on what happens at boot, the “Trigger Start” wording indicates if the service can be started or stopped by various operating system events.
For example, some services are configured to start when a USB drive is inserted. Other services may stop when your computer signs out of a domain or leaves the network.
Services that respond to these events are using windows service triggers — a powerful feature designed to conserve your computer’s precious resources. Service triggers were introduced in Windows 7 and Server 2008 R2.
And here is the point of this journey into triggers: A service that has at least one trigger will show up with the “Trigger Start” designation in the Services application.
(Note that the treatment of triggers in the Services application stops there. Despite indicating when a service contains a trigger, triggers cannot be changed in the Services application. You must use the SC command line utility or our free Service Trigger Editor GUI to add or remove triggers from a service.)
Putting it all together…
Automatic (Trigger Start) means:
This service will start automatically at boot. It may also start or stop in response to specific operating system events.
Manual (Trigger Start) means:
This service will NOT start automatically at boot. It may start or stop in response to specific operating system events.
Hope this makes sense! Please be sure to get in touch if you have any other questions about the wonderful world of Windows Services.
The Remote Procedure Call (RPC) service supports communication between Windows applications.
Specifically, the service implements the RPC protocol — a low-level form of inter-process communication where a client process can make requests of a server process. Microsoft’s foundational COM and DCOM technologies are built on top of RPC.
The service’s name is RpcSs and it runs inside the shared services host process, svchost.exe:
Should I stop the RPC service?
The answer is no — you should definitely not stop the service. It is far too important.
Indeed, if you examine the list of services that depend on the RPC service for smooth operation — by running the SC ENUMDEPEND command — you will notice that there are a whopping 103 services that need RpcSs on Windows Server 2019!
If the RPC service stops, those 103 would have to stop as well — surely crippling your computer.
Afterwards, restart Dropbox as a service. The OpenGL prompt should be gone — a relic of an unpleasant past.
Huge thanks go to Dropbox forum user Wilson7777, who alerted the community of this remedy. His original solution is here.
Why does the fix work?
The explanation is a bit technical, but here goes…
Dropbox uses Qt — a popular cross-platform development framework.
In turn, Qt requires OpenGL — a cross-platform API for rendering 2D and 3D vector graphics.
So when you run Dropbox, both Qt and OpenGL will be started.
But for some unknown reason, when Dropbox is started as a Windows Service in Session 0, Qt and OpenGL fail to initialize. That failure causes Dropbox to throw up the “Failed to create OpenGL context for format QSurfaceFormat” error, which suggests that there is a problem with the computer’s graphics card/hardware.
Fortunately there is a way to instruct Qt: “Instead of using the computer’s graphics hardware for OpenGL, use software libraries”. Setting the QT_OPENGL environment variable to “software” is the way to do that.
And with the change to use software instead of hardware, Qt, OpenGL and Dropbox all start properly.
Note that when you ran the SETX command in step 2, it added the QT_OPENGL value to your environment. You can see it listed in your environment variables (available from the Control Panel):
Will this fix work for future versions of Dropbox?
We certainly hope so! But like you, we’re not sure what magic the next automatic update of Dropbox will bring…
Dropbox says to make sure that your display drivers are up to date. This has resolved the problem for some customers. Please let Dropbox know if it doesn’t work for you.
Beyond that, there are a couple other workarounds but neither is a long term solution.
If you start Dropbox in the current session (by selecting Start “Dropbox” in this session from the Application menu), Dropbox will start and your files will be synchronized. However, once you log off, Dropbox will return to Session 0 and it will cease to function again.
Another option is to run Dropbox outside of AlwaysUp, normally on your desktop. Of course, you will have to remain logged in, which is less than ideal.
Please check in the “Updates” section below for additional workarounds as they are developed.
When will this be fixed?
We’re not sure when Dropbox will fix the problem.
They seem to create new desktop client builds regularly so we have our fingers crossed that they deliver a resolution very soon.
Please let Dropbox know that you are affected
We encourage you to “nudge” the Dropbox team into action by:
I deny all access to the executable via NTFS permissions for that account. Then install the older 80.4.127 over the top of the current install (it kills the running version automagically). This seems to break the ability for the updater to do its magic so it will skip this version.
We can only hope the next version is up and running with a fix, if not, rinse and repeat.
This has worked for at least 3 of our customers running Dropbox.
September 18 @ 9:20 PM Pacific: So far we have thoroughly tested Dropbox version version 81.4.195 running in Session 0 on the following operating systems:
Windows Server 2019
Windows Server 2012 R2
Windows 10 (Build 1903)
None have exhibited the problem.
Here is the basic test we perform using two computers linked to the same Dropbox account:
Copy a new file into machine’s A’s Dropbox folder
Check that the file shows up on dropbox.com
Check that the file shows up in machine B’s Dropbox folder
We will continue to test other versions of Windows over the next few days.
September 19 @ 6:15 AM Pacific: The Dropbox support team suggests that the problem may be with old display drivers.
Perform the steps outlined in this post to make sure that your PC is up-to-date.