Troubleshooting errors in checks

The state of a monitor is determined by the last check. If the last check encountered an error, the monitor will be in the Error state. The Error section contains only the Monitors that are in the error state, though you can find them in the All section of the Watchlist as well.

Error count in side bar

Open the Monitor’s check log to view logs of the recent checks. Clicking on the View Details link in the log will take you to the error page.

Log of checks

Here is the list of errors that you will normally encounter:

SELECTION_EMPTY

Checkout page’s snapshot by clicking the “View Details” link in the log. The snapshot was captured when the page was loaded but Distill couldn’t find the selected content in the page.

Some of the common reasons for a SELECTION_EMPTY error are:

  1. When the monitor was working well earlier but started encountering this error. It is possible that the elements selected earlier no longer exist on the page. You can create a new monitor or change the selection of the existing monitor using visual selector to see if it works.

  2. When the selected element loads after a delay. This can happen when the element is dynamic and it loads after some delay. In this case, you can add a delay in the config. To add a delay, go to the config of the existing monitor, and change the delay to some value. This value is in seconds. By setting a delay, Distill will wait for the delay period for the page to load and then check the elements.

  3. When you select an element with some text but expect that it will change to no text and you want to get an alert on such no text change. You can include an additional element in the selection. A good example of such an element is the page’s <title> element. The tag’s XPath selector is //title and the CSS selector is title.

  4. When the page is blocking access from Distill servers. In this case, the page provides an error response to the server. You can use Proxies to run checks in the cloud. Please check out: https://distill.io/docs/web-monitor/monitor-webpage-using-proxy-servers/. Alternatively, you can use local checks to run the monitor in your browser.

E_ASSERT

This error is triggered when a custom assertion condition fails during macro/scraper execution.

  • It means a step in your recorder expected something to be true, but that condition wasn’t met.
  • The expected element or content is missing
  • The page loaded differently than expected
  • The assertion logic needs updating

To fix:

  • Open the assert step in the recorder
  • Review the condition (e.g. element_exists(html))
  • Adjust or remove the assertion if it no longer applies
  • Replay the recorder to test if the step passes

assert-failed.png

E_BROWSER

This error occurs when Distill’s extension fails to open a new browser tab or window - usually due to a problem with the browser or its settings.

  • The browser blocked tab or window creation.
  • Go to Device Settings > Advanced and change “Load pages that can’t be loaded in background in:” to Window or Sticky Window.
  • Refresh the extension or browser.
  • Try restarting your browser.

E_CAPTCHA

This error is triggered when CAPTCHA verification fails or is required but not completed properly.

E_CONFIG

E_CONFIG is a monitor configuration error. It is logged when the monitor configuration is invalid. Here are some of the common reasons for this error:

  • The monitor configuration is malformed or isn’t a valid JSON.
  • The monitor’s URL is either empty or invalid.
  • For webpage monitors, when the monitor’s selector type is invalid. We support XPATH, CSS, and JS selectors. supported-selector-types.png

E_CONNREFUSED

This happens when the remote server refuses to accept the connection from the client. This error can be encountered for any type of monitor. If you’re getting this error for a Webpage Monitor, setting dynamic to true in the config should fix the error.

E_CONNRESET

This happens when the network connection is reset unexpectedly, often due to server or network issues.

E_CONTEXT404

This error indicates that the requested context or resource could not be found. Verify URL is correct or check if page structure has changed.

E_CRAWL_URL_LIMIT_EXCEEDED

This error occurs in Sitemap monitors when the crawler exceeds the set URL limit, usually because the limit is too low for the number of links found. The URL limit setting restricts how many URLs the crawler can visit. If the actual number of URLs discovered during crawling exceeds this limit, the monitor throws this error.

Increase the URL limit from either of the following places:

  • View Crawler: Open the monitor, go to the crawler settings, and update the URL limit field.
  • Watchlist Topbar → Crawlers Option: Open the relevant crawler and update the URL limit directly. crawl-url-limit.png

E_DOC_PARSE

Monitors with the type Word Document can encounter this error. This happens when the word document cannot be parsed correctly. Possible scenarios for this error can include:

  • The document is not a valid Word Document.
  • The document is corrupted.
  • Ensure not password-protected.

E_ELEMENT_NOT_FOUND

