Known solutions and workarounds

This page details a number of resolved issues and solutions to issues that have been reported to the Dynatrace Support team.

Alpine Linux/musl-libc, Memory allocation


Issue

On musl-libc-based Alpine Linux systems, each executable has its memory limits which are controlled via the MPROTECT parameter. When monitoring an musl-libc-based Alpine Linux application with Dynatrace OneAgent, your process (for example, a Java process) may exceed the specified memory limit. When this is the case, the subsequent memory allocation will fail with a message like There is insufficient memory for the Java Runtime Environment to continue.

Solution

To overcome such issues, it's recommended that you ignore the memory protection parameter for executables that you plan to monitor with Dynatrace OneAgent. To do this, you must install the paxctl tool using

apk add paxctl

You can then remove the memory check, for example

paxctl -m /usr/lib/jvm/java-1.8-openjdk/jre/bin/java

For 3rd-party executables not shipped by Alpine, you'll be notified that

<file> does not have a PT_PAX_FLAGS program

In such instances, convert your file beforehand, for example

paxctl -C /usr/lib/jvm/java-1.8-openjdk/jre/bin/java

PHP running in Apache on Windows, Stack size


Issue

The default stack size of Apache on Windows is 1 MB, which is rather low compared to other platforms. Therefore, the additional memory footprint involved in enabling Dynatrace monitoring for PHP can lead to stack overflows.

Solution

This problem can be solved by changing the stack size to 8 MB, which is the default on Linux.

<IfModule mpm_winnt_module>
   ThreadStackSize 8388608
</IfModule>

Cloud Foundry, IBM WebSphere Liberty buildpack


Issue

The recommended version of IBM WebSphere Liberty buildpack changed from v3.7-20170118-2046 to v3.9-20170419-1403 due to known issues related to a limitation of the JVM command line to 512 characters and an issue with trailing slashes.

Solution

Please use IBM WebSphere Liberty buildpack version v3.9-20170419-1403+

Host, Ubuntu 16.10


Issue

Due to compile optimization changes in the C runtime packages provided with Ubuntu 16.10, new stack-alignment requirements have been introduced. OneAgent versions earlier than 1.103.237 don't yet fulfill these requirements. Using versions of OneAgent earlier than 1.103.237 may lead to process crashes during dynamic symbol resolution (dlsym) calls in the C runtime.

Solution

Update to OneAgent version 1.103.237 or higher. This version of OneAgent will be available to all Dynatrace environments by October 20th, 2016. Here are the instructions for upgrading OneAgent:

  1. Select Settings > Preferences from the navigation menu (only visible to environment admins).
  2. Ensure that the Automatically update OneAgent instances setting is enabled. OneAgent version 1.103.237 will be automatically deployed once it’s available on your environment. If Automatically update One Agent instances is disabled, select OneAgent version 1.103.237 or higher and click Update now.

Java, IBM J9


Issue

In rare situations, when implementing a try-catch-finally block and catching a multi-type exception with Java 7, the exception is caught, but the source code in the finally block doesn't execute. This issue has been fixed since IBM J9.

Solution

Fixed since IBM J9

  • 7 R1 SR2 FP11 (7.1.3.0)

  • 7 SR9 (7.0.9.0)

  • 8 SR1 (8.0.1.0)

Source

Java, WebSphere MQ , JMS


Issue

When using WebSphere MQ via JMS, Dynatrace isn't always able to determine the queue name and may report the queue name as 'unavailable'. This happens when MQ messages have not been properly mapped to JMS.

Solution

Follow the IBM documentation for mapping JMS messages onto IBM MQ messages. Once the MQRFH2 header has been properly mapped, Dynatrace will pick up the correct queue name.

Java, Oracle HotSpot/OpenJDK


Issue

A known issue in Oracle HotSpot and OpenJDK can lead to a JVM deadlock in ThreadTimesClosure or incomplete CPU timings of background activities. Be sure to update to Oracle HotSpot 6u38/7u40 or OpenJDK 7u45 and higher to benefit from this solution.

Solution

Fixed in Oracle HotSpot 6u38/7u40 and OpenJDK 7u45

Source Oracle HotSpot 6 Source Oracle HotSpot 7 Source OpenJDK

Java, Spring, AspectJ


Issue

Some customers have reported the below NullPointerException during startup of their Java Spring or AspectJ applications. AspectJ has resolved this issue in version 1.6+. Ensure that the classpath is updated to use AspectJ 1.6+.

Message: NullPointerException at

`org.aspectj.weaver.reflect.Java15AnnotationFindergetAnnotations
  (Java15AnnotationFinder.java:109)`

Solution

Fixed since Spring 2.5.4/AspectJ 1.6

Source

Java/Real user monitoring/Apigee


Issue

