This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRA72XEVM: CTT - dependency on Windows Regional format

Part Number: DRA72XEVM

In CTT-Auto-v1.0.0.7 we found a dependency on Windows regional format. If the Windows PC is configured to use 'German' as regional format, CTT doesn't respond anymore if trying to run the Frequency Analyzer. My customer mentioned this was still working in CTT-Automotive-v1.0.0.2. When starting CTT in a Command Prompt window, following error messages are printed when trying to run Frequency Analyzer.

C:\ti\CTT-Auto-v1.0.0.7\TI_Clock_Tree_Tool\CTT-Auto-v1.0.0.7>java -jar CTT-Automotive-v1.0.0.7.jar
setting reg listener
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "4,8"
        at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
        at sun.misc.FloatingDecimal.parseDouble(Unknown Source)
        at java.lang.Double.parseDouble(Unknown Source)
        at org.ti.clockTreeTool.model.ClockTree.checkFrequenciesGrouped(ClockTree.java:1188)
        at org.ti.clockTreeTool.view.MainInterface.actionPerformed(MainInterface.java:1268)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
        at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

Best regards,

Manfred

  • Hello ,

    Looks like the JVM is adoption the windows regional decimal formatting on the user machine. I.e. it interprets decimal places as commas which is messing up the arithmetic value trying to calculate integers. 

    Can you make sure the PC is configured as follows (if you are using WIN10). 

    1. Go to "Region and language settings"

    2. Click on "Additional date, time, & regional settings"

    3. Click on "Change date, time, or number format",

    4. Click on "Additional settings" and make sure decimal symbol is a period. Sample scrrenshot below. Restart the tool and let us know the result. 

    It's an odd problem but hope this solves the issue. 

    thanks,

    Alex

  • Alex,

    changing the Windows Regional format to 'English' fixes this problem and is currently used as workaround. Just selecting in the Windows number format configuration a period as 'Decimal symbol' and comma as 'Digit grouping symbol' doesn't solve the problem. Of course the preferred solution would be to get this fixed in CTT instead of always re-configuring Windows for just one program, especially as it worked without any issues in the first beta release with added 'Frequency Analyzer' tool (CTT-Automotive-v1.0.0.2).

    Regards,
    Manfred
  • Hello Manfred,

    I am trying to reproduce the issue here. How are you chaning the regional settings exactly? On my setup, I did change to Germany and the tool loads the Frequency Analyzer just fine. 

    Thanks,

    Alex

  • Hi Alex,

    for reproducing this problem you should open the Windows 10 'Region settings' and select any German version for the 'Regional format'.

    Regards,

    Manfred

  • Hello Manfred,

    We've found the bug. Problem was in some languages the decimal separator is a comma not period, and trying to convert the number to a double was giving an exception. We have now forced the decimal separator to always a period (regardless of the localization number formatting). This fix will appear in the next CTT build release.

    Attaching here the sample runnable jar for you to test as well. Just place it in the CTT install folder where the other jars are, and run it from there. Let me know if this works on your end too.

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/CTT_5F00_Fixed.jar

    thanks,

    Alex