Crash reports without any stacktrace (Windows 8.1) - exception

I'm really looking for your help people...
I'm currently in a transition of switching from Splunk MINT (previously Bugsense) to HockeyApp for beta distribution and bug reporting of my Windows 8.1 application.
My problem is that I've several crash reports without any stacktrace which makes it pretty much impossible to resolve this errors.
I'm not an expert in this field so I'm curious how is it possible that nearly all of the received crashes include a stacktrace but only a few are without any detailed information.
Also the exact exception report may vary for the two different Bugreporting frameworks.
A few examples:
System.ArgumentException: The paramter is incorrect.
(System.ArgumentException: Value does not fall within the expected range.)
No stacktrace!
HockeyApp reports it as "parameter is incorrect" while the Splunk report says "Value does not fall within the expected range".
It's definitely the same crash since it occurs at the exact same timestamps and for the same devices. I don't get why the reports are different
Occurs about ~1 every 1000 sessions
System.Exception: The operation cannot be completed because the window is being closed.
Same report on Splunk & HockeyApp
Minimal stacktrace on Splunk (No stacktrace on HockeyApp):
1 Windows.UI.Core.CoreDispatcher.RunAsync
2 System.Threading.Tasks.AwaitTaskContinuation.RunCallback
Occurs about ~1 every 1000 sessions
System.Exception: Exception of type 'System.Exception' was thrown.
No stacktrace!
It seems like there are some reports where only one of the two crashreporting frameworks displays a stacktrace. For others neither does.
Has anybody any idea for the absence of stacktraces at all?
Many thanks for any help in advance!!

Related

When running the DAML sandbox an error occurs

The following error occurs when running the sandbox:
io.grpc.netty.NettyServerHandler onStreamError
WARNING: Stream Error
io.netty.handler.codec.http2.Http2Exception$HeaderListSizeException: Header size exceeded max allowed size (8192)
What could the cause of this be?
I have seen this error numerous times, and it is a consequence of having a transaction failure in a complex DAML model/transaction when running on the Sandbox. When you experience a transaction failure (fetch/exercise an inactive contract, lookupByKey returned a stale cid, head [], divide-by-zero, etc) the sandbox helpfully tries to provide transaction trace information in the error result.
This is normally fine for relatively simple models. With more complex models this trace can exceed the maximum header size producing the error you see. When this happens I have found the trace in the sandbox.log file, sometimes along with other errors that help explain what is going on.
The trace is an unformatted dump, so it can take a bit of effort to decode manually, but I have done it many times myself and the information I needed to identify the issue has always been there —— and to be honest, generally just knowing the choice I was exercising + the specific class of error is normally enough to point me in the right direction.
I believe there is some tooling being built to help with this sort of diagnosis; however, I don't know how advanced the work on that is.

Set stackdriver alerts for specific error messages

Cannot find a clean way to set Stackdriver alert notifications on errors in cloud functions
I am using a cloud function to process data to cloud data store. There are 2 types of errors that I want to be alerted on:
Technical exceptions which might cause function to 'crash'
Custom errors that we are logging from the cloud function
I have done the below,
Created a log metric searching for specific errors (although this will not work for 'crash' as the error message can be different each time)
Created an alert for this metric in Stackdriver monitoring with parameters as in below code section
This is done as per the answer to the question,
how to create alert per error in stackdriver
For the first trigger of the condition I receive an email. However, on subsequent triggers lets say on the next day, I don't. Also the incident is in 'opened' state.
Resource type: cloud function
Metric:from point 2 above
Aggregation: Aligner: count, Reducer: None, Alignment period: 1m
Configuration: Condition triggers if: Any time series violates, Condition:
is above, Threshold: 0.001, For: 1 min
So I have 3 questions,
Is this the right way to do to satisfy my requirement of creating alerts?
How can I still receive alert notifications for subsequent errors?
How to set the incident to 'resolved' either automatically/ manually?
I was having a similar problem and managed to at least get a mail every time. The "trick" seems to be to use sum instead of count in combination with for most recent value - see the screenshot below.
This causes Stackdriver to send a mail everytime a matching log entry is found and closing the issue a minute later.
Normally, alerts resolve themselves once the alerting policy stops firing. The problem you're having with your alerts not resolving is because your metric only writes non-zero points - if there are no errors, it doesn't write zero. That means that the policy never gets an unambiguous signal that everything is fine, so the alerts just sit there (they'll automatically close after 7 days, but I imagine that's not all that useful for you).
This is a common problem and it's a tricky one to solve. One possibility is to write your policy as a ratio of errors to something non-zero, like request count. As long as the request count is non-zero, the ratio will compute zero if there are no errors, and so an alert on the ratio will automatically resolve. You need to be a bit careful about rounding errors, though - if your request count is high enough, you might potentially miss a single error because the ratio could round to zero.
Aaron Sher, Stackdriver engineer
We got around this issue by having the insertId as a label of the log-based metric we created for every log record we get from the pods running our services.
In the alerting policy, this label helped in two things:
We grouped by it (named as record_id) which served in making each incident unique, so it got reported without waiting for other incidents to get resolved and at the same time it got resolved instantly.
We used it in the documentation of the notification to include a direct link to the issue (log record) itself which was a nice and essential feature to have. https://console.cloud.google.com/logs/viewer?project=MY_PROJECT&advancedFilter=insertId%3D%22${metric.label.record_id}%22
As #Aaron Sher mentioned in his answer, it is a tricky problem. We might have done something not recommended or not efficient, but it works fine and of course we are open for improvement recommendations.

