Opened 8 years ago

Last modified 5 years ago

#99 new task

IntelliJ Idea

Reported by: rbri Owned by:
Priority: major Milestone: Next
Component: general Version: 1.6.0-b22 RC2
Severity: medium Keywords:
Cc: ydario

Description

Today i had some spare time so i try to run the version 10 of IntelliJ Idea with the latest beta build.

After 'migrating' the startup script the monster starts and ask for migration of settings from a last version. Because i had no old version i start without migration.

This produces an endless loop and a big log file.
The entries are always the same:

2011-04-22 20:59:45,040 [ 9740] INFO - ellij.vfs.persistent.FSRecords - Marking VFS as corrupted
2011-04-22 20:59:45,040 [ 9740] INFO - ellij.vfs.persistent.FSRecords - Filesystem storage is corrupted or does not exist. [Re]Building. Reason: Cannot create empty file: C:\HOME\DEFAULT\.IdeaIC10\system\caches\names.dat

Looks like a problem creating the directory with the dot in the path name. So i create the subdirectory ".IdeaIC10" and nothing more.
Restarting the monster works much better. Idea creates the files in the subdirectory of this.

So my guess is that there is a problem with creating directories with a dot in the name.

(Will try to find the place in the source but this needs some time.)

Attachments (2)

idea.sh (6.4 KB) - added by ydario 5 years ago.
startup.log (5.5 KB) - added by ydario 5 years ago.

Download all attachments as: .zip

Change History (17)

comment:1 Changed 8 years ago by rbri

Looks like the exception points to the wrong position. The code that throws the exceptions seems to work correct. Somewhere earlier the directory has to be created. The directory is already there, before the dialog pops up.
More later....

comment:2 Changed 8 years ago by rbri

OK think i found it

      File tmpFile;
      boolean tmpResult;

      tmpFile = new File("C:\\HOME\\DEFAULT\\IdeaIC10\\system\\caches");
      tmpResult = tmpFile.mkdirs();
      System.out.println("" + tmpResult + "  " + tmpFile.getAbsolutePath());

      tmpFile = new File("C:\\HOME\\DEFAULT\\.IdeaIC10\\system\\caches");
      tmpResult = tmpFile.mkdirs();
      System.out.println("" + tmpResult + "  " + tmpFile.getAbsolutePath());

File.mkdirs() did not succeed, if a dir with a dot in the name is part of the path.
In the above example the second one fails.

Last edited 8 years ago by rbri (previous) (diff)

comment:3 Changed 8 years ago by rbri

  • Milestone set to GA
  • Version set to 1.6.0-b22 RC2

comment:4 Changed 8 years ago by dmik

Confirmed. Thank you for the report!

comment:5 Changed 8 years ago by rbri

Any chance to offer a build (after fixing this). Maybe i can find something more ;-)

Thanks for the great work.

RBRi

comment:6 Changed 8 years ago by dmik

  • Milestone changed from GA to Enhanced
  • Severity changed from highest to medium
  • Type changed from defect to task

It was a bug in Odin (path components starting with "." and ".." were removed from path when making it absolute), fixed in r 21631 there.

IntelliJ idea still doesn't seem to work though, complaining about some buffer mapping. Looks like it wants to use MMF in a way our JVM doesn't support. This may a limitation of the current implementation as well as a bug in Odin. Given that the sources of the Community Edition of IntelliJ Idea are available, it should be possible to track the problem down. Not for GA though as it will be quite time consuming as I expect.

If you are really interested to help with this, it would be great. The drop-in replacement of java.dll that contains the fix is here: ftp://ftp.dmik.org/tmp/rbri.zip (please report if it helps you with the path issue in the first place).

comment:7 Changed 8 years ago by rbri

Thanks dmik, the fix works as expected.
And yes, i'm interested in supporting your work. But as you already know, debugging this Java applications without Eclipse is a real pain. Spend already two hours to nail down the next exception without success. IDEA is (maybe) a great IDE but if you look at the source ....; finally is not really used in the file io classes, changing the log level makes no sense because the only log level used is info or greater there is no zip file of all sources to download and so on

Maybe i have to start my laptop and try to debug the monster via remote eclipse.
Will inform you if i can localize the next issue.

comment:8 Changed 8 years ago by rbri

maybe #98 also fixes the i saw with ideas welcome screen. All icons are visible but no text.

comment:9 Changed 8 years ago by rbri

Spend some more time on this but still was not able to create a testcase for it. And also #132 did not fix this.
Will try harder ;-)

comment:10 Changed 8 years ago by dmik

  • Milestone changed from Enhanced to GA2

I will look if we can do anything here for the GA2.

comment:11 Changed 7 years ago by diver

  • Milestone changed from GA2 to Next

Changed 5 years ago by ydario

Changed 5 years ago by ydario

comment:12 Changed 5 years ago by ydario

I tried IntelliJ IDEA 12.0.4, and it works a lot better now.

There are still issues with file handling.

I'm attaching a modified startup shell script (for linux distribution) and startup console log.

comment:13 Changed 5 years ago by ydario

sorry, IntelliJ 12.1.4, build IC-129.713.

comment:14 Changed 5 years ago by ydario

  • Cc ydario added

comment:15 Changed 5 years ago by ydario

T:\>java -version
openjdk version "1.6.0_27"
OpenJDK Runtime Environment (build 1.6.0_27-b01-GA5)
OpenJDK Client VM (build 20.0-b12, mixed mode)

Last edited 5 years ago by ydario (previous) (diff)
Note: See TracTickets for help on using tickets.