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

Java/gradle project throws java.net.SocketException #851

Closed
pboos opened this issue Aug 10, 2016 · 27 comments
Closed

Java/gradle project throws java.net.SocketException #851

pboos opened this issue Aug 10, 2016 · 27 comments

Comments

@pboos
Copy link

pboos commented Aug 10, 2016

Running our gradle project throws a java.net.SocketException which runs nicely on normal linux machines and as well mac os x.

  • Expected results
    Run through nicely and do the build.
  • Actual results (with terminal output if applicable)
pboos@DESKTOP-GHRHLQK:/mnt/c/Users/test/Development/Work/tickingnews-server$ ./gradlew --stacktrace
Picked up _JAVA_OPTIONS: -Xint

FAILURE: Build failed with an exception.

* What went wrong:
Could not open buildscript class cache for settings file '/mnt/c/Users/test/Development/Work/tickingnews-server/settings.gradle' (/home/pboos/.gradle/caches/2.1/scripts/settings_49no3709k6l6belg5og6587cc1/SettingsScript/buildscript).
> java.net.SocketException: Invalid argument

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.cache.CacheOpenException: Could not open buildscript class cache for settings file '/mnt/c/Users/test/Development/Work/tickingnews-server/settings.gradle' (/home/pboos/.gradle/caches/2.1/scripts/settings_49no3709k6l6belg5og6587cc1/SettingsScript/buildscript).
        at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:48)
        at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:28)
        at org.gradle.cache.internal.DefaultCacheFactory.doOpen(DefaultCacheFactory.java:80)
        at org.gradle.cache.internal.DefaultCacheFactory.open(DefaultCacheFactory.java:50)
        at org.gradle.cache.internal.DefaultCacheRepository$PersistentCacheBuilder.doOpen(DefaultCacheRepository.java:138)
        at org.gradle.cache.internal.DefaultCacheRepository$AbstractCacheBuilder.open(DefaultCacheRepository.java:121)
        at org.gradle.groovy.scripts.internal.FileCacheBackedScriptClassCompiler.compile(FileCacheBackedScriptClassCompiler.java:58)
        at org.gradle.groovy.scripts.internal.ShortCircuitEmptyScriptCompiler.compile(ShortCircuitEmptyScriptCompiler.java:35)
        at org.gradle.groovy.scripts.internal.CachingScriptClassCompiler.compile(CachingScriptClassCompiler.java:36)
        at org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerImpl.compile(DefaultScriptCompilerFactory.java:57)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:137)
        at org.gradle.initialization.ScriptEvaluatingSettingsProcessor.applySettingsScript(ScriptEvaluatingSettingsProcessor.java:72)
        at org.gradle.initialization.ScriptEvaluatingSettingsProcessor.process(ScriptEvaluatingSettingsProcessor.java:62)
        at org.gradle.initialization.PropertiesLoadingSettingsProcessor.process(PropertiesLoadingSettingsProcessor.java:37)
        at org.gradle.initialization.SettingsHandler.loadSettings(SettingsHandler.java:115)
        at org.gradle.initialization.SettingsHandler.findSettingsAndLoadIfAppropriate(SettingsHandler.java:106)
        at org.gradle.initialization.SettingsHandler.findAndLoadSettings(SettingsHandler.java:48)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:121)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:55)
Caused by: org.gradle.internal.UncheckedException: java.net.SocketException: Invalid argument
        at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:39)
        at org.gradle.cache.internal.FileLockCommunicator.<init>(FileLockCommunicator.java:40)
        at org.gradle.cache.internal.locklistener.DefaultFileLockContentionHandler.getCommunicator(DefaultFileLockContentionHandler.java:153)
        at org.gradle.cache.internal.locklistener.DefaultFileLockContentionHandler.reservePort(DefaultFileLockContentionHandler.java:145)
        at org.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:79)
        at org.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:67)
        at org.gradle.cache.internal.DefaultCacheAccess.open(DefaultCacheAccess.java:86)
        at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:46)
        ... 42 more
Caused by: java.net.SocketException: Invalid argument
        at org.gradle.cache.internal.FileLockCommunicator.<init>(FileLockCommunicator.java:38)
        ... 48 more


BUILD FAILED

Total time: 2.457 secs
  • Your Windows build number
    14393.10
  • Steps / commands required to reproduce the error