NullPointerExceptions while executing LoadTest on WSO2BPS

While performing loadtests on WSO2 BPS 3.2.0 we`ve ran onto the problem.
Let me tell you more about out project and our actions.
Our BPS process is designed to manage some interactions with 3 systems. Basically it is "spread" on two parts - first one to CREATE INSTANCE in one of systems, then waiting a bit, and then SELECT OFFER in instance context.
In real life it looks like: user wants to get a product, the application asks system for an offers and then the user selects offer from available ones.
IN BPS the first part is a straight-forward process, the second part is spread on two flows - one to refresh information with a new offers, and another is to wait if the user chooses one of them.
Our aim is to stand about 1000-1500 simulatious threads on the load-test. An external systems are simulated by mockups executed by LoadUI.
We can achieve our goal if we disable "Process-Level Monitoring Events" in deployment descriptor (set it to "none") of our process. Everything goes well and smooth for hours.
But if we enable this feature (and we need to), everything falls with an error very soon (on about 100-200 run):
[2015-07-28 17:47:02,573] ERROR {org.wso2.carbon.bpel.core.ode.integration.BPELProcessProxy} - Error processing response for MEX null
java.lang.NullPointerException
at org.wso2.carbon.bpel.core.ode.integration.BPELProcessProxy.onResponse(BPELProcessProxy.java:402)
at org.wso2.carbon.bpel.core.ode.integration.BPELProcessProxy.onAxisServiceInvoke(BPELProcessProxy.java:187)
at
[....Et cetera....]
After the first appearance of this error another one type appears - other threads just fall after the timeout.
It seems that database is ok (by the way, it is MySQL 5.6.25). The dashboard shows no extreme levels of input or output.
So I think the BPS itself makes a bottleneck. We have gave it 8gb heap and its conf options are set for extreme amounts of threads (if it possible negative values are set and if not - just ridiculously big like 100000).
Anyone has ever faced this problem? Appreciate any help very much.
Solved in BPS 3.5.0 version, refer to release-notes

Chrome error: "Inspected target disconnected. Once it reloads we will attach to it automatically."

I receive a Chrome (43.0.2357.124) "Aw, snap!" error that renders "Inspected target disconnected. Once it reloads we will attach to it automatically." in the developer console.
Without being too specific to my project and trying to make the question more generally applicable, it appears to occur occur during a Promise that features a ~5 second delay.
This function (can be seen in context on the repo https://github.com/mitTransportAnalyst/CoAXs/blob/master/public/scripts/main/services/analystService.js#L35-L44) performs fine on Firefox 38.0.5. It is receiving a large GeoJSON array - perhaps that could somehow be related to the issue, though I do not know for sure.
At this point, any advice on next steps for how to debug this would be appreciated, even googling this specific issue doesn't come up with any results (5 irrelevant results as of Wed 6:00, June 17: https://www.google.com/search?sclient=psy-ab&biw=1280&bih=678&q=%22inspected%20target%20disconnected%22%20chrome&oq=%22inspected%20target%20disconnected%22%20chrome&gs_l=serp.3...805885.806603.1.806844.2.2.0.0.0.0.72.122.2.2.0....0...1c.1.64.serp..2.0.0.O7y1WqVbj0c&pbx=1&psj=1&ion=1&cad=cbv&sei=LvKBVfarHcyw-AHVioHYBg&rct=j#q=%22Inspected+target+disconnected%22+chrome).
Added this as a comment but interested to see if anyone knows why this happened:
Issue ended up being related to the delayed receipt of > 3 MB files (assembled piecemeal). There is some (limited) documentation of this error occurring here code.google.com/p/v8/issues/detail?id=3968 (the results of which are, unfortunately, inconclusive). Ended up working with the data provider and reducing file size substantially, which resolved the issue. Curiously - if anyone can posit as to why this was occurring - console.loging where data was concatenated seemed to avoid the issue. If this didn't occur, the tab would suddenly exceed ~1.3GB and crash.
You can see link to point where I was console.loging here: https://github.com/mitTransportAnalyst/CoAXs/blob/master/public/scripts/analyst.js#L10343
Turn off your extensions. I had a Knockoutjs context debugger plugin and it caused the very same behaviour with the same version of Chrome.
I just have the same problem. When i check code that have a infinity loop. That is add the same object again and again it takes high memory. When it full the ram then the page is going to unresponsive. When i check it in Mozilla Firefox the ram full alert is shown in my Antivirus. Chrome can handle it but Mozilla can't take it. It will loop as it's possible. So don't blame chrome it is handle the exception. Check the codes. If its not your page then leave it.
Finally check the loops....

Difference between bug and failure [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I want to ask about the difference between bug and failure and error, i read that the error is mistake made by people, but i conflicted between the difference between the bug and failure. I can't know the difference exactly. Can any one help please and give simple snippet for code represents the difference.
Thanks a lot.
Bug is a programming error - not checking array bounds, ignoring error codes, multiple deletions, memory leaks, etc. fall under this general category. Errors like this require code changes to fix (there may be work-arounds that do not require code changes, though)
Failure is a system error - disconnection of storage, lack of network connectivity, and hardware failures are in this category. Fixing failures usually requires configuring other parts of the system, not the program itself.
User errors are mistakes made by users - entering values incorrectly or providing incomplete data are in this category. Errors like that are fixed by the user who uses the program without anyone else's involvement.
By my definition I would say
An error is about my behavior, or my acting. so I make errors.
A bug is the the result of my error in the program code.
The failure is the malfunction of my buggy software.
but others may interpret this differently.
A fault or Bug is a defect within the system (Somewhere hidden in the code and maybe never detected!).
An error is a deviation of the required operation of the system or subsystem. (The fault detected during execution but no harm).
A failure occurs when the system fails to perform its required function. (System crash)
An Error is a manifestation of a fault in a system, which could lead to system failure.
(Singhal/Shivaratri)
Example:
If you multiply x with 4 instead of 2 in your code, but there is no way to affect any functionalists or is not visible. This is a bug or fault.
If user can see it, let's say with having a wrong text as subject of email, then this is an error but still system worked and no harmful event happened.
But if your system withdraw the wrong money to user in a bank or your robot cut the head of the lady instead of cutting the cake for her then this is a failure :)
Instead of code snippets, I gave your examples below. I hope examples help you to understand the term better.
Bug is a term used among testers to address faults in software.
Error is a value or state or operation that is varies from expected value or state or operation. For example, programmer makes a mistake like missing a semi-colon, calling a wrong function name.
Result from system != Expected Result from system
Fault is a error brought into a system during design or implementation stage that is capable of causing system failure. Imagine some company X gives discount to their loyal customer. Loyal customer is someone who shops 10 times in a month. In software, programmer enter 20 times instead of 10. This is a mistake introduced by programmer called error. then it turned to fault. In tester language, it is a bug.
System failure is an inability of a system to do, what is required of the system. For example, if a user tries to sign up for account in a social networking site if they site fails to register the user. Then, that is system failure.
Technically,
Error -----> Fault -----> Failure
The root cause of any failure is error.