Page element cannot be found. This can happen for various reasons, such as:

  • The element is not present on the page.
  • The element is present but not visible or accessible.
  • The element’s selector is incorrect or has changed. You can try opening the monitor using the visual selector to simulate and detect the selector which is erroring out.

E_FEED

E_FEED is logged when there’s an error parsing the feed. This can happen when the feed’s URL returns content other than a valid feed. You can check the feed’s URL in the monitor’s config and verify if it returns a valid feed.

E_FIELDS_NOT_FOUND

This error occurs when no fields are selected in the JSON Selector panel.

  • Select at least one property from the left panel under Select properties
  • If nothing is selected, the distilled response will be empty {}

fields-not-found.png

E_FILTER_HTML

This happens when the system can’t extract the selected content from the webpage.

  • Check if the page structure has changed
  • Use the visual selector to reselect the content
  • Add delays for dynamic content loading

E_FORMAT

This error occurs when data is not in the expected format or cannot be parsed correctly: for example, a number is expected but a string is received.

  • This can happen when using a managed scraper if the source page structure has changed or returned unexpected data.
  • If you’re using a managed scraper, contact support for assistance.
  • If you’re using a user-created scraper, check the Parser section in the recorder and update the expected type accordingly.

E_FRAME_REQUEST

When Distill is not able to find the monitored frame within which contents are selected, it errors out with E_FRAME_REQUEST.

Solutions:

  • Monitor should check successfully in subsequent checks.
  • Add a delay in the config.
  • Check if the page redirects and update the monitor URL accordingly.

E_INTERRUPT

This occurs when a scraping operation or macro execution is interrupted before completion, typically due to network connection issues, timeouts.

  • Check if the interruption is due to timeout settings
  • Check your internet connection, retry the operation, or verify the target website is accessible.

E_INVALID_PARAMS

This error occurs when the monitor expects a specific type or format, but receives one that is no longer supported, typically due to using an older version of the app.

  • Upgrade the Distill app to the latest version to ensure compatibility.
  • After upgrading, try running the monitor again.

E_INVALID_TYPE

This happens when the system expected one type of data but got something else - like when file has been moved, deleted, or the service has changed format. For example, you set up monitoring for a PDF, XML or JSON file, but now the system gets a webpage or error message instead.

  • Check if the URL still opens in the expected format (PDF, JSON, XML etc.) in your browser.
  • If the URL is not showing the expected content, find the correct new URL.
  • Update the URL in the “options page” with the new correct link.

E_JAVASCRIPT

It is usually logged when there’s an error executing JavaScript selector on the webpage.

  1. Check the error message details for specific information about what went wrong.
  2. Verify that any elements or variables you’re referencing actually exist on the page.

javascript-selector.png

E_MACRO

E_MACRO is logged when there’s an error running your macro. This can happen at any step in the macro. To get the error detail you can check the macro step’s error in the error page. Click on the View Details link available in the log of checks to go to the error page.

macro-error-page.png

The last step at which the macro errored out is available in the Error Details section. The page’s snapshot is taken the moment the error is encountered. This can help edit your macro to handle previously unknown scenarios.

E_MISSING_INPUT

Required macro input field is empty.

  • Make sure all required fields are filled in the macro’s Input Fields in the options page.
  • Check for any missing parameters.
  • Verify input field names and values are correct.

missing-input.png

E_NOT_FOUND

This happens when the server’s domain name from the monitor’s URL cannot be resolved. This can happen when:

  • The server’s domain name is not available in the DNS.
  • The server’s domain name is invalid.

You can check the monitor’s URL in the config and verify if it contains a valid domain.

E_PAGE_NOT_FOUND

This error occurs when the requested page cannot be found. This can happen for various reasons, such as:

  • The URL is incorrect or has changed.
  • Check if the page has been moved or removed.
  • Update the monitor URL in the config if the page has moved.

E_PARSE

This occurs when data parsing fails, typically due to configuration issues with input fields in the recorder for macro or managed scrapers.

  • Incorrect input field configuration or data type mismatches in the options page or manually editing the config JSON with incompatible values - check your input field values and ensure they match the expected data types.

parse-fields.png parse-fields-json.png

E_PDF_PARSE

This error is logged when there’s an issue parsing a PDF document.

  • Verify the document is a valid PDF file
  • Try opening the PDF in a PDF reader to check for corruption.
  • Check if the PDF is password-protected

E_PROXY

