[SOLVED] RTT Viewer v6.32f "failed to write input" bug

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] RTT Viewer v6.32f "failed to write input" bug

    RttViewer can get stuck in an infinite loop when the target is not responding and input is sent to the device. (This may be because "block if fifo full" is selected). The attached screenshot shows the dialog that results. Pressing OK or the close icon results in the dialog reappearing. The only way to exit this loop is to use task manager to kill the process.
    Images
    • rttViewerInputLoop.PNG

      2.96 kB, 362×120, viewed 255 times
  • Hello,

    Thank you for your inquiry.
    Such an issue is not known to us.
    Which J-Link software version are you using?
    What is the S/N of your J-Link?
    Which target device are you trying to debug?
    Is it on an eval board or custom hardware?
    Could you provide an example project for reproduction purposes?

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hi Nino, as stated in the title, the issue occurs in 6.32f but it's been there going back many versions. This occurs on an nrf52832 (custom hardware). Here's a repro case...


    Build a simple mbed application using the SEGGER_RTT2 library.
    In main.cpp output a few lines of text then enter a while(1); loop

    Program the board and start up rtt viewer
    Set "block if fifo full"
    Enter a few lines of text in rtt viewer
    Power cycle the board, while keeping rttviewer open.
    Enter some more text in rtt viewer
    Rttviewer will now enter the loop described above.

    Alternatively it may just crash completely on occasion.

    Basically, it doesn't seem to have any graceful recovery when the on-chip control block gets corrupted/reset

    Jlink serial 50107774 although it's not specific to this particular unit.
  • Hello,

    Thank you for the additional information.
    The issue was reproducible on our side when resetting a device. It will be fixed accordingly so RTTViewer does not get stuck in the loop anymore.
    However this means that the failed send will not "survive" the target reset and has to be resend.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • >However this means that the failed send will not "survive" the target reset and has to be resend.

    Agreed - it makes no sense to try to continue the send across the reset.
    Just for completeness I should mention that the issue can also occur when flashing the target device with new firmware (particularly if that moves the control block) though no doubt the bug has the same root cause.
  • Hello,

    Thank you for the additional information.
    As the initial question has been answered this thread will be marked as solved now.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.