Real user monitoring of Java applications may trigger a ClassCastException error upon a type cast to the implemented HttpServletRequest interface because Dynatrace replaces the original HttpServletRequest implementation with a RequestWrapper for automatic JavaScript tag injection.

This crash also occurs for customers using Apigee.

Solution

You have a few options:

  1. Change your source code so that it doesn't expect a specific implementation of the HttpServletRequest interface.
  2. If you're using a 3rd party framework, you can reach out to your framework vendor.
  3. For Apigee, we've disabled real user monitoring auto-injection. Manual real user monitoring injection isn't affected and can be used as a workaround.
  4. You can use a web server in front of Java—the web server will auto-inject the real user monitoring tag and thereby avoid the crash.

Source:

n/a

UI/Docker


Issue

With Docker versions 1.10.3 - 1.11, CPU, memory, and network container statistics are missing from the UI because data requests sent to containers via docker stats time out. Restarting Docker addresses this issue temporarily.

Solution

Fixed since Docker 1.12. Upgrade to Docker 1.12.

Source

UI/IIS


Issue

Due to a lack of Windows Performance Counters, the Further details tab may be not visible in the UI for IIS processes, even following IIS restart. No errors are raised during OneAgent injection.

Solution

This can occur if there is a problem with the Performance Counter Library in the Windows Registry. To check this:

Using a Windows command, verify that the metrics are not retrievable from the Windows Registry: typeperf "\Process(w3wp*)\ID Process" -sc 15 Alternatively, use Perfmon.exe to see if data is available for the counters or to confirm that the counters don't exist.

Consult Microsoft technical documentation to rebuild the performance libraries in the registry.

Source

.NET, IIS


Issue

If IIS monitoring is enabled for an ASP.NET application using .NET >= 4.5 and < 4.6, in rare circumstances the application could fail with an unhandled NullReferenceException.

Message: System.NullReferenceException at

`System.Web.Security.Roles.IsUserInRole(String username, String roleName)`

Solution

Fixed since .NET 4.6.

Source

.NET, Cassette


Issue

Customers reported a crash when using the Cassette web asset management library.

Message: Crash at

`[TinyIoCResolutionException: Unable to resolve type: Cassette.Views.BundlesHelper]`

Solution

As a workaround, you can use the file system as Cassette's cache by specifying a directory in your web.config file as follows:

`<cassette cacheDirectory="App_Data\Cassette" />`

Potentially fixed in v2.4.1

Source

.NET, ConfuserEx


Issue

Using the assembly-obfuscation tool ConfuserEx can sometimes crash .NET applications because the ConfuserEx assembly doesn't allow "profilers" like Dynatrace.

Message: Crash at

`System.Environment.FailFast(System.String)`

Solution

Disable ConfuserEx obfuscation or disable Dynatrace monitoring at the process level.

Source

Real user monitoring, Chrome


Issue

Real user monitoring analysis with Google Chrome can lead to browser crashes when some resources can't be loaded.

Message: Crash at

`window.performance.getEntriesByType('resource')`

Solution

Until Chrome provides a fix for this issue, make sure that all resources are loaded successfully (no 301 responses) or disable W3C resource timing for third party/CDN.

To disable W3C resource timing for third party/CDN:

  1. Select Applications from the navigation menu.
  2. Select the application you want to edit.
  3. Click the More (...) button.
  4. Click Edit.
  5. Click Content capture.
  6. Set the W3C resource timing for third party/CDN switch to Off.

Source

Agentless real user monitoring, Chrome


Issue

Users may see a browser warning in Chrome's Developer Console if they are on slow connections such as 2G networks.

Message: A Parser-blocking, cross-origin script, https://js-cdn.dynatrace.com/jstag/148709fdc4b/ruxitagent_2fgjqrx_10111170210093847.js, is invoked via document.write. This may be blocked by the browser if the device has poor network connectivity. See https://www.chromestatus.com/feature/5718547946799104 for more details.

Solution

  1. Select Applications from the navigation menu.
  2. Select the application you want to configure.
  3. Click the Browse (...) button and select Edit.
  4. In the Setup section, select Agentless monitoring setup.
  5. Disable the Easy monitoring switch.

The only downside of this change is that every time you make a configuration change you have to copy and re-inject the real user monitoring JavaScript tag again. Therefore, it's better to use the REST API to get the updated tag.

Source

Real user monitoring, jQuery


Issue

In the course of real user monitoring, failing asynchronous JQuery user actions lead to action timeouts after 180 seconds, but no error is reported. This is caused by a known jQuery limitation.

Solution

JQuery has not provided a fix for this problem. To resolve this issue, fix the failing jQuery call on your end (for example, an AJAX request to a missing resource) or disable jQuery in XHR (Ajax) detection settings and enable basic XHR detection.

