Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Truffle] Build fails on master (Compilation Error: File name too long) #4398

Closed
PragTob opened this issue Dec 19, 2016 · 5 comments
Closed
Assignees
Milestone

Comments

@PragTob
Copy link

PragTob commented Dec 19, 2016

Environment

tobi@speedy ~/github/jruby $ uname -a
Linux speedy 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
tobi@speedy ~/github/jruby $ java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2ubuntu0.16.04.2-b14)
OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode)
tobi@speedy ~/github/jruby $ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]

commit: f41a080

Expected Behavior

It shall compile correctly when using tool/jt.rb build

Actual Behavior

tobi@speedy ~/github/jruby $ ./tool/jt.rb build
$ JRUBY_BUILD_MORE_QUIET=true ./mvnw -q package
[ERROR] COMPILATION ERROR : 
[ERROR] /home/tobi/github/jruby/truffle/target/generated-sources/org/jruby/truffle/core/string/StringNodesFactory.java:[18282,33] error: error while writing StringPreviousByteIndexNegativeIndexNode_: /home/tobi/github/jruby/truffle/target/classes/org/jruby/truffle/core/string/StringNodesFactory$StringPreviousByteIndexPrimitiveNodeFactory$StringPreviousByteIndexPrimitiveNodeGen$StringPreviousByteIndexNegativeIndexNode_.class (File name too long)
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project jruby-truffle: Compilation failure
[ERROR] /home/tobi/github/jruby/truffle/target/generated-sources/org/jruby/truffle/core/string/StringNodesFactory.java:[18282,33] error: error while writing StringPreviousByteIndexNegativeIndexNode_: /home/tobi/github/jruby/truffle/target/classes/org/jruby/truffle/core/string/StringNodesFactory$StringPreviousByteIndexPrimitiveNodeFactory$StringPreviousByteIndexPrimitiveNodeGen$StringPreviousByteIndexNegativeIndexNode_.class (File name too long)
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :jruby-truffle
FAILED (pid 5090 exit 1): JRUBY_BUILD_MORE_QUIET=true ./mvnw -q package

Why am I building from master? I would like to ran last years benchmarks again and need the gem install tool, plus I want to make sure there is no difference from running from a JRuby release (it seems to have gotten slower compared to last year, which I don't believe/hope). If it helps, the version from last year compiles fine ( @chrisseaton helped me set it up ❤️ )

@chrisseaton chrisseaton self-assigned this Dec 19, 2016
@chrisseaton chrisseaton added this to the truffle-dev milestone Dec 19, 2016
@chrisseaton
Copy link
Contributor

chrisseaton commented Dec 19, 2016

Hmmm that's strange. The file name is long, but it's not that long.

it seems to have gotten slower compared to last year, which I don't believe/hope

I'm sure that's fixable if that's the case. Nothing else has gotten slower. I was planning on putting your benchmark into our CI system to track it, but unfortunately it's still just an item on my todo list.

I'll ask around.

@chrisseaton
Copy link
Contributor

I'll assign to @nirvdrum actually, since he's on Linux and I'm on holiday.

@PragTob
Copy link
Author

PragTob commented Dec 19, 2016

Thanks Chris! Didn't mean to mention you to get you into this, have a nice holiday! :) As for the speed, still hope the bug is on my end, hence wanting to try master :)

eregon added a commit that referenced this issue Dec 19, 2016
* They should only describe the case used, not what the node does.
* See #4398.
eregon added a commit that referenced this issue Dec 19, 2016
@eregon eregon self-assigned this Dec 19, 2016
@eregon
Copy link
Member

eregon commented Dec 19, 2016

Hello @PragTob,
I would guess the problem is due to eCryptfs, enabled by default on Ubuntu. It imposes a maximum basename length of 143, instead of the traditional 255. https://bugs.launchpad.net/ecryptfs/+bug/344878
I shortened a few problematic cases in e3f74aa and added a test in 01517b0.
Could you test if it works now?

Don't hesitate to open an issue if you find something slow :)

@PragTob
Copy link
Author

PragTob commented Dec 19, 2016

tobi@speedy ~/github/rubykon $ GRAALVM_BIN=~/dev/graalvm-0.18-re/bin/java ../jruby/tool/jt.rb run --graal -e 'puts Truffle::Graal.graal?'
$ JAVACMD=/home/tobi/dev/graalvm-0.18-re/bin/java /home/tobi/github/jruby/bin/jruby -X+T -Xtruffle.core.load_path=/home/tobi/github/jruby/truffle/src/main/ruby -e 'puts Truffle::Graal.graal?'
true

👍

Thanks a bunch! Works perfectly fine now! Should have thought about my encrypted file system and that that might be a problem/potential problem source, thanks for digging into it! ❤️

Will definitely open a performance issue if I can reliably repeat the slower results :)

@PragTob PragTob closed this as completed Dec 19, 2016
@enebo enebo added this to the Non-Release milestone Dec 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants