This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 166254

Summary: Plugin installation/deinstallation work badly on Solaris SPARC
Product: platform Reporter: Michael Nazarov <michaelnazarov>
Component: Module SystemAssignee: Jaroslav Tulach <jtulach>
Status: RESOLVED FIXED    
Severity: blocker CC: anebuzelsky, issues, jglick, jtulach, mmirilovic
Priority: P2 Keywords: RELNOTE
Version: 6.x   
Hardware: Sun   
OS: Solaris   
Issue Type: DEFECT Exception Reporter:
Attachments: screenshot
boot.jar which does not include non-existing clusters in all-checksum.txt

Description Michael Nazarov 2009-05-29 13:19:52 UTC
NetBeans IDE 6.7 RC1 (Build 200905282243)

I tried to install SOA plugins and IDE reported success but dod not show
installed plugins after restart. Installed plugins were still presented on
"Available" tab page and it was possible to install them again.

Then I tried to install UML plugin. After installation it did not appear
on installed page immediately, only after pressing "Reload catalog". In
same time SOA plugins appeared as installed. So it might be treated as kind
of workaround.

Then I uninstalled SOA plugins, restarted IDE and got set of exceptions
including FileNotFound exception and ClassNotFound exception.

After restart IDE still shows uninstalled plugins in list but as text
only without icons. Check screenshot.
Comment 1 Michael Nazarov 2009-05-29 13:20:48 UTC
Created attachment 82972 [details]
screenshot
Comment 2 Marian Mirilovic 2009-05-29 14:07:10 UTC
Strange, but if it's reproducible only on one platform .. I would say we can live with that for RC1 ... would be nice to
find root cause and fix for RC2
Comment 3 dlipin 2009-05-29 19:16:56 UTC
Hm... looks like I can reproduce it as well on both Solaris x86 and sparc, was not able to reproduce on Windows.

