Getting to the Root Cause of an Application Error

Application Error

When Dolly Parton sang about “Workin’ 9-5”, she almost seemed to understand the very specific pain of sitting at an IT help desk and getting one last call at 4:59 in the afternoon. When you pick up that last call of the day, the last thing you want is to begin a long, arduous investigation. However, you know that you’ll leave the office late as soon as that caller says, “The application isn’t working.” Knowing that one report of an application error only means more are incoming, you stretch and start trying to fix the problem. 

 

While investigating the root cause of an application error is never pleasant, having the right information at your fingertips can save you time and restore services faster.

What are application errors?

Application errors are glitches or malfunctions that disrupt the user experience, often leading to unexpected crashes or freezes. When an application error occurs, the application delivers an error message providing information about the error, including codes or descriptions to help troubleshoot the problem. Error messages can be simple notifications or complex technical descriptions depending on the application and details that the developers provided. 

 

Application errors typically fall into a few basic categories:

  • Syntax errors: mistakes or typos that violate the language’s rules, like missing characters, incorrect operators, or incorrect data types
  • Logic errors: syntactically correct but logic or flow is wrong, like incorrectly formulated loop condition, incorrect data structures, or incorrect API use
  • Runtime errors: issues that occur when the program executes that prevent it from operating as intended, like null reference exceptions, division by zero, file not found, stack overflow, buffer overflow, access violations
  • Memory leaks: problems with memory management that slow down or crash the application, like incorrect memory allocation and deallocation, incorrect pointer, or infinite loops

 

While the help desk may fix a minor error may be easy, a critical application error that causes system failures or data loss may require escalation to someone more experienced. Typically, operations teams analyze various log data to locate the application error’s root cause. Some logs that help identify errors include:

  • Load Balancer logs: make sure traffic evenly distributed to maintain performance
  • Application logs: look for error messages to identify problems
  • Web server logs: identify whether servers experienced issues processing requests
  • Performance metrics: review network performance for potential bottlenecks

 

What are common application errors?

Various internal and external factors can cause application errors, and the error’s root cause impacts the reason for application failure. 

Programming errors

Development teams usually rigorously review and test their applications before pushing them live. Sometimes mistakes in code make it through the review process because they don’t crash the program but cause it to behave unexpectedly. 

 

Network connectivity 

Connectivity or network configuration issues can lead to errors for web-based applications. Some issues that impact application performance and stability include:

  • Slow network speeds
  • Firewall configurations
  • DNS resolution problems

 

Misconfigurations

Sometimes people make mistakes in the directions they give applications. These misconfigurations can prevent the application from functioning properly. Some typical misconfigurations include problems with the following:

  • Database connections
  • Authentication mechanisms
  • Third-party integrations

 

Common Application Error Codes and Messages

The amount of information in an application error message depends on the amount of detail that the developer includes. However, you can start your investigation by knowing some of the most common codes and messages. 

0xc0000022 Application Error

This Windows error message typically means that the application can’t access the resources or files it needs to launch the program.

Some issues to look for include:

  • Access permissions
  • Damage or corrupted files
  • Missing DLL file
  • Anti-virus blocking communications

 

503 Service Unavailable

This message indicates that a server is temporarily unable to handle a request. Some reasons for this can be:

  • Overload
  • Maintenance
  • Bottleneck in the server chain
  • Firewall misconfiguration

 

507 Insufficient Storage

This low memory error means that the server doesn’t have the space to respond to the request. Some issues to look for include:

  • Server disk or file system reaching capacity limit
  • Server configured with file or storage quotas for individual users or groups
  • Temporary issues with storage, like disk error or failures

 

599 HTTP Status Code

The user’s device and the servers aren’t communicating properly. When the server takes too long to respond to a request, the timeout error tells the user not to wait. Some issues to look for include:

  • Server overload
  • Non-existent server
  • Network hardware issues
  • Network infrastructure issues

 

Application Boot Error Message

This error message means an application failed to start correctly. Some issues to look for include:

  • Corrupted files
  • Incompatible software versions
  • Conflicts with other applications

 

DNS Server Not Responding

This error means that the user’s device is having difficulty communicating with the domain name server (DNS) that translates the URL into a numeric IP address. Some server-side issues to look for include:

  • IP configurations
  • DNS server configurations
  • Authoritative data 
  • Zone transfer 

Some client-side issues to look for include:

  • IP configurations
  • Network connectivity

 

Duplicate Address Error

This error usually means that two devices on the network have the same IP address. This can happen if you set a static IP address for one device but use a Dynamic Host Configuration Protocol (DHCP) for general connectivity. 

 

Invalid TLS/SSL Certificate

This error means that the user’s browser can’t verify the digital certificates proving that the communications with the server use HTTPS secure protocol. Some issues to look for include:

  • Expired or inactive certificate
  • Missing hostname
  • Invalid/incomplete certificate chain
  • Revoked certificate
  • Untrusted certificate authority 
  • Insecure signature algorithm
  • Missing/incorrect certificate transparency information

 

Graylog Operations: Application Error Investigation at Lightning-Fast Speed

With Graylog Operations, you get prebuilt content enabling you to gain at-a-glance visibility into the metrics that matter. By collecting, parsing, and aggregating generic logs, you can correlate the “what” happened with the “when” it happened. With our centralized log management platform, you can create visualizations based on simple search results grouped by application, server, and error type. Further, by ingesting system metrics to view alongside your logs you can identify issues related to database and server CPU and memory that can help point you to application issues.

To see how Graylog can help you rapidly investigate app errors, contact us today!

Categories

Get the Monthly Tech Blog Roundup

Subscribe to the latest in log management, security, and all things Graylog blog delivered to your inbox once a month.