SIGABRT while debugging async methods

2»

Answers

  • RicardoSRicardoS ESMember ✭✭✭

    Sorry, @ernestochaveschaves .

    I don't think there is going to be a solution. Ever.
    You better do as I did and try Swift.

  • There must be a way to run this correctly, it is impossible that everyone is experiencing this, so I must be doing something wrong. It is amazing that nobody reads this forums tho.

  • RicardoSRicardoS ESMember ✭✭✭

    @ernestochaveschaves
    If it makes you feel better, I just pestered some Admin (or who knows what they were) with these thread, so some read the forums.

    If I get banned for my daring nuisance, I want to wish you good luck with your projects.

  • @RicardoS I hope you don't. I am with support from MS, let's see if they can figure it out.

  • RicardoSRicardoS ESMember ✭✭✭

    @ernestochaveschaves

    I'm with support too, but we never reach a solution...

  • @RicardoS
    I provided steps and they were able to reproduce, this was the answer:

    Thank you for the information. I was able to reproduce the problem with the sample on an Android Emulator by setting the breakpoint on the async function, so this is definitely still present in the current version of Xamarin.

    Upon some digging, this seems to be part of the Mono runtime which is causing the Assert exception:

    Assertion at /Users/builder/jenkins/workspace/xamarin-android-d15-6/xamarin-android/external/mono/mono/mini/debugger-agent.c:4768, condition `array->len == 1' not met

    And I found that this has since been resolved in the Mono Github: https://github.com/mono/mono/commit/2ad3f0bf9ed6b0943c302cc3d9a917e0782b5328
    As you can see, there was no consideration for async void functions, and some methods have been changed.

    This means that it is a matter of time until the latest Mono version is implemented as part of the Xamarin package, and this bug fix is included there. Unfortunately, I don’t have an estimate on when this will happen.

  • RicardoSRicardoS ESMember ✭✭✭

    @ernestochaveschaves said:
    @RicardoS
    I provided steps and they were able to reproduce, this was the answer:

    Thank you for the information. I was able to reproduce the problem with the sample on an Android Emulator by setting the breakpoint on the async function, so this is definitely still present in the current version of Xamarin.

    Upon some digging, this seems to be part of the Mono runtime which is causing the Assert exception:

    Assertion at /Users/builder/jenkins/workspace/xamarin-android-d15-6/xamarin-android/external/mono/mono/mini/debugger-agent.c:4768, condition `array->len == 1' not met

    And I found that this has since been resolved in the Mono Github: https://github.com/mono/mono/commit/2ad3f0bf9ed6b0943c302cc3d9a917e0782b5328
    As you can see, there was no consideration for async void functions, and some methods have been changed.

    This means that it is a matter of time until the latest Mono version is implemented as part of the Xamarin package, and this bug fix is included there. Unfortunately, I don’t have an estimate on when this will happen.

    So, do you still have an issue?
    Did that solve it?

    Regards

  • It seems it was fixed in mono but they have no idea when will it be added as a part of the Xamarin package. That's my answer. My solution meanwhile is waiting, or restructure my code to avoid async methods that return void but I still don't know how to do that in event handlers.
    At least I'm not crazy.

    I appreciate you looking at this.

  • RicardoSRicardoS ESMember ✭✭✭
    edited April 2018

    @ernestochaveschaves
    No worries, mate. Always ready to lend a hand.
    I'll let you know if I get another response from MS Support.

    Regards and take care.

    P.S.:
    I cannot get rid of our async methods. Or at least I'm not allowed to remove them. Thanks for the suggestion anyways.

  • RicardoSRicardoS ESMember ✭✭✭

    Good news, everyone! (That means bad news)
    We have fail at our latest attempt to pester Apple with our "failure" of an app. On the other hand, here is a new crashlog.

    P.S.:
    The log came in a '.crash' file, but the forums won't allow it, so I'm uploading a '.txt' file.
    Original: tns.gyrldvng.crash
    New name: gyrldvng.txt

  • Daxton47Daxton47 Member ✭✭
    edited April 2018

    @RicardoS
    @ernestochaveschaves

    Any update on the time frame of when the Xamarin project will get updated? We are basically at a standstill with our Xamarin.Forms .NET project until this is resolved. We have tried everything from rollbacks to using different REST libraries to no avail (Refit, etc...).

    Getting the same obscure error:

    • Assertion at /Users/builder/jenkins/workspace/xamarin-android-d15-6/xamarin-android/external/mono/mono/mini/debugger-agent.c:4768, condition `array->len == 1' not met

    • Fatal signal 6 (SIGABRT), code -6 in tid 27818 (SMobile.Android)

    Would appreciate it if we could get some Xamarin.Forms Administration on this forum...?

  • Daxton47Daxton47 Member ✭✭

    Resolved, at least for Android. Yet to test on iOS.

    Our specific problem was in some network failures when it came to the android device IP getting blocked by firewall. Took us a couple days to find this though due to the very, very obscure error message.

    The debugging now works throughout the API call. Link to more in-depth solved forum on this issue:

    forums.xamarin.com/discussion/73314/xamarin-android-returned-no-custom-httpclienthandler

  • RicardoSRicardoS ESMember ✭✭✭

    @Daxton47 said:
    Resolved, at least for Android. Yet to test on iOS.

    Our specific problem was in some network failures when it came to the android device IP getting blocked by firewall. Took us a couple days to find this though due to the very, very obscure error message.

    The debugging now works throughout the API call. Link to more in-depth solved forum on this issue:

    forums.xamarin.com/discussion/73314/xamarin-android-returned-no-custom-httpclienthandler

    Any luck with iOS? It's the only one giving us trouble right now...

  • RicardoSRicardoS ESMember ✭✭✭

    @Daxton47
    Ok, discard that las response. It's happening in Andoid too.

    [] * Assertion at /Users/builder/jenkins/workspace/xamarin-android-d15-6/xamarin-android/external/mono/mono/mini/debugger-agent.c:4768, condition array->len == 1' not met [libc] Fatal signal 6 (SIGABRT), code -6 in tid 7882 (arinamaps.droid)

    Are others able to work with Xamarin when this errors never stop popping back?

  • PetrNymsaPetrNymsa USMember ✭✭

    @RicardoS said:
    @Daxton47
    Ok, discard that las response. It's happening in Andoid too.

    [] * Assertion at /Users/builder/jenkins/workspace/xamarin-android-d15-6/xamarin-android/external/mono/mono/mini/debugger-agent.c:4768, condition array->len == 1' not met [libc] Fatal signal 6 (SIGABRT), code -6 in tid 7882 (arinamaps.droid)

    Are others able to work with Xamarin when this errors never stop popping back?

    I have same issue. Every day i found a new bug or issue within Xamarin. I thought, that Xamarin is more stable

  • RicardoSRicardoS ESMember ✭✭✭

    @PetrNymsa
    Same here.
    About thinking that Xamarin should be more stable.

  • Daxton47Daxton47 Member ✭✭

    @RicardoS

    Yeah this can be such a frustrating error to come across. My work around is just debugging past any async calls I have throughout the program. Just curious, if you do a fresh build of your program, without debugging, do you get this error?

    If not, I've realized that some of my own mistakes in programming aren't caught by the compiler, but manifest themselves in these types of errors. Obviously these errors are totally useless in helping me fix the bugs, but the fact still remains that there might just be something wrong with the structure of your program.

    If you give me some context as to what is going on when this error gets "thrown", I might be able to help a bit?

  • RicardoSRicardoS ESMember ✭✭✭

    Sorry @Daxton47 , but the error just disappeared. We don't know how or when, but it suddenly stop happening.

    A fresh build without debugging? You mean executing the app? Or your hitting the "Rebuild" button?
    When we rebuild or build or compile or whatever Xamarin calls it, nothing happens. Everything goes as expected.
    So it's only a debugging thing...

    You're right, getting a SIGABRT only tells us that an error happened and the program just decided to quit.
    It would be more useful if we had a message about the nature of said error.

    When it gets thrown? I'm not sure, but if I remember correctly, when we reach the end of the async method the run stops.
    So I guess the debugger just lost its way and cannot continue? This might sound stupid, but it's the impression it gives us...

    Regardless, we are now working on Android Studio and Xcode. Kinda ironic, right?
    We spent 2+ years on Xamarin, because it helped us in developing code for iOS and Droid at (roughly) the same time and now we are back at the basics.

    Sorry for the long text and best of luck with your issue.

  • Daxton47Daxton47 Member ✭✭

    @RicardoS

    I feel your pain! Good luck with Android Studio and XCode, hopefully you can make up for lost time with a framework that is more stable!

  • RicardoSRicardoS ESMember ✭✭✭

    @Daxton47 Thanks! Though, to be sincere, this all feels like a step back.

  • RicardoSRicardoS ESMember ✭✭✭
    Accepted Answer

    Eh... Good news, everyone? The issue has disappeared, somehow?

    I say this with "question marks" because the error decides to pop up sometimes.
    But the truly good news is that, at last, we were able to upload an app to iTunes Connect and it wasn't rejected.

    Hoorray!
    If you still have this issue, I can tell you for sure that we have NO IDEA about how or why it stopped happening.
    Nor what is the cause. In fact, this just came out unexpectedly.
    Apple accepts our application without complaints, not that I mind that, but it was so sudden that made us unable to pinpoint WHERE the problem was.

    Anyways, for this who still experience this, I hope you find someone with enough patience to help you out.

    Best Regards

Sign In or Register to comment.