Output console prints text... in reverse

This is something that happened seeming out of the blue, not right after immediately re-imaging the cRIO or anything like that.

When I download code to the robot, everything is perfectly normal until this line

[cRIO] [Squawk VM] Version: 2011 FRC, Jan  6 2011, 09:58:39
[cRIO] ,RF 1102 :noisreV ]MV kwauqS
[cRIO] c5e5aae2x0:DIUG erawdraH AGPFtoS AGPF
[cRIO] 9cc16b110a358669a8a1f

After this point, anything written to the console, like print statements, exceptions, etc., are all backwards. Occasionally there are also letters omitted from the output console, e.g.

System.out.println("Hello");

might show up as

[cRIO] ollH 

The only thing I’ve seen print forward after this point was an error message about an FTP thread being closed (paraphrasing from memory).

Has anyone else been having a problem anything like this? I’m using Java and running Netbeans 6.9.1 on Mac OS X 10.6.6

Edit:
I tried this out on a team mate’s computer, everything works fine for him.

We have had a similar problem. The main difference is that it outputs gibberish, not just in reverse.

The proper output loop is as follows:


[cRIO] LEFT  CENTER  RIGHT
[cRIO] true   true       true


[cRIO] te  ue truLEFT    CER IGHtru  t  truLEFT   CER  tru  tr   e
[cRIO] LEFT    CER  IGHtru  t   e
[cRIO] LEFT  TERT
[cRIO] te  tru   e
[cRIO] LEFT    CER RIGrue
[cRIO] LEFT    CR  IGHtru  te  tr
[cRIO] LEFT    TERRIG
[cRIO] tr  rue trLEFT    TER RI
[cRIO] tr   e  trLFT   CNTET
[cRIO] ue  tr  t
[cRIO] LEFT   EN   HT
[cRIO] ue tru  t
[cRIO] LEFT    CENT   GHTtru tr   
[cRIO] LEFT    TE RI
[cRIO] tr  tru  tLEFT    ENR  IGHtru  t   e
[cRIO] LEFT   ENR  IGHtru  e  rueLEFT  CER  IGHtru  t  trLEFT    CENT   tru      ue
[cRIO] LEFT    NTE R
[cRIO] tr   ue truLEFT    CENTER    RIGHT
[cRIO] true    true    ue
[cRIO] LEFT   CRIG
[cRIO] tr   e  rueLEFT    CENT   HT
[cRIO] ruetru  t
[cRIO] LEFT   ENT   T
[cRIO] tue tru trLEFT    CENR  IGHtr   truLEFT    CER RIG
[cRIO] tue  t   e
[cRIO] LEFT    CTER  R
[cRIO] true tru  t
[cRIO] LEFT  CER  IGHtru  t   ue
[cRIO] LEFT CENIGHtru  t  ue
[cRIO] LEFT   CETER RI
[cRIO] tr  rue  te
[cRIO] LEFT  ENT   T
[cRIO] te  tru  te
[cRIO] LEFT    CEER IGHtru   e  LEFT   CTER RI
[cRIO] tr  e  truLEFT    NTE  RGTtru tr  ue
[cRIO] LEFT    CNTE RI
[cRIO] tr   ruetruLEFT    NTEHT
[cRIO] ue tru  t
[cRIO] LEFT    CER  IGHtru  t   e
[cRIO] LEFT    CEN   HT
[cRIO] ue  ue rueLEFT    CENTER    RIGHT
[cRIO] t   e  rueLEFT  CENER RIGtru  t   ue
[cRIO] LEFT    CENER IGHtru  t   ue
[cRIO] LEF   TER  RT
[cRIO] ue tru trLEFT TER RIT
[cRIO] te  rue tr
[cRIO] LEFT    CENR  RIGtr   e  rueLEFT  CEER RIGtru     ue
[cRIO] LEFT    CNTE RI
[cRIO] trrue trLEFT    CENER RIGtru      rueLEFT    CER  GHTrue t   
[cRIO] LEFT    CEERRIGtru   e  ue
[cRIO] LEFT R  IGHtru  t   ue
[cRIO] LEFT    CENT  HT
[cRIO] ruetru   e
[cRIO] LEFT CEN   GHTrue tr  e
[cRIO] LEFT    CNTE  RT
[cRIO] ttru  t
[cRIO] LEFT    TERRIGtru   e  truLEFT    CENT   HT
[cRIO] ue tru  e
[cRIO] LEFT   ENT   T
[cRIO] te  rue trLEFT    NTE  R
[cRIO] t   ue truLEFT    NTE RI
[cRIO] tr   ue e
[cRIO] LEF   NTE  R
[cRIO] tr   ue truLEFT   CNTE   T
[cRIO] ttru  t
[cRIO] LEFT    CETER RI
[cRIO] tre  rue trLEFT CEN   GHTru   e  ue
[cRIO] LEFT  ENT  RT
[cRIO] te  tr  ue
[cRIO] LEFT  EN   GHTrue tr  e
[cRIO] LEFT  ENT   GHTrue tr  te
[cRIO] LEFT    CE   GHtru te  rueLEFT   CR  RIGtru   rueLEFT    CENR  IGHtru   e  rueLEFT  CEN   GHTruetr   ue
[cRIO] LEFT   CER  IGHtru  tue truLEFT  R RIGtru   ue rueLEFT    ENT   HT
[cRIO] ue tru  te
[cRIO] LEFT   CER  IGHtru  t   e
[cRIO] LEFT   CEER IGHtr   ue LEFT    CENTER RIG
[cRIO] tre  rue trLEFT   ER  GHTrue tr   
[cRIO] LEFT    CENR  IGHtru tr   e
[cRIO] LEFT     GHTruetru  t
[cRIO] LEFT    CNT   GHTrue tr   e
[cRIO] LEFT   CER  IGHtru  t   e
[cRIO] LEFT    CER RIGtru  ue LEFT    CER RI
[cRIO] tue tru trLEFT   CR  IGHtru   e  rueLEFT    CENT  RHT
[cRIO] ue tru trLEFT    NTET
[cRIO] tru tr   ue
[cRIO] LEFT    CTERRIHT
[cRIO] tr   e  rueLEFT  CER RIGT
[cRIO] te tru  te
[cRIO] EFT    CENT  RT
[cRIO] ue ruue
[cRIO] LEFT   CTER RItru   e  trLEFT   CENT   HT
[cRIO] ruetru  t
[cRIO] LEFT    NTE  T
[cRIO] te  ue  t
[cRIO] LEFT    CE RI
[cRIO] t   e  rueLEFT  CER  IGHtru  t   ue
[cRIO] LEFT    CENT   GHTru tr   
[cRIO] LEFT    NT RI
[cRIO] tr   ue LEFT    ENT   T
[cRIO] true tr   e
[cRIO] LEFT   NTE  RT
[cRIO] te  ruetruLEFT    CEN   HT
[cRIO] ue ruetr
[cRIO] LEFT   C RIT
[cRIO] t retruLEFT   CR  RI
[cRIO] tr   e  rueLEFT   NTE RI
[cRIO] truetru  tLEFT    CENTE RI
[cRIO] tr   ue 
[cRIO] LEFT    CENERRIGtru   e  rueLEFT    CENTER    RIGHtre  tru trLEFT    CNTE  RT
[cRIO] te  ruetruLEFT  CE   GHTruetru   
[cRIO] LEFT    TER  RT
[cRIO] tue rue trLEFT    TER RI
[cRIO] tr   ue truLEFT    CENT   IG   ue truLEFT  CEN   HT
[cRIO] rue tr  te
[cRIO] LEFT    CEER  RI
[cRIO] ruetru  t
[cRIO] LEFT    NE RI
[cRIO] tre  ruetruLEFT   CR  IGHtru      ue

