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.

Load memory window while debugging in CCS v5 wont open

Other Parts Discussed in Thread: CCSTUDIO

Hello.

I used to be able to open the Load Memory window to upload data to memory from file but as of recently it simply wont open.
Below is the stack trace from CCS and the error message is "Unhandled event loop exception".
Possible to fix this somehow? Restarting CCS wont do. 

java.lang.NullPointerException
at com.ti.ccstudio.debug.ui.memoryView.dialogs.MemoryDumperMemoryBlockPage.update(MemoryDumperMemoryBlockPage.java:632)
at com.ti.ccstudio.debug.ui.memoryView.dialogs.MemoryDumperMemoryBlockPage.createControl(MemoryDumperMemoryBlockPage.java:336)
at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:174)
at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:736)
at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:608)
at org.eclipse.jface.window.Window.create(Window.java:431)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
at com.ti.ccstudio.debug.ui.memoryView.dialogs.MemoryDumperWizardDialog.create(MemoryDumperWizardDialog.java:40)
at com.ti.ccstudio.debug.ui.memoryView.TIMemoryUIUtil.loadMemory(TIMemoryUIUtil.java:218)
at com.ti.ccstudio.debug.ui.memoryView.actions.MemoryLoadAction$1.run(MemoryLoadAction.java:62)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4687)
at com.ti.ccstudio.debug.ui.memoryView.actions.AbstractMemoryViewAction.syncExec(AbstractMemoryViewAction.java:122)
at com.ti.ccstudio.debug.ui.memoryView.actions.MemoryLoadAction.doExecute(MemoryLoadAction.java:58)
at com.ti.ccstudio.debug.ui.memoryView.actions.AbstractMemoryViewAction.run(AbstractMemoryViewAction.java:63)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

  • Maybe I should add that I can still open thesave memory and fill memory windows.

    Also starting CCS5 with argument -clean wont help either. 

  • Hi Robin,

    do you have a sense whether anything in your environment might have changed?  (updates, new software etc)  Would you be able to enable error logging and send us any error logs and dump files that might be generated?

    http://processors.wiki.ti.com/index.php/Troubleshooting_CCS

    Best Regards,
    Lisa 

  • I did not make any updates or changes to the environment between the time it worked to when it didn't.
    Attached are all log-files I could gather

    Thanks for helping

    //Robin

    7510.logs.zip

  • It seems that the dialog was trying to prefill its fields based on the settings from your previous Load Memory operation. Could you attach the file ".metadata\.plugins\org.eclipse.ui.workbench\dialog_settings.xml" from your workspace?

    In this file, look for "<section name="MemoryDumperLoadAction">" and the item  with key="MemoryDumperFileSelectionPage.STORE_FILE_PATH_ID" /> . It should point to a file that you were using in the previous Load Memory operatioh. If it points to a .dat file, could you attach the first few lines of the file?

    If you start CCS in a new workspace, this problem should go away.

  • I did manually edit the header in the .dat file that the .xml file points to in order for it to be loaded correctly.
    So the below first few lines isn't what it always looked like:

    1651 9 0 0 3E8
    -31163
    0
    31163
    19259

    But should have been of the same format atleast when I uploaded it last time (I think).
    I did however try to use the file without header and also a bad header.

    Attached is the xml file

    Thanks //Robin

    <?xml version="1.0" encoding="UTF-8"?>
    <section name="Workbench">
    	<section name="LicensetupDialog">
    	</section>
    	<section name="MemoryDumperFillAction">
    		<item value="1" key="MemoryFillDialog.STORE_DATA_VALUE_STRING_ID"/>
    		<item value="TISIM" key="com.ti.ccstudio.system.setup.ui.editors.connectionType"/>
    		<item value="0x3E8" key="MemoryFillDialog.STORE_SIZE_ID"/>
    		<item value="Texas Instruments Simulator" key="com.ti.ccstudio.system.setup.ui.editors.connectionName"/>
    		<item value="0xC0000000" key="MemoryFillDialog.STORE_ADDRESS_EXPRESSION_ID"/>
    		<item value="Short" key="MemoryFillDialog.STORE_TYPE_SIZE_ID"/>
    	</section>
    	<section name="MemoryDumperLoadAction">
    		<item value="0xC0000000" key="MemoryDumperMemoryBlockPage.STORE_ADDRESS_EXPRESSION_ID"/>
    		<item value="1000" key="MemoryDumperMemoryBlockPage.STORE_SIZE_VALUE_ID"/>
    		<item value="16" key="MemoryDumperMemoryBlockPage.STORE_TYPE_SIZE_VALUE_ID"/>
    		<item value="false" key="MemoryDumperMemoryBlockPage.STORE_SWAP_ID"/>
    		<item value="" key="MemoryDumperMemoryBlockPage.STORE_PAGE_ID"/>
    		<item value="D:\catronSvn\trunk\dsp\test_main\project\Debug\micNoise.dat" key="MemoryDumperFileSelectionPage.STORE_FILE_PATH_ID"/>
    		<item value="3221225472" key="MemoryDumperMemoryBlockPage.STORE_ADDRESS_VALUE_ID"/>
    		<item value="0x3E8" key="MemoryDumperMemoryBlockPage.STORE_SIZE_ID"/>
    		<item value="1" key="MemoryDumperMemoryBlockPage.STORE_TYPE_SIZE_ID"/>
    		<item value="Integer" key="MemoryDumperMemoryBlockPage.STORE_FILE_FORMAT_TYPE_ID"/>
    		<item value="false" key="MemoryDumperMemoryBlockPage.STORE_APPEND_ID"/>
    		<item value="true" key="MemoryDumperFileSelectionPage.STORE_USE_FILE_HEADER"/>
    	</section>
    	<section name="WorkbenchPreferenceDialogSettings">
    		<item value="158" key="DIALOG_Y_ORIGIN"/>
    		<item value="626" key="DIALOG_X_ORIGIN"/>
    	</section>
    	<section name="NewWizardAction">
    	</section>
    	<section name="InstallationDialogSettings">
    		<item value="706" key="DIALOG_WIDTH"/>
    		<item value="-324" key="DIALOG_Y_ORIGIN"/>
    		<item value="-104" key="DIALOG_X_ORIGIN"/>
    		<item value="743" key="DIALOG_HEIGHT"/>
    		<item value="1|Segoe UI|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|Segoe UI" key="DIALOG_FONT_NAME"/>
    	</section>
    	<section name="MemoryDumperSaveAction">
    		<item value="true" key="MemoryDumperMemoryBlockPage.STORE_SPECIFY_DATA_BLOCK_SIZE_ID"/>
    		<item value="0xC000000" key="MemoryDumperMemoryBlockPage.STORE_ADDRESS_EXPRESSION_ID"/>
    		<item value="1000" key="MemoryDumperMemoryBlockPage.STORE_SIZE_VALUE_ID"/>
    		<item value="" key="MemoryDumperMemoryBlockPage.STORE_COLUMN_COUNT_ID"/>
    		<item value="" key="MemoryDumperMemoryBlockPage.STORE_ROW_COUNT_ID"/>
    		<item value="false" key="MemoryDumperMemoryBlockPage.STORE_SPECIFY_DATA_DIMENSION_SIZE_ID"/>
    		<item value="8" key="MemoryDumperMemoryBlockPage.STORE_TYPE_SIZE_VALUE_ID"/>
    		<item value="" key="MemoryDumperMemoryBlockPage.STORE_PAGE_ID"/>
    		<item value="1000" key="MemoryDumperMemoryBlockPage.STORE_SIZE_ID"/>
    		<item value="0" key="MemoryDumperMemoryBlockPage.STORE_TYPE_SIZE_ID"/>
    		<item value="false" key="MemoryDumperMemoryBlockPage.STORE_APPEND_ID"/>
    		<item value="false" key="MemoryDumperFileSelectionPage.STORE_USE_FILE_HEADER"/>
    		<item value="false" key="MemoryDumperMemoryBlockPage.STORE_SWAP_ID"/>
    		<item value="9" key="MemoryDumperMemoryBlockPage.STORE_FILE_FORMAT_NAME_ID"/>
    		<item value="201326592" key="MemoryDumperMemoryBlockPage.STORE_ADDRESS_VALUE_ID"/>
    		<item value="D:\catronSvn\trunk\dsp\test_main\project\Debug\hejtjej.dat" key="MemoryDumperFileSelectionPage.STORE_FILE_PATH_ID"/>
    		<item value="16-Bit Signed Int" key="MemoryDumperMemoryBlockPage.STORE_FILE_FORMAT_TYPE_ID"/>
    	</section>
    	<section name="org.eclipse.ui.preferences.keysPreferencePage">
    	</section>
    	<section name="ImportExportAction">
    		<item value="com.ti.ccstudio.project.ui.wizards.importexport.ExternalProjectImportWizard" key="ImportExportPage.STORE_SELECTED_IMPORT_WIZARD_ID"/>
    		<list key="ImportExportPage.STORE_EXPANDED_IMPORT_CATEGORIES">
    			<item value="org.eclipse.ui.Basic"/>
    			<item value="com.ti.common.ui.import"/>
    		</list>
    	</section>
    </section>
    
     

  • The header is incorrect. What was it originally and what foramat was the data in?

    The second parameter in the header indicates whether the data is in the legacy format prior to CCS 5.4 or the new format introudced in CCS 5.4. When this parameter is 9, this implies the data is in the new format and the header should contain 6 parameters. Your header indicates that the data is in the new format but it has only 5 parameters. This is why CCS failed to parse the header and threw the null pointer exception.

    There are two issues:

    1. The header needs to be corrected if you want to load the data successfully. If the data is in the legacy format, the second parameter should be  (1) hexadecimal, (2) integer, (3) long, or (4) float. 

    2. We will need to fix on our side to handle this situation smoothly instead of throwing an exception.

  • Ok thanks. I'll be more careful until then :)

    //Robin