1. Install Oracle Java 1.8 JDK
2. Project with gradle wrapper using gradle 2.1-all
  2.1 not sure if our project is having a special setup that triggers this...
3. export _JAVA_OPTIONS="-Xint
  • Strace of the failing command
execve("./gradlew", ["./gradlew", "--stacktrace"], [/* 17 vars */]) = 0
brk(0)                                  = 0x10cc000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4907450000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=19102, ...}) = 0
mmap(NULL, 19102, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4907454000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P \2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1840928, ...}) = 0
mmap(NULL, 3949248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4906e30000
mprotect(0x7f4906fea000, 2097152, PROT_NONE) = 0
mmap(0x7f49071ea000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f49071ea000
mmap(0x7f49071f0000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f49071f0000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4907440000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4907430000
arch_prctl(ARCH_SET_FS, 0x7f4907430740) = 0
mprotect(0x7f49071ea000, 16384, PROT_READ) = 0
mprotect(0x605000, 4096, PROT_READ)     = 0
mprotect(0x7f4907422000, 4096, PROT_READ) = 0
munmap(0x7f4907454000, 19102)           = 0
brk(0)                                  = 0x10cc000
brk(0x10ed000)                          = 0x10ed000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2919792, ...}) = 0
mmap(NULL, 2919792, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4906b67000
close(3)                                = 0
execve("/usr/local/bin/bash", ["bash", "./gradlew", "--stacktrace"], [/* 17 vars */]) = -1 ENOENT (No such file or directory)
execve("/usr/bin/bash", ["bash", "./gradlew", "--stacktrace"], [/* 17 vars */]) = -1 ENOENT (No such file or directory)
execve("/bin/bash", ["bash", "./gradlew", "--stacktrace"], [/* 17 vars */]) = 0
brk(0)                                  = 0x257e000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5fbf120000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=19102, ...}) = 0
mmap(NULL, 19102, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f5fbf122000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\303\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=167096, ...}) = 0
mmap(NULL, 2264288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5fbebd0000
mprotect(0x7f5fbebf5000, 2093056, PROT_NONE) = 0
mmap(0x7f5fbedf4000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24000) = 0x7f5fbedf4000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14664, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5fbe9c0000
mprotect(0x7f5fbe9c3000, 2093056, PROT_NONE) = 0
mmap(0x7f5fbebc2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f5fbebc2000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P \2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1840928, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5fbf110000
mmap(NULL, 3949248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5fbe5f0000
mprotect(0x7f5fbe7aa000, 2097152, PROT_NONE) = 0
mmap(0x7f5fbe9aa000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f5fbe9aa000
mmap(0x7f5fbe9b0000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f5fbe9b0000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5fbf100000
arch_prctl(ARCH_SET_FS, 0x7f5fbf100740) = 0
mprotect(0x7f5fbe9aa000, 16384, PROT_READ) = 0
mprotect(0x7f5fbebc2000, 4096, PROT_READ) = 0
mprotect(0x7f5fbedf4000, 16384, PROT_READ) = 0
mprotect(0x6ef000, 4096, PROT_READ)     = 0
mprotect(0x7f5fbf022000, 4096, PROT_READ) = 0
munmap(0x7f5fbf122000, 19102)           = 0
open("/dev/tty", O_RDWR|O_NONBLOCK)     = 3
close(3)                                = 0
brk(0)                                  = 0x257e000
brk(0x257f000)                          = 0x257f000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2919792, ...}) = 0
mmap(NULL, 2919792, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f5fbe327000
close(3)                                = 0
brk(0x2580000)                          = 0x2580000
brk(0x2581000)                          = 0x2581000
getuid()                                = 1000
getgid()                                = 1000
geteuid()                               = 1000
getegid()                               = 1000
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
time(NULL)                              = 1470832954
brk(0x2582000)                          = 0x2582000
open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5fbf0f0000
read(3, "MemTotal:        8388084 kB\nMemF"..., 1024) = 1024
close(3)                                = 0
munmap(0x7f5fbf0f0000, 4096)            = 0
brk(0x2583000)                          = 0x2583000
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, {SIG_DFL, [CHLD], SA_RESTORER|SA_RESTART, 0x7fdbb0c66cb0}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7fe8ffe26cb0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7fe8ffe26cb0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
uname({sys="Linux", node="DESKTOP-GHRHLQK", ...}) = 0
brk(0x2584000)                          = 0x2584000
brk(0x2585000)                          = 0x2585000
stat("/mnt/c/Users/test/Development/Work/tickingnews-server", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat(".", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
getpid()                                = 2751
open("/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=26258, ...}) = 0
mmap(NULL, 26258, PROT_READ, MAP_SHARED, 3, 0) = 0x7f5fbf119000
close(3)                                = 0
getppid()                               = 2748
stat(".", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/usr/local/bin/bash", 0x7fffd1c874f0) = -1 ENOENT (No such file or directory)
stat("/usr/bin/bash", 0x7fffd1c874f0)   = -1 ENOENT (No such file or directory)
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=1021112, ...}) = 0
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=1021112, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/bin/bash", X_OK)               = 0
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=1021112, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/bin/bash", R_OK)               = 0
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=1021112, ...}) = 0
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=1021112, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/bin/bash", X_OK)               = 0
stat("/bin/bash", {st_mode=S_IFREG|0755, st_size=1021112, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/bin/bash", R_OK)               = 0
gettimeofday({1470832954, 211318}, NULL) = 0
brk(0x2586000)                          = 0x2586000
brk(0x2587000)                          = 0x2587000
getpgrp()                               = 2748
rt_sigaction(SIGCHLD, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, 8) = 0
getrlimit(RLIMIT_NPROC, {rlim_cur=RLIM64_INFINITY, rlim_max=RLIM64_INFINITY}) = 0
brk(0x2588000)                          = 0x2588000
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("./gradlew", O_RDONLY)             = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7fffd1c877d0) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "#!/usr/bin/env bash\n\n###########"..., 80) = 80
lseek(3, 0, SEEK_SET)                   = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=2*1024, rlim_max=2*1024}) = 0
fcntl(255, F_GETFD)                     = -1 EBADF (Bad file descriptor)
dup2(3, 255)                            = 255
close(3)                                = 0
fcntl(255, F_SETFD, FD_CLOEXEC)         = 0
fcntl(255, F_GETFL)                     = 0 (flags O_RDONLY)
fstat(255, {st_mode=S_IFREG|0777, st_size=5128, ...}) = 0
lseek(255, 0, SEEK_CUR)                 = 0
brk(0x258a000)                          = 0x258a000
brk(0x258b000)                          = 0x258b000
read(255, "#!/usr/bin/env bash\n\n###########"..., 5128) = 5128
brk(0x258c000)                          = 0x258c000
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
lseek(255, -4678, SEEK_CUR)             = 450
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5fbf100a10) = 2752
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGCHLD, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, 8) = 0
close(4)                                = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=2752, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2752
wait4(-1, 0x7fffd1c86bc8, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn()                          = 0
read(3, "gradlew\n", 128)               = 8
read(3, "", 128)                        = 0
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
read(255, "\n# Use the maximum available, or"..., 5128) = 4678
brk(0x258d000)                          = 0x258d000
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
lseek(255, -4294, SEEK_CUR)             = 834
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5fbf100a10) = 2753
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=2753, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2753
wait4(-1, 0x7fffd1c86b68, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn()                          = 0
rt_sigaction(SIGCHLD, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, 8) = 0
close(4)                                = 0
read(3, "Linux\n", 128)                 = 6
brk(0x258e000)                          = 0x258e000
read(3, "", 128)                        = 0
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
read(255, "\n# For Cygwin, ensure paths are "..., 5128) = 4294
lstat("./gradlew", {st_mode=S_IFREG|0777, st_size=5128, ...}) = 0
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
lseek(255, -3801, SEEK_CUR)             = 1327
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5fbf100a10) = 2754
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=2754, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2754
wait4(-1, 0x7fffd1c86968, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn()                          = 0
rt_sigaction(SIGCHLD, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, 8) = 0
close(4)                                = 0
read(3, "/mnt/c/Users/test/Development/Wo"..., 128) = 54
read(3, "", 128)                        = 0
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
read(255, "cd \"`dirname \\\"$PRG\\\"`/\" >&-\nAPP"..., 5128) = 3801
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
lseek(255, -3772, SEEK_CUR)             = 1356
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5fbf100a10) = 2755
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGCHLD, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, 8) = 0
close(4)                                = 0
read(3, ".\n", 128)                     = 2
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=2755, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2755
wait4(-1, 0x7fffd1c86b68, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn()                          = 2
read(3, "", 128)                        = 0
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
fcntl(1, F_GETFD)                       = 0
fcntl(1, F_DUPFD, 10)                   = 10
fcntl(1, F_GETFD)                       = 0
fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
close(1)                                = 0
stat("/mnt", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
stat("/mnt/c", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/mnt/c/Users", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
stat("/mnt/c/Users/test", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/mnt/c/Users/test/Development", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/mnt/c/Users/test/Development/Work", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/mnt/c/Users/test/Development/Work/tickingnews-server", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
chdir("/mnt/c/Users/test/Development/Work/tickingnews-server") = 0
dup2(10, 1)                             = 1
fcntl(10, F_GETFD)                      = 0x1 (flags FD_CLOEXEC)
close(10)                               = 0
read(255, "APP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" "..., 5128) = 3772
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
lseek(255, -3752, SEEK_CUR)             = 1376
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5fbf100a10) = 2756
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=2756, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2756
wait4(-1, 0x7fffd1c86968, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn()                          = 0
rt_sigaction(SIGCHLD, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, 8) = 0
close(4)                                = 0
read(3, "/mnt/c/Users/test/Development/Wo"..., 128) = 54
read(3, "", 128)                        = 0
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
read(255, "cd \"$SAVED\" >&-\n\nCLASSPATH=$APP_"..., 5128) = 3752
fcntl(1, F_GETFD)                       = 0
fcntl(1, F_DUPFD, 10)                   = 10
fcntl(1, F_GETFD)                       = 0
fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
close(1)                                = 0
stat("/mnt", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
stat("/mnt/c", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/mnt/c/Users", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
stat("/mnt/c/Users/test", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/mnt/c/Users/test/Development", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/mnt/c/Users/test/Development/Work", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/mnt/c/Users/test/Development/Work/tickingnews-server", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
chdir("/mnt/c/Users/test/Development/Work/tickingnews-server") = 0
dup2(10, 1)                             = 1
fcntl(10, F_GETFD)                      = 0x1 (flags FD_CLOEXEC)
close(10)                               = 0
brk(0x258f000)                          = 0x258f000
stat(".", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/usr/local/bin/which", 0x7fffd1c871d0) = -1 ENOENT (No such file or directory)
stat("/usr/bin/which", {st_mode=S_IFREG|0755, st_size=946, ...}) = 0
stat("/usr/bin/which", {st_mode=S_IFREG|0755, st_size=946, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/usr/bin/which", X_OK)          = 0
stat("/usr/bin/which", {st_mode=S_IFREG|0755, st_size=946, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/usr/bin/which", R_OK)          = 0
stat("/usr/bin/which", {st_mode=S_IFREG|0755, st_size=946, ...}) = 0
stat("/usr/bin/which", {st_mode=S_IFREG|0755, st_size=946, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/usr/bin/which", X_OK)          = 0
stat("/usr/bin/which", {st_mode=S_IFREG|0755, st_size=946, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/usr/bin/which", R_OK)          = 0
brk(0x2590000)                          = 0x2590000
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) = 0
rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) = 0
lseek(255, -2916, SEEK_CUR)             = 2212
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5fbf100a10) = 2757
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=2757, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2757
wait4(-1, 0x7fffd1c86af8, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn()                          = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
read(255, "\n# Increase the maximum file des"..., 5128) = 2916
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
lseek(255, -2402, SEEK_CUR)             = 2726
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f5fbf100a10) = 2758
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=2758, si_status=0, si_utime=0, si_stime=0} ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 2758
wait4(-1, 0x7fffd1c86888, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn()                          = 0
rt_sigaction(SIGCHLD, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, 8) = 0
close(4)                                = 0
read(3, "2048\n", 128)                  = 5
read(3, "", 128)                        = 0
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {0x4438a0, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=2*1024, rlim_max=2*1024}) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=2*1024, rlim_max=2*1024}) = 0
setrlimit(RLIMIT_NOFILE, {rlim_cur=2*1024, rlim_max=2*1024}) = 0
read(255, "\n# For Darwin, add options to sp"..., 5128) = 2402
brk(0x2591000)                          = 0x2591000
brk(0x2592000)                          = 0x2592000
brk(0x2593000)                          = 0x2593000
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat(".", {st_mode=S_IFDIR|0777, st_size=0, ...}) = 0
stat("/usr/local/bin/java", 0x7fffd1c87420) = -1 ENOENT (No such file or directory)
stat("/usr/bin/java", {st_mode=S_IFREG|0755, st_size=7734, ...}) = 0
stat("/usr/bin/java", {st_mode=S_IFREG|0755, st_size=7734, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/usr/bin/java", X_OK)           = 0
stat("/usr/bin/java", {st_mode=S_IFREG|0755, st_size=7734, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/usr/bin/java", R_OK)           = 0
stat("/usr/bin/java", {st_mode=S_IFREG|0755, st_size=7734, ...}) = 0
stat("/usr/bin/java", {st_mode=S_IFREG|0755, st_size=7734, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/usr/bin/java", X_OK)           = 0
stat("/usr/bin/java", {st_mode=S_IFREG|0755, st_size=7734, ...}) = 0
geteuid()                               = 1000
getegid()                               = 1000
getuid()                                = 1000
getgid()                                = 1000
access("/usr/bin/java", R_OK)           = 0
brk(0x2594000)                          = 0x2594000
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7f5fbe626cb0}, {SIG_IGN, [], SA_RESTORER, 0x7f5fbe626cb0}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, {0x4464c0, [], SA_RESTORER|SA_RESTART, 0x7f5fbe626cb0}, 8) = 0
execve("/usr/bin/java", ["java", "-Dorg.gradle.appname=gradlew", "-classpath", "/mnt/c/Users/test/Development/Wo"..., "org.gradle.wrapper.GradleWrapper"..., "--stacktrace"], [/* 16 vars */]) = 0
brk(0)                                  = 0xaa8000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fafd68a0000
readlink("/proc/self/exe", "/usr/lib/jvm/java-8-oracle/jre/b"..., 4096) = 39
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/tls/x86_64", 0x7fffc4514420) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/tls", 0x7fffc4514420) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/x86_64", 0x7fffc4514420) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/tls/x86_64", 0x7fffc4514420) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/tls", 0x7fffc4514420) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/x86_64", 0x7fffc4514420) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=19102, ...}) = 0
mmap(NULL, 19102, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fafd689b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0po\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=141574, ...}) = 0
mmap(NULL, 2217264, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fafd63e0000
mprotect(0x7fafd63f9000, 2093056, PROT_NONE) = 0
mmap(0x7fafd65f8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7fafd65f8000
mmap(0x7fafd65fa000, 13616, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fafd65fa000
close(3)                                = 0
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/libjli.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20#\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=102352, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fafd6890000
mmap(NULL, 2184904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fafd61c0000
mprotect(0x7fafd61d5000, 2097152, PROT_NONE) = 0
mmap(0x7fafd63d5000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7fafd63d5000
close(3)                                = 0
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14664, ...}) = 0
mmap(NULL, 2109744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fafd5fb0000
mprotect(0x7fafd5fb3000, 2093056, PROT_NONE) = 0
mmap(0x7fafd61b2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fafd61b2000
close(3)                                = 0
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P \2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1840928, ...}) = 0
mmap(NULL, 3949248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fafd5be0000
mprotect(0x7fafd5d9a000, 2097152, PROT_NONE) = 0
mmap(0x7fafd5f9a000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7fafd5f9a000
mmap(0x7fafd5fa0000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fafd5fa0000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fafd6880000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fafd6870000
arch_prctl(ARCH_SET_FS, 0x7fafd6870740) = 0
mprotect(0x7fafd5f9a000, 16384, PROT_READ) = 0
mprotect(0x7fafd61b2000, 4096, PROT_READ) = 0
mprotect(0x7fafd65f8000, 4096, PROT_READ) = 0
mprotect(0x7fafd6822000, 4096, PROT_READ) = 0
munmap(0x7fafd689b000, 19102)           = 0
set_tid_address(0x7fafd6870a10)         = 2751
set_robust_list(0x7fafd6870a20, 24)     = 0
futex(0x7fffc4514c60, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7fafd6870740) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x7fafd63e69f0, [], SA_RESTORER|SA_SIGINFO, 0x7fafd63f0330}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7fafd63e6a80, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7fafd63f0330}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=8192*1024}) = 0
brk(0)                                  = 0xaa8000
brk(0xac9000)                           = 0xac9000
readlink("/proc/self/exe", "/usr/lib/jvm/java-8-oracle/jre/b"..., 4096) = 39
access("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/libjava.so", F_OK) = 0
open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/jvm.cfg", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=627, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fafd6860000
read(3, "# Copyright (c) 2003, 2013, Orac"..., 512) = 512
read(3, "option, but that too is unsuppor"..., 512) = 115
read(3, "", 512)                        = 0
close(3)                                = 0
munmap(0x7fafd6860000, 4096)            = 0
stat("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so", {st_mode=S_IFREG|0755, st_size=16973827, ...}) = 0
futex(0x7fafd61b30d0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\347!\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=16973827, ...}) = 0
mmap(NULL, 16702088, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fafd4bf2000
mprotect(0x7fafd58bd000, 2093056, PROT_NONE) = 0
mmap(0x7fafd5abc000, 888832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xcca000) = 0x7fafd5abc000
mmap(0x7fafd5b95000, 305800, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fafd5b95000
close(3)                                = 0
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/jli/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-8-oracle/jre/bin/../lib/amd64/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=19102, ...}) = 0
mmap(NULL, 19102, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fafd689b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20V\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1071552, ...}) = 0
mmap(NULL, 3166568, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fafd48e0000
mprotect(0x7fafd49e5000, 2093056, PROT_NONE) = 0
mmap(0x7fafd4be4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x104000) = 0x7fafd4be4000
close(3)                                = 0
mprotect(0x7fafd4be4000, 4096, PROT_READ) = 0
munmap(0x7fafd689b000, 19102)           = 0
mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fafd6720000
mprotect(0x7fafd6720000, 4096, PROT_NONE) = 0
clone(child_stack=0x7fafd681ffb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fafd68209d0, tls=0x7fafd6820700, child_tidptr=0x7fafd68209d0) = 2759
futex(0x7fafd68209d0, FUTEX_WAIT, 2759, NULL
  • Required packages and commands to install
    java 1.8 sdk from oracle, gradlew project (with gradle 2.1)

PS: Just as a side note. I really am looking forward to Subsystem for Linux running well. I think microsoft is doing something really great here! I know it is a lot of work and still a long road to the final goal. I hope you can really make it happen!

@benhillis
Copy link
Member

The strace above doesn't appear to have the failing setsockopt system call. It's likely happening from a different thread than the main thread. Would you be able to rerun your strace with these options?

strace -ff -o trace ./gradlew --stacktrace
Then use grep to find the failing call:
grep trace.* setsockopt

Thanks!

@pboos
Copy link
Author

pboos commented Aug 11, 2016

pboos@DESKTOP-GHRHLQK:/mnt/c/Users/test/Development/Work/tickingnews-server$ grep setsockopt trace.*
trace.419:setsockopt(157, SOL_IPV6, IPV6_V6ONLY, [0], 4) = 0
trace.419:setsockopt(157, SOL_SOCKET, SO_BROADCAST, [1], 4) = 0
trace.419:setsockopt(157, SOL_IPV6, 0x31 /* IPV6_??? */, [0], 4) = -1 EINVAL (Invalid argument)

@sunilmut
Copy link
Member

@pboos - Thanks for the trace and the feedback. We have opened a task on our end to track the unimplemented socket option and we will look into it.

@mphaney
Copy link

mphaney commented Aug 30, 2016

@sunilmut Any update on this? Anxiously chomping at the bit for full Java support over here :-)

@sunilmut
Copy link
Member

sunilmut commented Sep 7, 2016

@mphaney - Apologize for the delay. IPV6 socket option 0x31 is IPV6_RECVPKTINFO. We have a task internally tracking this work, but we don't have any ETA at this moment.

@mphaney
Copy link

mphaney commented Sep 8, 2016

@sunilmut No troubles :-) Thank you very much for the feedback and the EXTREMELY hard work! I sincerely look forward to dispensing with Cygwin and using pure Bash for my development.

@JackieKu
Copy link

After I disabled IPv6 by specifying _JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true, another error is raised.

setsockopt(175, SOL_IP, IP_MULTICAST_ALL, [0], 4) = -1 EINVAL (Invalid argument)

$ java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)

@sunilmut
Copy link
Member

Starting build 14936, IPV6_V6ONLY should be fully supported. So, hopefully, no workaround is needed anymore for that.
I can confirm that IP_MULTICAST_ALL is currently not implemented in WSL. Looks like this option is not natively supported by the Windows TCP/IP stack (which is what WSL depends on for some of these options). I have put this in our backlog, but, can't give an ETA at the moment.

@chesterm8
Copy link

chesterm8 commented Oct 3, 2016

@sunilmut On 14936 I am not seeing the setsockopt issue, but instead having issues when gradle tries to clone a child process. The following sections of the attached strace.txt may be relevant.

Update: Still occuring on 14951

clone(child_stack=0x7f4453dcfff0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f4453dd09d0, tls=0x7f4453dd0700, child_tidptr=0x7f4453dd09d0) = 944

Caused by: java.io.IOException: error=12, Cannot allocate memory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.(UNIXProcess.java:248)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 8 more

@therealkenc
Copy link
Collaborator

Almost certainly the same as #1062 (comment). Out of curiosity, can you link a gist of the whole strace -ff?

CLONE_SYSVSEM is going to be problematic. See #1016.

@chesterm8
Copy link

chesterm8 commented Oct 27, 2016

@therealkenc I have no prior experience with strace, I think this is what you were after? Let me know if I can be of any further assistance. strace -ff gist

@therealkenc
Copy link
Collaborator

Appreciate the follow-up. Here's the failure in question from your previous post's trace. Strangely that pattern isn't present in your second link, but if you're still getting "Cannot allocate memory" looking errors this is where it is coming from. I was just curious whether it was something seen before.

mmap(NULL, 4096, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f69cc030000
mprotect(0x7f69cc030000, 4096, PROT_READ) = 0
pipe([169, 170])                        = 0
pipe([171, 172])                        = 0
pipe([173, 174])                        = 0
pipe([175, 176])                        = 0
pipe([177, 178])                        = 0
vfork()                                 = -1 ENOMEM (Cannot allocate memory)

@chesterm8
Copy link

chesterm8 commented Oct 27, 2016

@therealkenc I have created a simple java class to demonstrate this behaviour. Also it affects both the oracle and openjdk java runtimes.
Simple java class
strace -ff
strace

@therealkenc
Copy link
Collaborator

therealkenc commented Oct 27, 2016

Your little class ran fine for me here when compiled with javac on openjdk-8. What's the baby-step repro? [edit] The strace -ff link looks like it's hanging Anniversary Update style. There's no "Cannot allocate memory" related message in the strace.

@chesterm8
Copy link

Using the class I posted I get java.io.IOException: error=12, Cannot allocate memory when I run the following two commands, with both openjdk-8 and the oracle jdk 8
javac main.java
java main

@therealkenc
Copy link
Collaborator

No error here. Technically my gist was this, because you weren't importing IOException in yours. This is on 14951/14955 and jdk8 1.8.0_91. Note that the strace -ff link you posted does not have the error - in fact it does not exit at all (scroll to bottom).

...
clock_gettime(CLOCK_MONOTONIC, {24556, 771186000}) = 0
clock_gettime(CLOCK

You don't need to follow everything that is going on in the strace; just click through your link and search on the string "memory" or "allocate". The other one you posted has a failure on the vfork if you search for "allocate". It's huge so give it time to load.

This is what I am seeing. Those process detached entries are all the java threads exiting cleanly.

ken@DESKTOP-P2D46NF:~/Devel/java-process$ javac -version
javac 1.8.0_91
ken@DESKTOP-P2D46NF:~/Devel/java-process$ javac Main.java
ken@DESKTOP-P2D46NF:~/Devel/java-process$ java Main
ken@DESKTOP-P2D46NF:~/Devel/java-process$ strace -ff java Main 2>&1 | tail
strace: Process 30175 detached
strace: Process 30176 detached
strace: Process 30177 detached
strace: Process 30178 detached
strace: Process 30179 detached
strace: Process 30180 detached
strace: Process 30181 detached
strace: Process 30182 detached
strace: Process 30183 detached
strace: Process 30185 detached
ken@DESKTOP-P2D46NF:~/Devel/java-process$

@therealkenc
Copy link
Collaborator

Spitballing... one thing you might try is upping your NT page size as mentioned in #597. I have a lot of virtual memory so there's an outside chance I'm not hitting what you're hitting. I am seeing the vfork, attributable to the ProcessBuilder::start(). It is possible (though a little improbable) WSL really does think you are out of memory. That would be a bug of course, and it might be hidden from my run.

Also it still isn't clear that you are getting a threaded strace (ie -ff). Note the [pid NNNNN] below, which you should see also if you get that far.

ken@DESKTOP-P2D46NF:~/Devel/java-process$ strace -ff java Main 2>&1 | grep vfork
[pid 30271] vfork( <unfinished ...>
[pid 30271] <... vfork resumed> )       = 30290

@chesterm8
Copy link

chesterm8 commented Oct 28, 2016

I have set my swap file to 5000MB, which should be sufficient to rule that out? I am still seeing the vfork error. Any point in my doing a clean re-install of WSL?

[bellchesters@DESKTOP /mnt/d/code/forktest/src/main/java]$ java Main
Exception in thread "main" java.io.IOException: Cannot run program "echo": error=12, Cannot allocate memory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at Main.main(Main.java:10)
Caused by: java.io.IOException: error=12, Cannot allocate memory
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
        at java.lang.ProcessImpl.start(ProcessImpl.java:134)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
        ... 1 more
[bellchesters@DESKTOP /mnt/d/code/forktest/src/main/java]$ strace -ff java Main 2>&1 | tail
strace: Process 2366 detached
strace: Process 2367 detached
strace: Process 2368 detached
strace: Process 2369 detached
strace: Process 2370 detached
strace: Process 2371 detached
strace: Process 2372 detached
strace: Process 2373 detached
strace: Process 2374 detached
strace: Process 2375 detached
[bellchesters@DESKTOP /mnt/d/code/forktest/src/main/java]$ strace -ff java Main 2>&1 | grep vfork
[pid  2398] vfork()                     = -1 ENOMEM (Cannot allocate memory)

@therealkenc
Copy link
Collaborator

therealkenc commented Oct 28, 2016

Great! Like the auto mechanic said, "there's your problem". Try making the NT page size something ridiculous like 16 or 32GB, if you've got the disk space. You can set it back after of course. Good catch even if it doesn't work. Probably should spawn a new issue# since we're way off the Gradle setsockopt reservation here. [edit] Clean install never hurts but seems doubtful since you've already tried both Oracle and OpenJDK and I'd expect that would have eliminated installation variables. But who knows.

@chesterm8
Copy link

Well it works successfully at 16GB - I never would have guessed! Thanks so much for your help in debugging the issue, I have raised a new issue at #1286

@mtzaldo
Copy link

mtzaldo commented Nov 15, 2016

@chesterm8 Could you explain how did you make it work? What commands did you run? What switches did you move? Thanks a lot

@chesterm8
Copy link

chesterm8 commented Nov 15, 2016

@mtzaldo All I did was increase my windows page size up to 16GB. See #597 for discussion of the underlying reason why this works.

@benhillis
Copy link
Member

I've made a variety of changes to this area which will be coming to Insider builds soon.

  1. Added support for /proc/sys/vm/overcommit_memory (you can now use this procfs file to enable overcommit).
  2. Changed the way that commit charge was being calculated. We were previously over-counting the amount of commit WSL process were using.
  3. Changed the way the swap file size is calculated to take into account for maximum size of dynamic page files (not the current size).

The end result is these types of errors should go away - and if they don't you can enable overcommit.

@therealkenc
Copy link
Collaborator

Curious, what's the semantics when you set /proc/sys/vm/overcommit_memory and you ask for too much? I think Real Linux starts killing stuff unceremoniously, but I can't remember the exact behavior.

@benhillis
Copy link
Member

benhillis commented Dec 2, 2016

There are three settings:
0 - Heuristic. Lxcore will try to be intelligent about failing requests by checking if adding the current region will cause the machine to run out of commit.
1 - Always. Lxcore does no checking and trusts NT MM to handle failures.
2 - Never. Lxcore is more strict (turns lazy commit allocations into normal so allocations will fail up front rather than at some time in the future).

@therealkenc
Copy link
Collaborator

Very cool 🙌. I guess Real Linux also has /proc/<pid>/oom_adj, because of course it does (article). I assume NT has similar tuneables for the crowd that thinks mapping billion line tables into memory is a good idea (looking at you Oracle). Sweet work.

@ThaJay
Copy link

ThaJay commented Dec 14, 2016

@benhillis Nice work.
Do you know if it's in one of the insider rings yet? If so which build?

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

9 participants