Oh, I found the bug. I had a script call ./bin/netbeans but it was
using the full path with a lower-case typo. Now, since macOS usually
has a case-insensitive filesystem, the script did launch the IDE
correctly.

*But*, it seems netbeans.home copied the path with the typo and then
the Java code could no longer compute the relative path (since the
strings didn't startWith) and stored the full path.

--emi

http://coolbeans.xyz/ - CoolBeans: An IDE for Java, JavaEE, PHP and more!

On Fri, Jan 4, 2019 at 9:54 AM Jaroslav Tulach
<[email protected]> wrote:
>
> There should be no absolute paths in the caches for anything under regular
> cluster installation and userdir. There are even tests to make sure that is
> true. They pass OK on Linux. One of them is known to fail on Windows:
>
> https://builds.apache.org/job/incubator-netbeans-windows/lastCompletedBuild/
> testReport/org.netbeans.core.startup.layers/CachingPreventsFileTouchesTest/
> testCachesDontUseAbsolutePaths/
>
> We don't test on Mac OS X as far as I know.
> -jt
>
>
> Dne středa 2. ledna 2019 0:22:29 CET, Emilian Bold napsal(a):
> > If somebody downloads to ~/Downloads and starts the app from there the
> > userdir on macOS will be in ~/Library/Application Support/ so there's
> > no relative path between them and the paths are stored as absolute
> > ("abs" identification).
> >
> > I suspect the saving netbeans.home in lastModified/all-checksum.txt
> > fixes the problem since it will invalidate the cache:
> >
> > diff --git a/platform/o.n.bootstrap/src/org/netbeans/Stamps.java
> > b/platform/o.n.bootstrap/src/org/netbeans/Stamps.java
> > index e41c90897..7231bd827 100644
> > --- a/platform/o.n.bootstrap/src/org/netbeans/Stamps.java
> > +++ b/platform/o.n.bootstrap/src/org/netbeans/Stamps.java
> > @@ -313,6 +313,7 @@ public final class Stamps {
> >          String[] relativeDirs = Clusters.relativeDirsWithHome();
> >          String home = System.getProperty ("netbeans.home"); // NOI18N
> >          if (home != null) {
> > +            sb.append("home=").append(home).append("\n");
> >              long stamp = stampForCluster (new File (home), result,
> > newestFile, processedDirs, checkStampFile, true, null);
> >
> > sb.append(relativeDirs[0]).append('=').append(stamp).append('\n'); }
> >
> > Does this make sense? I wonder why I can't reproduce it with 8.2?
> >
> > --emi
> >
> > http://coolbeans.xyz/ - CoolBeans: An IDE for Java, JavaEE, PHP and more!
> >
> > On Tue, Jan 1, 2019 at 11:58 PM Emilian Bold <[email protected]> wrote:
> > > I'm still investigating but it seems to me that under some conditions
> > > absolute paths are saved in all-resources.dat (and the other .dat
> > > files).
> > >
> > > Problem is that if the user moves the application to another folder
> > > (like from the Desktop to /Applications) then the IDE doesn't start
> > > because it can't find any module! (Module could not be found...
> > > ignoring).
> > >
> > > So, is there something rather obvious to anyone going on here?
> > >
> > > I suspect I will best reproduce this with a Platform app packaged as
> > > macOS, but that script has another (unrelated) error which I also have
> > > to report.
> > >
> > > --emi
> > >
> > > http://coolbeans.xyz/ - CoolBeans: An IDE for Java, JavaEE, PHP and more!
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



Reply via email to