EXC_BREAKPOINT<redacted> how to debug? - ios

We've recently released our app to our userbase and we are seeing a bunch of redacted exceptions in Sentry that we can't debug in any logical way.
The only thing these exceptions seem to have in common is that they never happen when the application is active:
And the available memory seems to be very low on these devices:
One theory we have is that the OS decides to close any background applications due to low memory available.
But it's quite a assumption to make at these point when I'm more inclined to believe we have made a mistake in our own code.
To my questions, how would we go about debugging these redacted exceptions? Are we right to believe that our app being closed when it's not active is no cause for concern?

The on-premise version of Sentry have several issues related to this specific problem. According to the Sentry team these will be fixed in a upcoming release for the on-premise version. But to summarize.
At first we had difficulties getting the upload scripts for the dSYMs to work. The Fastlane lane mentioned here did not work at all. Neither did the bash script that was prompted in the Sentry interface under debugging symbols.
What did work was using the sentry-cli (latest version) and bumping up the accepted file size for upload on our nginx server for our on premise. But after successfully getting our dSYMs file to actually show up in Sentry we had more problems.
The issues we've encountered are listed below:
A required debug symbol file was missing
#johan12345 Sorry for getting back to you so late. We've verified your debug symbols and can confirm they should process and symbolicate correctly. The issue you are referring to has been fixed a while back in both sentry-cli and sentry and will be available with the next release.
We have been preparing a major launch over the last couple of months which is why there have been no releases recently. However, since we've received a couple of requests regarding symbolication for on-premise customers, we will try to push a new release out soon. I cannot give you an exact timeline, though, so please stay tuned.
Again, I'm very sorry for the inconvenience this might have caused.
https://github.com/getsentry/sentry/issues/7595
Reprocessing 12 events …
Some users are reporting sometimes to be stuck on reprocessing. Mostly happens with self-installations but we also had two support issues.
This seems to be triggered by internal server errors in the processing pipeline in bad places.
Related: https://forum.sentry.io/t/stuck-there-are-x-events-pending-reprocessing/1518/6
https://github.com/getsentry/sentry/issues/5862
We've added a new button called "Discard all" which can be found above your processing issues list.
This will discard all processing issues and the corresponding events.
We've also found an error in our processing pipeline we've yet to fix.
I will close this issue for now and link new issues regarding processing errors later.
So the only thing I can advise you right now is basically deploy the master branch of Sentry because our last release was in November and we fixed a bunch of stuff since then.
Not sure if we release a new version before Sentry 9 (which still needs some time).
https://forum.sentry.io/t/ios-exceptions-shows-up-as-redacted/3681
TLDR: We are switching to Crashlytics

Related

Error 10054 when publish to Azure from Visual Studio

I have been using a publish profile from Visual Studio to publish my web app for about a year. Over the past week or two the process gets stuck and does a few retries until it fails. The error I am getting is:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.targets(4295,5): Warning : Retrying the sync because a socket error (10054) occurred.
2>Retrying operation 'Serialization' on object sitemanifest (sourcePath). Attempt 1 of 10.
Points to note:
Nothing has changed on my network
The publish profile is version controlled and is the same
The publish doesn't fail from the beginning. It publishes for a while.
Seems to fail if the file is bigger than ~10 or 15 MB
Others who have this issue, seems to be their ISP or their network but
it seems theirs fails from the beginning.
Tried it with two different publish profiles on two different subscription accounts resulting the same problem
Anyone has seen this? any ideas?
Finally, the issue is resolved. I had checked every bit, including calling my ISP, and didn't have any luck. Thanks to #rickvdbosch for mentioning the TCP/IP relevance to this problem that juggled my memory.
A few weeks ago, I upgraded the firmware on my router (as I am using DDWRT). I believe that was the culprit. I did upgrade to the latest DDWRT firmware and I see the issue is gone. It is deploying as before all the drama started.
So if another poor soul comes across this error, wish you luck but be aware of this possibility.

Xamarin android doesn't always deploy latest code changes