Workaround that helps (I don`t know why) is  
$ rm ~/.netbeans/6.7rc1/var/cache/lastModified/soa2

SOA is installed into installation directory. Just after SOA installation and restart the timestamps are:
2009-05-29 22:02:18.444541000 +0400 (~/netbeans-6.7rc1/soa2/.lastModified)
2009-05-29 21:59:10.930217000 +0400 (~/.netbeans/6.7rc1/var/cache/lastModified/soa2 )
2009-05-29 22:02:19.816460000 +0400 (~/.netbeans/6.7rc1/.lastModified)

Autoupdate does know nothing about <userdir>/var/cache/lastModified. 
Additional manual touching of .lastModified file (both in install and usedir) has very strange affect: 
- closing IDE, touching those files and starting it again - SOA shown as not installed.
- closing IDE again, touching those files again and starting IDE again - SOA shown as installed.
Unlikely the AU issue - reassigning to platform for further evaluation.
Maybe some wrong magic in o.n.bootstrap/src/org/netbeans/Stamps.java (but also maybe AU should handle that somehow...)
Comment 4 Jesse Glick 2009-05-29 19:29:52 UTC
These timestamp manipulations are Yarda's; I have little idea how it is supposed to work and what to do when it doesn't.
Comment 5 Michael Nazarov 2009-06-01 09:53:14 UTC
Still unable to reproduce on x86 for latest truck build.
SPARC affected as described.

Product Version: NetBeans IDE Dev (Build 200906010201)
Java: 1.6.0_14; Java HotSpot(TM) Client VM 14.0-b15
System: SunOS version 5.11 running on x86; UTF-8; en_US (nb)
Comment 6 Marian Mirilovic 2009-06-01 11:28:39 UTC
Ok, this issue is considered as a stopper for RC2/FCS
Comment 7 Jaroslav Tulach 2009-06-01 15:28:00 UTC
AutoUpdate shall not care about $userdir/var/cache/lastModified/cluster at all. Something is wrong in the platform.
Comment 8 Jaroslav Tulach 2009-06-02 14:45:46 UTC
There were few problems in the Stamps code and I addressed two of them in ergonomics#ef2526558afb. However I am not 
sure if it helps this particular problem. It shall. Please verify in 
http://deadlock.netbeans.org/hudson/job/ergonomics/177/

I'll likely have no time to do "the paperwork" tomorrow. But it shall be simple. To merge to release67 just:
hg pull -r ef2526558afb http://hg.netbeans.org/ergonomics/
hg merge
hg ci -m "Merge of #166254"
hg push
Comment 9 Marian Mirilovic 2009-06-02 15:25:40 UTC
Yarda, thanks for your help. We'll verify that tomorrow and I'll ask Tonda for transplate into release67.

... and keep it open for NB 6.7 
Comment 10 Jesse Glick 2009-06-02 15:39:08 UTC
It would be a pull, not a transplant operation.
Comment 11 Michael Nazarov 2009-06-03 13:29:42 UTC
RC2
Comment 12 Michael Nazarov 2009-06-03 13:30:25 UTC
RC2
Comment 13 Marian Mirilovic 2009-06-03 13:33:27 UTC
Michael, 
this issue hasn't been ported to release67 yet, as I know. 

>RC 2
Does it work there ?
Comment 14 Michael Nazarov 2009-06-03 13:36:07 UTC
RC2 checked today is free of this issue so I assumed it fixed as planned.
Comment 15 Michael Nazarov 2009-06-03 14:28:22 UTC
Looks like setting of "Force install into shared directories" make
sense to reproduce this issue.
Comment 16 Quality Engineering 2009-06-03 18:42:55 UTC
Integrated into 'main-golden', will be available in build *200906031401* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/ef2526558afb
User: Jaroslav Tulach <jtulach@netbeans.org>
Log: #166254: Don't create any lastModified info for non-existing clusters. Also reset the result for each cluster to isolate it from the influence on previous results.
Comment 17 Jaroslav Tulach 2009-06-03 20:30:33 UTC
http://hg.netbeans.org/release67/rev/ef2526558afb
Comment 18 Marian Mirilovic 2009-06-03 20:42:28 UTC
Thanks a lot Jarda!
Comment 19 Michael Nazarov 2009-06-04 13:49:07 UTC
Issue was not fixed completely. Installation looks workable now but
after uninstallation IDE shows lot of exceptions like:
ZipException: error in opening zip file;
ClassNotFound: org.netbeans.modules.xml.schema.abe.action.PaletteCustomizerAction;
MissingResourceException.

Again only SPARC platform affected.
Comment 20 Jaroslav Tulach 2009-06-04 17:36:42 UTC
I'd suggest to report another bug against installer. The uninstall problem is something unrelated to the P1 bug I 
fixed and I doubt it classifies for P1 priority. Better to track it in separate issue.

Otherwise I am glad to hear that the cache problem is solved.
Comment 21 Michael Nazarov 2009-06-04 17:50:32 UTC
Original title of this issue was not changed -- it's about installation and uninstallation.
But if you prefer to keep them separated -- not a problem.
Comment 22 dlipin 2009-06-04 18:19:24 UTC
The fix does not work for me - I`ve tried RC2 build 2009-06-04_01-12-31 and SOA is still in "Available" list after its 
installation.
What I did :
0) Clean ~/.netbeans
1) Use "full" bundle, install as user all IDE features, no servers.
2) Run IDE, opened Tools->Plugins, reload catalog, install SOA
3) Restart, again opened Tools->Plugins. SOA is still in "Available" plugins list.
No exception thrown in the log.
Comment 23 Michael Nazarov 2009-06-04 18:29:15 UTC
I think it might be RANDOM.
Comment 24 Michael Nazarov 2009-06-04 18:37:08 UTC
SOA and XML Schema
Comment 25 Jaroslav Tulach 2009-06-08 12:59:27 UTC
I just tested the behaviour on my SunRay and it worked without a problem.
Comment 26 Michael Nazarov 2009-06-08 14:59:37 UTC
I was able to reproduce as well using host provided by Dmitry. I used same
shared homedir (so same jdk and other staff) as with other host, but result
vary from host to host and stable on each host so I don't know is this really
RANDOM or just depends on yet unknown reasons.
Comment 27 Jaroslav Tulach 2009-06-08 17:58:57 UTC
I still have not managed to reproduce the problem. But I found another issue that might cause it. Please try again 
with ergonomics#894fdac0c8f3
Comment 28 dlipin 2009-06-08 18:19:08 UTC
Jarda, could you please attach new <nbdir>/platform10/lib/boot.jar file with this fix? 
It will help to check the fix in less time...
Comment 29 Jaroslav Tulach 2009-06-09 09:47:30 UTC
Created attachment 83345 [details]
boot.jar which does not include non-existing clusters in all-checksum.txt
Comment 30 Jaroslav Tulach 2009-06-09 09:49:54 UTC
Dmitry, if you are able to reproduce the problem, can you please debug Stamps class and find out why the caches are 
not invalidated when the list of clusters changes (this shall invalidate the content of all-checksum.txt file) or when 
something new gets installed into existing cluster (this shall change timestamp of its .lastModified file)?
Comment 31 dlipin 2009-06-09 11:54:39 UTC
The issue is still reproducible with the attached boot.jar, I`m debugging Stamps at the moment...
Comment 32 Jaroslav Tulach 2009-06-09 13:03:30 UTC
Thanks in advance for help. The puzzle imho is why method private File file(String cache, int[] len) at line 160-190 
returns non-null.
Comment 33 dlipin 2009-06-09 13:23:36 UTC
There is some mess with timestamps. 

File f = new File(System.getProperty("user.home"), ".lastModified");
long diff = System.currentTimeMillis() - f.createNewFile().lastModified();

On my Windows system diff is either 0 or small positive value. 
On Linux system with $HOME located on the current disk drive the diff is small positive value.

On Solaris (Sparc,x86) and Linux system with HOME mounted via NFS the "diff" is negative value. Really weird...
At least UpdaterDispather.touchLastModified() should be fixed - I`m working on that. 
And likely Stamps.discardCachesImpl() should be fixed as well...
Comment 34 dlipin 2009-06-09 14:01:44 UTC
UpdaterDispatcher fixed in 
http://hg.netbeans.org/core-main/rev/a67c224dfb8d
I haven`t touched Stamps.
Comment 35 dlipin 2009-06-09 14:42:35 UTC
In case installation is done on the local partition (e.g. in /tmp) this issue is not reproducible (I`ve tried pure RC2) 
as well as 166569.