This happens when the proxy server is not able to connect to the remote server you’re monitoring. The most common scenario for this error is when the default proxy server’s IP / location is blocked by the remote server.

In these cases try using a different proxy server. Check out: Using proxy servers for checks for more information.

E_REQUEST

This happens:

  • For static webpage monitors, when the server returns an error response, like, status not being 200. In those cases try setting up the dynamic option to true in the config to check if the page loads correctly.

  • For XML, JSON, and UPTIME Monitors:

    • The URL is invalid or the resource does not exist.
    • The request method is incorrect.
    • The request is not supported by the server.
    • To get the root cause of the error, check the response and configure request accordingly using the Request Editor.

    json-request-editor.png

E_REQUEST_BAD_GATEWAY

This happens when the server couldn’t get a proper response from another server it depends on.

  • Retry the monitor check after some time.
  • Check if the target website is experiencing issues.
  • Check the website’s status page for known issues.

E_REQUEST_FORBIDDEN

This error means the website blocked access to the page you’re trying to monitor.

Possible reasons for this error:

  • The page is behind a login or requires authentication.
  • The page expects certain cookies.

To fix:

  • If the page requires login, make sure your monitor is authenticated. check out Using dedicated cloud device for checks
  • If the page is protected by a firewall or security settings, you may need to use a proxy server to access it.

E_REQUEST_INTERNAL_SERVER_ERROR

This error indicates an unexpected server-side error occurred while processing the request.

  • Retry the monitor check after some time.
  • Check if the website is experiencing technical difficulties.

E_REQUEST_NOT_FOUND

This happens when the requested resource cannot be found.

  • Verify the URL is correct and hasn’t changed.
  • Try accessing the URL directly in a browser.
  • Update the monitor URL if the resource has moved.

E_REQUEST_SERVICE_UNAVAILABLE

This occurs when the service is temporarily unavailable, often due to maintenance or overload.

  • Retry the monitor check after some time.
  • Check if the website is undergoing maintenance.
  • Use proxy servers to route through different networks.

E_REQUEST_TOO_MANY_REQUESTS

This error is triggered when the rate limit is exceeded and too many requests are made in a short time.

  • Reduce the frequency of your monitor checks.

E_REQUEST_UNAUTHORIZED

This happens when authentication is required but not provided or is invalid.

E_SSLCERT

This happens when the server’s SSL/TLS certificate is invalid. There can be a variety of reasons for this error. Here are some common scenarios:

  • When the website’s domain name is not available in the server’s certificate.
  • When the server’s certificate is expired.

E_TIMEOUT

This error occurs when Distill is unable to load page contents. This can happen in the following cases:

  1. Local monitor timeout: Local monitor does not load in a background tab. Some pages need an active tab to load completely. You can verify this by clicking on the tab which checks the page. If clicking on it runs the check without any error and throws an error otherwise, it means the page requires to be active for the checks. For such cases, you can use either of the following methods:

    • Use Distill’s Desktop app to monitor it locally
    • Monitor it in the cloud using Distill servers
  2. Cloud monitor timeout: Cloud monitor times out when websites refuse to accept connections from some IPs. In these cases try using proxy servers in the cloud. Check out: https://distill.io/docs/web-monitor/monitor-webpage-using-proxy-servers/ for more information. Alternatively, you can use local checks to run the monitor in your browser.

  3. Request timeout: This happens when the request to the remote server fails as it took too long to respond. This error can be encountered for any type of monitor.

  4. Solutions:

    • If cloud monitors do not work with any proxy then, in most cases, using a local monitor works.
    • For Webpage Monitors, you can set the dynamic to true in the config.

E_TYPE_UNKNOWN

You get this error when the monitor’s type is unsupported. Here are the supported monitor types: supported-monitor-types.png

E_UNKNOWN

This is a generic error code used when the specific cause of the error cannot be determined or categorized. Generally, E_UNKNOWN errors are uncategorized errors that do not fall into any of the other categories described on this page.

E_VALIDATION_FAILED

This error is thrown when the extracted data does not meet the validation rules defined in the monitor.

  • This can happen when a required field is empty or missing
  • For user-created scrapers, check the Validators section in the Recorder and make sure the rules match the expected data format
  • If using a managed scraper, contact support for help

Feel free to contact us in case you need any help with troubleshooting.

Was this article helpful? Leave a feedback here.