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

coinomi: init at 1.0.11 #66083

Closed
wants to merge 1 commit into from
Closed

Conversation

angristan
Copy link
Member

@angristan angristan commented Aug 5, 2019

Motivation for this change

#65799

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@angristan
Copy link
Member Author

angristan commented Aug 5, 2019

Current status: It's building!

Coinomi is properly linked (I think):

stanislas@nixpsla ~/n/p/a/a/coinomi> (coinomi/init|✔) ldd ./result/bin/Coinomi
	linux-vdso.so.1 (0x00007ffeda7b1000)
	libdl.so.2 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libdl.so.2 (0x00007f7d2f392000)
	libstdc++.so.6 => /nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libstdc++.so.6 (0x00007f7d2f208000)
	libpthread.so.0 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libpthread.so.0 (0x00007f7d2f1e7000)
	libc.so.6 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libc.so.6 (0x00007f7d2f031000)
	/nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/ld-linux-x86-64.so.2 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib64/ld-linux-x86-64.so.2 (0x00007f7d2f399000)
	libm.so.6 => /nix/store/iykxb0bmfjmi7s53kfg6pjbfpd8jmza6-glibc-2.27/lib/libm.so.6 (0x00007f7d2ee9b000)
	libgcc_s.so.1 => /nix/store/pjx3f50x0qziyivs7rbg5s12p99nn2np-gcc-7.4.0-lib/lib/libgcc_s.so.1 (0x00007f7d2ee80000)

Here is my current problem:

stanislas@nixpsla ~/n/p/a/a/coinomi> (coinomi/init|✔) ./result/bin/Coinomi
**************************************************

Java Spec Version: 1.8
Java Version: 1.8.0_192
Java Vendor: Azul Systems, Inc.
Java Name: OpenJDK 64-Bit Server VM

**************************************************
Aug 05, 2019 5:52:47 PM com.coinomi.app.WalletApplication <init>
INFO: Initiating LinuxSecureRandom
Aug 05, 2019 5:52:47 PM org.bitcoinj.crypto.LinuxSecureRandom <clinit>
INFO: Secure randomness will be read from /dev/urandom only.
Aug 05, 2019 5:52:47 PM org.bitcoinj.core.Context getOrCreate
WARNING: Implicitly creating context. This is a migration step and this message will eventually go away.
Aug 05, 2019 5:52:47 PM org.bitcoinj.core.Context <init>
INFO: Creating bitcoinj 0.15-SNAPSHOT context.
05:52:48 SEVERE: Failed to extract Chromium binaries into /home/stanislas/.local/share/Coinomi/jxBrowser
java.lang.RuntimeException: java.io.IOException: Cannot run program "/home/stanislas/.local/share/Coinomi/jxBrowser/7zr-linux64": error=2, No such file or directory
	at com.teamdev.jxbrowser.chromium.internal.XZExtractor.extract(SourceFile:45)
	at com.teamdev.jxbrowser.chromium.internal.ChromiumExtractor.a(SourceFile:1110)
	at com.teamdev.jxbrowser.chromium.internal.c.run(SourceFile:1061)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.teamdev.jxbrowser.chromium.internal.ChromiumExtractor.extractChromiumBinariesIfNecessary(SourceFile:59)
	at com.teamdev.jxbrowser.chromium.internal.ipc.IPC.<init>(SourceFile:65)
	at com.teamdev.jxbrowser.chromium.internal.ipc.IPC.create(SourceFile:94)
	at com.teamdev.jxbrowser.chromium.internal.ipc.IPC$a.<clinit>(SourceFile:469)
	at com.teamdev.jxbrowser.chromium.internal.ipc.IPC.getDefault(SourceFile:89)
	at com.teamdev.jxbrowser.chromium.BrowserContext.<init>(SourceFile:61)
	at com.teamdev.jxbrowser.chromium.BrowserContext.<clinit>(SourceFile:29)
	at com.teamdev.jxbrowser.chromium.Browser.<init>(SourceFile:296)
	at com.coinomi.desktop.App.createBrowser(App.java:46)
	at com.coinomi.desktop.windows.AppWindow.createWindowAndShow(AppWindow.java:55)
	at com.coinomi.desktop.CoinomiWallet.main(CoinomiWallet.java:64)
Caused by: java.io.IOException: Cannot run program "/home/stanislas/.local/share/Coinomi/jxBrowser/7zr-linux64": error=2, No such file or directory
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
	at java.lang.Runtime.exec(Runtime.java:620)
	at java.lang.Runtime.exec(Runtime.java:485)
	at com.teamdev.jxbrowser.chromium.internal.xz.XZ.decompress(SourceFile:42)
	at com.teamdev.jxbrowser.chromium.internal.XZExtractor.extract(SourceFile:42)
	... 14 more
Caused by: java.io.IOException: error=2, No such file or directory
	at java.lang.UNIXProcess.forkAndExec(Native Method)
	at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
	at java.lang.ProcessImpl.start(ProcessImpl.java:134)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
	... 18 more

The directory exists:

stanislas@nixpsla ~/n/p/a/a/coinomi> (coinomi/init|✔) ll /home/stanislas/.local/share/Coinomi/
drwxr-xr-x - stanislas users  5 août  17:52 jxBrowser/
drwxr-xr-x - stanislas users  5 août  17:44 wallet_db/

@jonringer
Copy link
Contributor

seems like it tries to do a "smart" bootstrapping process and download some needed executables. However, from my own testing, it seems to overwrite that directory and then fails to download the needed executables.

@angristan
Copy link
Member Author

Is this something that can be patched? 🤔

@jonringer
Copy link
Contributor

Seems to be a jxBrowser thing. And I'm 'not sure :(

@jonringer
Copy link
Contributor

jonringer commented Aug 5, 2019

I still find it funny how the "smarter" something bootstraps itself, the worse it is to deal with nix. Nix is really good at giving exact locations of things, but this only works if there is a way to configure it :(

@angristan
Copy link
Member Author

That's too bad 🙁 I guess Coinomi is not the only app to work this way though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants