Closed slrslr closed 2 years ago
What external router are you using? The i2p network is currently experiencing problems but a new version is due tomorrow.
I'm on my phone right now but as soon as I'm back home I'll tell you how to enable logging.
To enable the necessary logging, look inside the logging
directory in the source tree. Copy the file 1_logging.properties
as logging.properties
in the directory from which you launch MuWire. Add the following line at the end of the file:
com.muwire.core.download.level=FINE
Then start MuWire and try a download. If you did everything right, a file called MuWire.log
should appear in the same directory.
Also, can you try downloading something from me? That way I can see how it looks on the uploader side.
I have tried to enable the logging as you have mentioned. Restart MW, and after start immediately checked Downloads, all tried connecting and failed (yes, i have tried to download file from you), so i quit after like a minute of runtime. Yet unable to find yours mentioned .log file, see this output
$ i2pd --version i2pd version 2.36.0 (0.9.49) Boost version 1.74.0
i2pd webconsole Uptime: 1 days, 22 hours Network status: OK Tunnel creation success rate: 60% Received: 2.10 GiB (9.46 KiB/s) Sent: 5.26 GiB (11.33 KiB/s)
MuWire status: connections incoming 38, outgoing 27. Uploads works. (stats shown from the long session before i have just now reboot to attempt logging) restarting i2pd not helped
Checking /var/log/I2pd/i2pd.log, shows some errors (pass: mw) maybe I2Pd issue, i will try later..
Regarding i2pd, I don't think those errors are related but you should definitely upgrade to 2.41.0 which came out just a few hours ago.
Regarding the log file, the logging.properties
file needs to be in $PWD. The following should work:
./gradlew clean assemble
mkdir tmp
cp gui/build/distributions/MuWire-0.8.11.zip tmp
cp logging.properties tmp
cd tmp
unzip MuWire-0.8.11.zip
MuWire-0.8.11/bin/MuWire
and then MuWire.log
should be inside tmp
.
Also check if you have enough disk space on the partition where your MuWire Incompletes directory is mounted. Try cancelling all downloads and deleting everything inside that directory.
It downloads again, but seen some issues you may want to check:
So i have installed i2pd 2.41.0
cd /tmp;wget https://github.com/PurpleI2P/i2pd/releases/download/2.41.0/i2pd_2.41.0-1bullseye1_amd64.deb && sudo dpkg -i i2pd_2.41.0-1bullseye1_amd64.deb && sudo apt install -f;whereis i2pd;systemctl restart i2pd
# ( If upgrading existing i2pd, then i have copied my configuration and compared merged only important lines like this: sudo cp -p /etc/i2pd/i2pd.conf /etc/i2pd/i2pd.conf_deb_version_working && sudo meld /etc/i2pd/i2pd.conf /etc/i2pd/i2pd.conf_deb_version_working && systemctl restart i2pd)
ran Your commands, last one also warns:
WARNING: package com.apple.laf not in java.desktop
WARNING: package com.sun.java.swing.plaf.windows not in java.desktop
MW 0.8.11 is running and all queued downloads fails. Muwire status window shows incoming/outgoing connections, some known and some hopeless peers
After maybe minute when all downloads failed and also common Search tab query "pdf" returned no results (it seems it needs some time or maybe even wait until library checksum finish) i quit MW and see the log file contains:
WARNING java_util_logging_Logger$log$7 call Exception while downloading
java.nio.file.NoSuchFileException /home/myoldnonexistingusername/Downloads/Incomplete/*/*.part
so this is caused by myself where i have copied muwire git folder from previous different Linux distribution where i had different Linux username and this username is somehow preserved somewhere, but in muwire git folder does not seem to be in any config file: Found only in:
./.git/logs/HEAD
./.git/logs/refs/heads/master
./.git/logs/refs/remotes/origin/master
./.git/logs/refs/remotes/origin/HEAD
./tmpp/MuWire-0.8.7/lib/guava-24.0-jre.jar
./tmpp/MuWire-0.8.7/lib/jsr305-3.0.2.jar
./tmp/MuWire-0.8.11/lib/guava-24.0-jre.jar
./tmp/MuWire-0.8.11/lib/jsr305-3.0.2.jar
./tmp/MuWire.log
./gui/build/distributions/gui-shadow-0.8.11.tar
./gui/build/distributions/MuWire-0.8.11.tar
./gui/build/libs/gui-0.8.11-all.jar
then i have found it in ~/.MuWire contents:
~/.MuWire/i2p.properties:user.home=/home/olduser
~/.MuWire/i2p.properties:user.name=olduser
~/.MuWire/i2p.properties:user.dir=/home/olduser/muwire/unzipp...
~/.MuWire/MuWire.properties:downloadLocation=/home/olduser/Downloads
~/.MuWire/MuWire.properties:incompleteLocation=/home/olduser/Downloads/Incomplete/muwire
then i did replacement in the two config files: sed -i "s|/olduser|/newuser|g" ~/.MuWire/i2p.properties ~/.MuWire/MuWire.properties sed -i "s|=olduser|=newuser|g" ~/.MuWire/i2p.properties ~/.MuWire/MuWire.properties
starting MW, still download fails. So i have updated from git, enabled logging again using your commands. And after start one download finished and newly files i have added to download queue from now on downloads. Old one like this file from you: MuWire-0.8.11.AppImage fails (i right click and retry), even i see the Search tab finds this file shared by you. So i cancel it and re-queue (download again from Search tab) and it downloads!!... from the log it seems it is using old linux username in path. The log shows also some exception which i think is caused by mouse right click download queued file MuWire-0.8.11.AppImage and selecting to copy checksum.
I am thinking @zlatinb if MW can be somehow made not to use the username in its config files, instead like ~/abc/def or $HOME/abc/def ..? Sorry for long post.
Ok, this all makes sense now. It is working as intended but I need to update, or actually write instructions for moving MW to a different computer or user.
The absolute path of the incomplete file is stored in a file called downloads.json
but it's encoded and not intended to be editable by the user. This is one of the problems which is preventing MW to run portably, see issue #2 . It would be a big change to make that work in a backwards compatible way, so I'm going to leave it for after version 1.0.0 (You can see the roadmap to 1.0.0 on the MW forum)
In the commit referenced above I fixed copying downloader hash to clipboard. Good catch! Unless there is anything else please close this issue.
👍
In 0.8.11 I was searching random phrases on Search tab and tried to download files from around 10 users and the file download always shows as Connecting and Failed and then Hopeless. It does not seem likely it 100% times fail. It does not seem there is built-in log that can tell me the detail about the failure. Uploading to others works. I have also tried to download from user to whom i am currently uploading, with same result.
I am on Linux, built MW 0.8.11 from git, openjdk 11.0.14
UPDATE: per this comment it seems to be caused my moving ~/.MuWire directory to different computer with different Linux user.