So the bug likely comes from the mistiming of the desktop system and the server which $HOME partition is stored at.
Comment 36 dlipin 2009-06-09 14:44:04 UTC
*** Issue 166569 has been marked as a duplicate of this issue. ***
Comment 37 Jaroslav Tulach 2009-06-09 14:51:46 UTC
I am not sure, but probably there is no need to fix Stamps. Stamps only read .lastModified file's time, never write it 
down. Hopefully the problem disappears just after your a67c224dfb8d fix.
Comment 38 dlipin 2009-06-09 15:25:01 UTC
Unfortunately it does not disapper even with a67c224dfb8d.
Comment 39 dlipin 2009-06-09 17:22:15 UTC
To reproduce the issue, likely it is enough to set desktop time, say, one hour before the time set on the NFS server 
(with respect to time zones) which the home partition is been stored at.
Comment 40 Marian Mirilovic 2009-06-10 08:10:18 UTC
Hasn't been fixed in release67 yet.
Comment 41 Marian Mirilovic 2009-06-10 09:12:57 UTC
After a discussion with jtulach - we agreed on that this is not a stopper for NB 6.7 .
Comment 42 Jaroslav Tulach 2009-06-10 09:21:29 UTC
Jindra will help me emulate the problem. However it seems that there needs to be some misconfiguration between the 
desktop and server for the bug to happen. Do I also need to have installation on server and userdir locally? Or is it 
possible to reproduce the problem while both userdir and installation are on the same (nfs) disk?
Comment 43 dlipin 2009-06-10 09:26:33 UTC
> Do I also need to have installation on server and userdir locally? 
> Or is it possible to reproduce the problem while both userdir and installation are on the same (nfs) disk?

Hard to say... I have $HOME partition on NFS and installed NB on it. So both userdir and installation are on this 
partition.
Comment 44 Jaroslav Tulach 2009-06-10 15:32:23 UTC
I managed to simulate the problem. My changes done in main#0db4fcae704a seem to fix it. What are their other 
implications remains to be seen.
Comment 45 Quality Engineering 2009-06-11 08:55:16 UTC
Integrated into 'main-golden', will be available in build *200906110201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/a67c224dfb8d
User: Dmitry Lipin <dlipin@netbeans.org>
Log: Issue #166254 Plugin installation/deinstallation work badly on Solaris SPARC
Comment 46 dlipin 2009-06-11 15:52:54 UTC
verified with 200906110201.
Comment 47 Michael Nazarov 2009-06-11 17:56:34 UTC
Issue 166569 still reproducible, so we need to reopen this
issue or clear "duplicate" status from other one.
Looks like theory about same cause for both issues is not
correct unfortunately.
Comment 48 Michael Nazarov 2009-06-15 10:44:12 UTC
As nobody answered, doing by myself.
Issue 166569 marked as duplicate of this issue and still reproducible. Reopen.
Comment 49 Jaroslav Tulach 2009-06-18 11:35:21 UTC
This issue gets pretty long and fuzzy. Some problems got fixed, some may remain, but I'd rather reopen the duplicate
issue 166569 or create some new ones then continue in this one. I hope this is acceptable to all sides.