To disable JQuery detection and enable basic XHR detection:

  1. Select Applications from the navigation menu.
  2. Select the application you want to edit.
  3. Click the More (...) button.
  4. Click Edit.
  5. Click XHR (Ajax) detection.
  6. Set the JQuery, Backbone.js switch to Off.
  7. Set the Basic XHR detection switch to On.

Source

Real user monitoring, Ext JS


Issue

In large, complex Ext JS applications customers experienced client side response time degration like a web browser notification about an unresponsive script. Due to the internal event handling mechanism of Ext JS the application can be running slow if too many events are triggered which are captured by the real user monitoring JavaScript tag.

Solution

Turn off extended Ext JS event capturing in real user monitoring settings.

  1. Select Applications from the navigation menu.
  2. Select the application you want to edit.
  3. Click the More (...) button.
  4. Click Edit.
  5. Click Advanced setup detection.
  6. Add exteventsoff=1 into the Custom configuration properties text field within the JavaScript library settings.

If certain user actions are not captured afterwards, use the JavaScript API to trigger actions manually.

Real user monitoring, Visually complete, Internet Explorer 11


Issue

Enabling the Visually complete application setting while using Dynatrace with Internet Explorer 11 can lead to a complete page crash or hanging in cases where heavy <table> or table-like (using the style attribute display:table) DOM mutations occur. This tends to be more common with single-page applications. Simply monitoring mutations with the MutationObserver, as is done for Visually complete, can crash the page once it's loaded. Here is a simple reproduction of the issue with a table-like element mutation crash.

More information on Visually complete and speed index

Note: Speed Index and Visually Complete metrics are only available on browsers that support mutationobservers. This includes the following browsers:

  • Microsoft Internet Explorer 11 or later.
  • Microsoft Edge 15 or later.
  • Firefox 57 or later.
  • Google Chrome 61 or later.

Speed index is only available for load actions. Visually complete is available for all load actions, but not for AJAX requests, which don't affect the DOM.

Solution

Microsoft fixed the bulk of this issue for <table> element mutations in a recent update. Update Internet Explorer 11 to this version to fix this issue in most cases.

Elements with the style attribute display:table still run into this problem following update of Internet Explorer 11. For this reason, we've created a feature flag you can use to disable Visually complete within Internet Explorer 11 only. To enable this feature flag, set the custom configuration value "dmo=1".

Redhat Enterprise Linux 7.4


Issue

RHEL v7.4 (upgraded from v7.3 or fresh install) comes with the stix-fonts package. When this package is installed, the default font changes from Utopia to STIX. As a result, Java default fonts are mapped to STIX, including the sans-serif font family. However, the STIX fonts don't seem to be compatible with Java (OpenJDK + IBM JDK) and cause exceptions and bad calculated artefacts when using java.awt, which is the case with JasperReports.

For Dynatrace Managed, which is based on Java, this issue was experienced as a problem in Smartscape. More specifically, selecting any item in Smartscape shows an unspecific error message that something went wrong.

Solution

Create a file /etc/fonts/local.conf with the content shown below to explicitly make Utopia the default font again.

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <alias>
    <family>serif</family>
    <prefer><family>Utopia</family></prefer>
  </alias>
  <alias>
    <family>sans-serif</family>
    <prefer><family>Utopia</family></prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer><family>Utopia</family></prefer>
  </alias>
  <alias>
    <family>dialog</family>
    <prefer><family>Utopia</family></prefer>
  </alias>
  <alias>
    <family>dialoginput</family>
    <prefer><family>Utopia</family></prefer>
  </alias>
</fontconfig>

Source

IBM HTTP Server (IHS) 8.5


Issue

IHS 8.5 on Linux crashes with segmentation fault.

Solution

Disable prelink on IHS server.

Source

Adobe Dispatcher


Issue

When using Adobe Dispatcher with a web server monitored by Dynatrace OneAgent, the RUM JavaScript agent tag is injected twice into the HTML page. As a consequence, the RUM JavaScript agent will be executed twice at the browser, producing unnecessary load (e.g. the beacons will be sent twice, etc.).

The reason for this is that Adobe Dispatcher doesn't cache HTTP response headers by default and so the header X-OneAgent-JS-Injection "gets lost" for already injected sites, which are served from the cache. If this header is not present, the webserver agent injects (another) RUM JavaScript agent tag, even if it's already present in the cached content.

Solution

The dispatcher needs to be configured to cache the response header "X-OneAgent-JS-Injection". To avoid double injection of the RUM JavaScript agent tag when using Adobe Dispatcher with a web server monitored by Dynatrace OneAgent, add "X-OneAgent-JS-Injection" to the /cache/headers section of the Adobe Dispatcher configuration:

/cache
{
    # Cache configuration
    # <existing configuration>
    # ...

    /headers
    {
        "X-OneAgent-JS-Injection"
    }
}