Old NetBeans platform developer has a TopComponent deserializing mystery
"bruehlicke" <[email protected]> Sun, 28 Aug 2016 23:04:03 +0000
| Newsgroups | gmane.comp.java.netbeans.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi all,
working with Netbeans platform since 2007 I am having an issue which is new to me and hard to understand. I am currently seeking to find any advice were to search for any clue. The problem is most likely a configuration issue. Building my RCP app with 32 modules works without any error. Running the app though is triggering numerous null pointer failures which all are red herrings as the cull print of the problem is that the serialization of all of my singleton TopComponents somehow are not working anymore. The first TC triggering the RCP app to fail gives the following message in the error log:
INFO [org.netbeans.core.windows.persistence]: [PersistenceManager.getTopComponentForID] Problem when deserializing TopComponent for tcID:'StressAnalyzerTopComponent'. Reason: Error reading MultiFileObject@1b61568[Windows2Local/Components/StressAnalyzerTopComponent.settings]: java.lang.reflect.InvocationTargetException
What I have checked:
* No errors on build
* Same Java version (1.6.0_16)
* Same NetBeans 6.5 version
* Same computer (win7, 64 bit)
* Same disk location location
* Did try to wipe out the ".netbeans" under Users/<myuser> without any changes
* Did wipe out the testuserdir folder created in the build folder, also no change
* Checked forum. Did see the issue with Nb 7.1 but this is on 6.5
* Checked forum: Numerous had issues with deserializing but usually there was a class not found or file missing or hardcoding in some files
* When checking the Windows2Local/Components/StressAnalyzerTopComponent.settings it is just the default file like below.
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE settings PUBLIC "-//NetBeans//DTD Session settings 1.0//EN" "http://www.netbeans.org/dtds/sessionsettings-1_0.dtd">
<settings version="1.0">
<module name="com.effi.vin.stressland" spec="0.10"/>
<instanceof class="org.openide.windows.TopComponent"/>
<instanceof class="com.effi.vin.stressland.StressAnalyzerTopComponent"/>
<instance class="com.effi.vin.stressland.StressAnalyzerTopComponent" method="getDefault"/>
</settings>
which is very different from the usual file which gets created which has proper spec="1.7.2" and also a <serialdata> block.
Interesting here is that this is a TopComponent located in the "editor" position. Is gets a spec="0.10".
It is currently a mystery to me what is going on - so any ideas where I could be looking for clues would be great. The core problem must be the serialization and not the de-serialization.
Stuff done on the system since a version which worked (which in theory all should not impact my NB 6.5 install):
* Installed NB 8.1 in parallel
* Installed Android plugin to NB
* Installed Android Sdk
* De-installed Android plugin
* De-installed Android Sdk
Bests
Bernd