Bug 234152 - A class file was not written. The project may be inconsistent....
Summary: A class file was not written. The project may be inconsistent....
Status: VERIFIED NOT_ECLIPSE
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.3.2   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 3.5 M1   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-27 09:45 EDT by Craig Detter CLA
Modified: 2008-08-06 15:11 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Craig Detter CLA 2008-05-27 09:45:43 EDT
This is a problem on Mac OS X 10.5.2, using a Win2K server as the location of the files.  I'm using JVM 1.6.0 in the project.  

There is an inner class- NvestorPanel.class, which if I remove into it's own class the error goes away.


Exception Stack Trace

org.eclipse.core.runtime.CoreException: Could not write file: /Volumes/prod/vm/com/igetorganized/app/InvestorApplet$NvestorPanel.class.
at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:55)
at org.eclipse.core.internal.filesystem.local.LocalFile.openOutputStream(LocalFile.java:356)
at org.eclipse.core.internal.localstore.FileSystemResourceManager.write(FileSystemResourceManager.java:905)
at org.eclipse.core.internal.resources.File.internalSetContents(File.java:319)
at org.eclipse.core.internal.resources.File.create(File.java:148)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.writeClassFileBytes(AbstractImageBuilder.java:811)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.writeClassFile(AbstractImageBuilder.java:791)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.acceptResult(AbstractImageBuilder.java:186)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:398)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:362)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:173)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:299)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:59)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:269)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:172)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:302)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:334)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:137)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
org.eclipse.core.runtime.CoreException[272]: java.io.FileNotFoundException: /Volumes/prod/vm/com/igetorganized/app/InvestorApplet$NvestorPanel.class (Unknown error: -37)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at org.eclipse.core.internal.filesystem.local.LocalFile.openOutputStream(LocalFile.java:347)
at org.eclipse.core.internal.localstore.FileSystemResourceManager.write(FileSystemResourceManager.java:905)
at org.eclipse.core.internal.resources.File.internalSetContents(File.java:319)
at org.eclipse.core.internal.resources.File.create(File.java:148)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.writeClassFileBytes(AbstractImageBuilder.java:811)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.writeClassFile(AbstractImageBuilder.java:791)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.acceptResult(AbstractImageBuilder.java:186)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:398)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:362)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:173)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:299)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:59)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:269)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:172)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:302)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:334)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:137)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)


Session Data:
clipse.buildId=M20080221-1800
java.version=1.5.0_13
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86, WS=carbon, NL=en_US
Framework arguments:  -keyring /Users/craig/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws carbon -arch x86 -keyring /Users/craig/.eclipse_keyring -consoleLog -showlocation
Comment 1 Walter Harley CLA 2008-06-02 01:29:23 EDT
Changing component from 'APT' to 'Core', as I don't believe this has anything to do with APT.
Comment 2 Jerome Lanneluc CLA 2008-06-02 05:10:15 EDT
It looks like a VM problem: it returns "Unknown error: -37".
After shutting down, rebooting your machine, and restarting Eclipse, can you still reproduce?
Comment 3 Craig Detter CLA 2008-06-04 09:19:44 EDT
Yes,  I can reproduce after rebooting.
Comment 4 Kent Johnson CLA 2008-06-04 10:56:37 EDT
So what happens if you rename the inner class to 'X' ?

Or you remove all of its method bodies ?

Or you add another inner class named 'NvestorPanel2' ?

Do you have any other builders attached to the project ?

Or any ant scripts that may be writing .class files to the output folder ?
Comment 5 Craig Detter CLA 2008-06-05 09:32:39 EDT
That worked (renaming it to X).  It seems that any name longer than 10 characters causes the problem to occur. If I name the inner class 10 characters or less, the problem disappears!

Thanks for the suggestion.

By the way, I just installed Mac OS X 10.5.3 and the problem persists. It must be something on the Win2K server, but that is fully up to date on patches as well.
Comment 6 Kent Johnson CLA 2008-06-05 09:59:25 EDT
Ok - I expect the filesystem is enforcing some filename length baloney.

Can you also try to define a top level type in the same package named:

'InvestorApplet_NvestorPanel'

that should result in a class file with the same length for the name as the inner class.

thx
Comment 7 Kent Johnson CLA 2008-07-16 14:24:32 EDT
This appears to be a filesystem issue with the length of the name.
Comment 8 Olivier Thomann CLA 2008-08-06 15:11:49 EDT
Verified for 3.5M1 using I20080805-1307