After running from command line on windows I have the same problem with the already existing data directory
Could you please post here what is exactly printed when starting the jar file as described above. Thanks!
When you use v1.2.5 it starts up without any error?
When running with OpenJDK 13 x64
error: Application data directory āC:\Users\xxx\AppData\Roaming\Bisqā could not be created.
JRE 8 32-bit seems to be not compatible as returns wrong class version error.
1.25 Still working fine
Yes, with 1.2.5 everything worked fine for me. No config file or parameter have been changed on my part.
Looking at the code of bisq.common.config.Config
@245
I assume the default config file path at ~/.local/share/Bisq/bisq.properties
stored in the var defaultConfigFile
should be read.
However the variable defaultConfigFile
is never read again and then at line 630 it tries to create the parent directory what will throw the new ConfigException(ex, "Application data directory '%s' could not be created", path);
However I didnāt compiled and debug the code. I just skimmed over itā¦
Does this directory exist for you already? If yes, do you have a bisq.properties file in there? If yes, could you please post the content of it here? Thanks!
Just saw that the directory exists for you already.
Iāve just created an GitHub issue to track this problem: https://github.com/bisq-network/bisq/issues/3998
Could users affected by the appDataDir creation issue please post their operating system details? Windows / Linux distro / version, etc. Thanks.
āUbuntu 18.04.4 LTSā. If you need further details let me know.
I have been unable to reproduce this error. Here are the steps I took:
- Install a fresh Ubuntu 18.04.4 LTS VM via VirtualBox
- Download and install the Bisq v1.2.5 .deb from https://github.com/bisq-network/bisq/releases/tag/v1.2.5
- Run Bisq successfully with no command line options
- Notice that the app starts up without error
- Inspect
~/.local/share/Bisq
and notice that everything is in place as it should be - Click the link within the running Bisq application to download and verify the v1.2.7 release
- Close Bisq v1.2.5, install and run the newly-downloaded v1.2.7 .deb.
- Notice that the app starts up without error
- Inspect the
~/.local/share/Bisq
directory and the contents of thebisq.log
file within and notice that everything is as it should be.
Since I cannot reproduce this myself, whatās needed now is to get more information about the reason for the failure to create the (already existing) ~/.local/share/Bisq
directory. Iāve just published a patch that will ensure a stack trace is printed to the console in the case of this kind of directory creation failure. @tieck and/or @DrFredPhD, could one of you build and run from source using the following commands and report the stack trace back here?
First you will need to have JDK 10, 11 or 12 installed locally. Use JDK 10 if you donāt have anything installed already. You can get it from https://jdk.java.net/. When complete, check your java version at the command line and you should see the following:
$ java -version
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment 18.3 (build 10.0.2+13)
OpenJDK 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
Next, you need to build and run Bisq with my patch applied. Hereās how to do it if you have git
installed. If you donāt, see the alternative instructions that follow:
git clone --depth=50 --branch=debug-appdir-creation https://github.com/cbeams/bisq
cd bisq
./gradlew :desktop:run
If you do not have git
installed, you can download the source as a zip file, unzip it and run the ./gradlew :desktop:run
command within the bisq
directory it unzips into:
- Download and unzip https://github.com/cbeams/bisq/archive/debug-appdir-creation.zip
cd bisq
./gradlew :desktop:run
Note that on Windows, you will need to run gradlew.bat :desktop:run
instead of ./gradlew :desktop:run
You should end up with an error that begins with the following lines:
> Task :desktop:run FAILED
fault: An unexpected error occurred. Please file a report at https://bisq.network/issues
...
Please copy and paste your entire error message.
Note that I am going to cross-post this comment to the GitHub issue tracking this bug at https://github.com/bisq-network/bisq/issues/3998. Please feel free to respond there if you have a GitHub login. Otherwise, I will make sure any relevant information posted here ends up there as well.
It seems that the new version does not handle symbolic links in the path of the Bisq application directory the same way anymore.
I could reproduce the behavior in first moving away the application directory and then creating a symbolic link at its place:
$ mkdir ~/tmp
$ mv ~/.local/share/Bisq/ ~/tmp
$ ln -s ~/tmp/Bisq/ ~/.local/share/Bisq
$ ./gradlew :desktop:run
> Task :desktop:run FAILED
fault: An unexpected error occurred. Please file a report at https://bisq.network/issues
java.io.UncheckedIOException: Application data directory '/home/xxx/.local/share/Bisq' could not be created
at bisq.common.config.Config.mkAppDataDir(Config.java:805)
at bisq.common.config.Config.<init>(Config.java:644)
at bisq.core.app.BisqExecutable.execute(BisqExecutable.java:76)
at bisq.desktop.app.BisqAppMain.main(BisqAppMain.java:57)
Caused by: java.nio.file.FileAlreadyExistsException: /home/xxx/.local/share/Bisq
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:94)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:385)
at java.base/java.nio.file.Files.createDirectory(Files.java:689)
at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:796)
at java.base/java.nio.file.Files.createDirectories(Files.java:742)
at bisq.common.config.Config.mkAppDataDir(Config.java:803)
... 3 more
Iāve now heard from both @tieck and @DrFredPhD that they were using symlinks in their appDataDir paths. Iāve just submitted a fix that avoids the reported failure in these cases. See https://github.com/bisq-network/bisq/pull/4002. Feel free to build and run from source once that fix is merged, or wait for v1.2.8. Thanks for the reports and prompt responses!
I can confirm that the fix works as intended.
I wasnāt aware of this behavior of the Files.createDirectory
method: ignoring if target exists and is a directory, but failing if it is a symbolic link.
The code looks nice and it also has a test for the fix Certaintly not the messy code usually found in large coporationsā¦
Thanks for the kind words, @tieck! Indeed the Files.createDirectory
behavior was a surprise here.
Hi, I just wanted to say as OP: Thanks to all for working on this issue; most of the tech stuff is way beyond meā¦ Iām also happy to see that I wasnāt just an isolated case of the noobs. Cheers!