I’d like to hear of a fix for this…

@jeremypg399: Your problem might be because of multithreading. As hard to miss as it sounds, are you printing in two places?

I am simply polling a digital input. It is only printing in one place

Would you please post your code? I don’t think this will be easy to diagnose without it.

Sorry to hijack the OP’s thread! Perhaps you could PM me the code, instead of cluttering up this one?

dude, crazy win

my suggestion to combat it is to either make a function that inverses strings you print, or reformat crio and pray

Hmm, I recently encountered something similar which I believe to be an error with however the cRIO handles sending/receiving information. I send some text, but only get less than half of it. Not sure what’s going on, will try re-flashing it, this HAS to be a problem with the cRIO. This same exact code didn’t work before, but something similar did.

This is a known issue, thought to affect only the new router when connected wirelessly. This is due to an issue with the router and an issue with the cRIO that only affects console output. We are working on a fix.

In the meantime, if you see this on the old access point or connected via ethernet cable, please post the details.

I am connected via ethernet. This happens via the router or when connected directly.

Please double check this. Are you certain you see this reversed output behavior even when you are ONLY connected with an Ethernet cable?

-Joe

Have you been able to verify this? Sometimes if you have both the wired and wireless interfaces connected at the same time, the system chooses the wireless and then you’d see the problem.

We expect to see a fix for the wifi related issue in the next Java update.

We’ve never been able to reproduce the bug when hard wired.

Yeah, it’s like you said, I happened to be on wireless. The problem I had with characters disappearing is a problem with how DataInputStream.readUTF() (or, rather UTFReader or something) reads data. It always expects 16-bit UTF characters, for some reason.