I'm new to Xamarin/Android, and so far it's been a pretty frustrating experience, compounded by code/AXML changes seemingly not being built or deployed to the emulator. I often find that a change I've just made seems to get ignored when I build and run the app.
My suspicions were confirmed when it started throwing an exception on a line in MainActivity.cs that I had commented out. Cleaning and rebuilding didn't help, and in the end deleted the bin and obj folders and uninstalled the app off the emulator for good measure (not sure which of these fixed it though).
Is it just me or is this a common issue? Is there anything I can do to prevent it from happening? I'm using VS2015 Community by the way.
Go to 'Tools/Configuration Manager' and make sure that both 'Build' and 'Deploy' options are checked for 'YourApp.Android' for active solution configuration and active solution platform. Then do 'Clean solution' and 'Rebuild solution', it should always work.
It looks like this is a common issue, as yet unresolved.
One of the comments in the above thread suggested that the problem can occur if you've only changed C# code, and unless you also "touch" one of the xml or axml files then the latest version won't be deployed. This seemed to do the trick in my case but it could have been a coincidence - Xamarin seems to be a temperamental beast, and will randomly fail to build or deploy on occasion, perhaps depending on the wind direction, or colour of my underwear that day.
I'm still in the early stages of learning Xamarin/Android, but if I don't enjoy the experience then I'll be jumping ship to Android Studio (although I'd prefer to stick with C# if I can).

How to get to the bottom of random crashes

I am working with my app in test flight now and I have experienced this maybe only one time myself. How can I get to the bottom of a rare crash without it being hooked up to the computer? The only information is that it occasionally will freeze, but other than that it doesn't seem to be happening with a specific action. How do I debug this?
Here are some approaches:
Write log files to the disk, which you can later sync. or send to a server for investigating which operations succeeded before it crashed
Integrate a custom (such as KSCrash, Crashlytics, etc.) crash reporter tool that allows you to see a backtrace (Note though that enabling Bitcode will make things much harder)
Try to reproduce the problem in the simulator (try different builds, debug build, release build, send memory warnings, etc.)
Try to reproduce with a computer connected. Interactive debugging makes things so much easier.
Good luck!

How to set Neo4J to restart automatically and to see the reson for crashing?

I'm running Neo4J 2.0.1 (I know, it's a bit outdated, but it was a stable release a few months ago).
Sometimes my DB crashes on the server (Linux), so I was wondering if there's anything like forever.js app to restart neo4j when it crashed.
Also, where is it possible to see the reason for crashing? Logs, etc?
Thank you!
Restarting crashed processes is normally a task for your monitoring system (Icinga, Nagios, ...). They check for the availability of some service and take some action (like restart or escalation) upon failure.
However you should investigate the reason for the crashes. Upgrading Neo4j to a recent version (2.1.6 as of today) is rather simple, see reference manual. Also check out the release notes to see what has changed since 2.0.1 - the list is pretty long. So upgrade, check if the crashes still occur. If so analyze the root cause, check data/graph.db/messages.log.

Two way communication in JIRA Mobile Connect for ios crashes the app due to sqlite locking

I am using the latest tag named "tip" and I am using JIRA on demand.
I just incorporated JIRA mobile connect into my ios app and it is behaving a bit oddly i.e. it is going into an infinite loop and hangs my app.
After turning the debug mode on and digging a bit deeper, I find the source of this problem is that the sqlite database table is locked.
The sequence of events is like follows:-
I launched my app for the first time
I created an issue successfully using JIRA mobile connect
I shut down my app
I updated the issue by adding comments in JIRA online via the web interface (to simulate a 2 way communication scenario)
I re-started my ios app
JMC gets the updates from JIRA rest api using https://xxxx.atlassian.net/rest/jconnect/1.0/issue/updates?sinceMillis=1408380024967&uuid=9371F70F-12CD-47EC-AB3E-4B0398FF453E&apikey=YYY&project=AAA- and it is able to find the updates that I had made in step 4
Since it finds changes, JMCIssueStore.m calls updateWithData method which has logic in it i.e.[self createSchema:YES] which attempts to drop the existing 2 tables and recreate the schema.
On the 1st table drop attempt i.e.[db executeUpdate:#"DROP table if exists ISSUE"],
the database table is found to be locked and JMC goes in an infinite loop retrying to execute this statement.
I am unable to find any answers for this on the Atlassian Q&A portal or otherwise on the web and I find it surprising as surely other people using this should be having the same issue or I have done something obviously wrong in trying to integrate it.
Has anyone encountered this or something similar? As this is one of the key features for which I am using JIRA Mobile Connect, i really need to figure out if it is worth debugging Jira mobile connect for this or just giving up and doing it from scratch.
The whole issue stemmed from a documentation error in the integration process of JIRA Mobile Connect specifically step 9 here where they asked to exclude all the JMC files from using ARC - which I had done. This is the root cause of the problem.
After going through the Angry Nerds Sample files and comparing it with my own, I realised they were exactly the same and still the Angry Nerds sample worked and mine didnt.
I retraced all my integration steps and on reaching step 9, it struck me that when I was going through the code, there were no sign of any manual release statements - which was odd if the code was indeed not using ARC.
I removed all my -fno-objc-arc flags from all the JMC files. And hey presto! the crashing issue isnt there anymore.

Resources