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.

CCS 10 issue



Hi team,

My customer wants to post on the forum, and to report a bug in CCS 10. The document should explain what is happening. he is using a switch / case statement with ranges.

When the top of the range is over 22740, the code crashes the compiler. He has stripped down the program and retyped it to isoate the problem.

1440.TI_bug_01.rtf

  • I can repeat the crash, with the attached project created in CCS 10 using the customer's source code. The crash is intermittent, in that just selecting "Rebuild Project" in CCS sometimes works and sometimes causes a crash.

    The CCS console output after a crash:

    **** Clean-only build of configuration Debug for project MSP430_case_compiler_crash ****
    
    "C:\\ti\\ccs1020\\ccs\\utils\\bin\\gmake" -k -j 12 clean -O 
     
    DEL /F  "MSP430_case_compiler_crash.hex"  "MSP430_case_compiler_crash.out" 
    DEL /F "main.obj" 
    DEL /F "main.d" 
    Could Not Find C:\Users\mr_halfword\workspace_v10\MSP430_case_compiler_crash\Debug\MSP430_case_compiler_crash.hex
    Finished clean
     
    
    **** Build Finished ****
    
    **** Build of configuration Debug for project MSP430_case_compiler_crash ****
    
    "C:\\ti\\ccs1020\\ccs\\utils\\bin\\gmake" -k -j 12 all -O 
     
    Building file: "../main.c"
    Invoking: MSP430 Compiler
    "C:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/bin/cl430" -vmsp --use_hw_mpy=none --include_path="C:/ti/ccs1020/ccs/ccs_base/msp430/include" --include_path="C:/Users/mr_halfword/workspace_v10/MSP430_case_compiler_crash" --include_path="C:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/include" --advice:power="all" --define=__MSP430G2553__ -g --printf_support=minimal --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="main.d_raw"  "../main.c"
     
    >> Compilation failure
    subdir_rules.mk:9: recipe for target 'main.obj' failed
    "../main.c", line 71: remark #1535-D: (ULP 8.1) variable "i" is used as a constant. Recommend declaring variable as either 'static const' or 'const'
    gmake: *** [main.obj] Error 1
    gmake: Target 'all' not remade because of errors.
    
    **** Build Finished ****

    I noticed that after a compiler crash the Windows 10 event log is reporting the following as an APPCRASH for opt430.exe:

    - <Event xmlns="schemas.microsoft.com/.../event">
    - <System>
      <Provider Name="Windows Error Reporting" /> 
      <EventID Qualifiers="0">1001</EventID> 
      <Version>0</Version> 
      <Level>4</Level> 
      <Task>0</Task> 
      <Opcode>0</Opcode> 
      <Keywords>0x80000000000000</Keywords> 
      <TimeCreated SystemTime="2021-02-07T09:36:20.3839340Z" /> 
      <EventRecordID>7952</EventRecordID> 
      <Correlation /> 
      <Execution ProcessID="0" ThreadID="0" /> 
      <Channel>Application</Channel> 
      <Computer>DESKTOP-EG5EBI0</Computer> 
      <Security /> 
      </System>
    - <EventData>
      <Data>1727689829169942974</Data> 
      <Data>4</Data> 
      <Data>APPCRASH</Data> 
      <Data>Not available</Data> 
      <Data>0</Data> 
      <Data>opt430.exe</Data> 
      <Data>20.2.2.0</Data> 
      <Data>5f11bfaa</Data> 
      <Data>opt430.exe</Data> 
      <Data>20.2.2.0</Data> 
      <Data>5f11bfaa</Data> 
      <Data>c00000fd</Data> 
      <Data>000000000025ee96</Data> 
      <Data /> 
      <Data /> 
      <Data>\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE43F.tmp.dmp \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERF826.tmp.WERInternalMetadata.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERF856.tmp.xml \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERF864.tmp.csv \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERF8A3.tmp.txt</Data> 
      <Data>\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_opt430.exe_1f57d16bd5d66f41b364992765dbf4abc85d229_9e57355b_b77ca70f-79b8-4235-a2bc-59510babc0e1</Data> 
      <Data /> 
      <Data>0</Data> 
      <Data>603beb13-7557-4846-80ee-8e9e4934ca3e</Data> 
      <Data>268435456</Data> 
      <Data>3052288498c6a3dc77f9fcbef5bad1be</Data> 
      <Data>0</Data> 
      </EventData>
      </Event>

    However, the .dmp file reported in the event is no longer present so can't attach it.

    The CCS console output on a successful rebuild:

    **** Clean-only build of configuration Debug for project MSP430_case_compiler_crash ****
    
    "C:\\ti\\ccs1020\\ccs\\utils\\bin\\gmake" -k -j 12 clean -O 
     
    DEL /F  "MSP430_case_compiler_crash.hex"  "MSP430_case_compiler_crash.out" 
    DEL /F "main.obj" 
    DEL /F "main.d" 
    Could Not Find C:\Users\mr_halfword\workspace_v10\MSP430_case_compiler_crash\Debug\MSP430_case_compiler_crash.hex
    Could Not Find C:\Users\mr_halfword\workspace_v10\MSP430_case_compiler_crash\Debug\main.obj
    Finished clean
     
    
    **** Build Finished ****
    
    **** Build of configuration Debug for project MSP430_case_compiler_crash ****
    
    "C:\\ti\\ccs1020\\ccs\\utils\\bin\\gmake" -k -j 12 all -O 
     
    Building file: "../main.c"
    Invoking: MSP430 Compiler
    "C:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/bin/cl430" -vmsp --use_hw_mpy=none --include_path="C:/ti/ccs1020/ccs/ccs_base/msp430/include" --include_path="C:/Users/mr_halfword/workspace_v10/MSP430_case_compiler_crash" --include_path="C:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/include" --advice:power="all" --define=__MSP430G2553__ -g --printf_support=minimal --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="main.d_raw"  "../main.c"
    "../main.c", line 71: remark #1535-D: (ULP 8.1) variable "i" is used as a constant. Recommend declaring variable as either 'static const' or 'const'
    Finished building: "../main.c"
     
    Building target: "MSP430_case_compiler_crash.out"
    Invoking: MSP430 Linker
    "C:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/bin/cl430" -vmsp --use_hw_mpy=none --advice:power="all" --define=__MSP430G2553__ -g --printf_support=minimal --diag_warning=225 --diag_wrap=off --display_error_number -z -m"MSP430_case_compiler_crash.map" --heap_size=80 --stack_size=80 -i"C:/ti/ccs1020/ccs/ccs_base/msp430/include" -i"C:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/lib" -i"C:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="MSP430_case_compiler_crash_linkInfo.xml" --use_hw_mpy=none --rom_model -o "MSP430_case_compiler_crash.out" "./main.obj" "../lnk_msp430g2553.cmd"  -llibc.a 
    <Linking>
    remark #10371-D: (ULP 1.1) Detected no uses of low power mode state changing instructions
    remark #10372-D: (ULP 4.1) Detected uninitialized Port 1 in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
    remark #10372-D: (ULP 4.1) Detected uninitialized Port 2 in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
    remark #10372-D: (ULP 4.1) Detected uninitialized Port 3 in this project. Recommend initializing all unused ports to eliminate wasted current consumption on unused pins.
    Finished building target: "MSP430_case_compiler_crash.out"
     
    
    **** Build Finished ****

    MSP430_case_compiler_crash.zip

  • Thank you for reporting this problem, and submitting a test case.  I am able to reproduce the problem.  I filed EXT_EP-10243 to have this investigated.  You are welcome to follow it with that link.

    Another thank you is owed to Chester Gillon for investigating the problem further.

    Thanks and regards,

    -George

  • Thank you for your support.

  • Thank you very much.