Troubleshooting Linux

The MuWire file sharing application
Post Reply
sNL
Posts: 8
Joined: 01 Jul 2019 03:18

Troubleshooting Linux

Post by sNL »

Troubleshooting Linux
Xeyed1
Posts: 8
Joined: 19 Jun 2018 17:00

Re: Troubleshooting Linux

Post by Xeyed1 »

Looking for suggestions on getting MuWire to successfully launch on Debian Buster (10.1)

MuWire was launching fine up to and including 0.5.5 when it was loading from the terminal using "java". However since 0.5.6 it has been buggy. Version 0.5.7 was launching but threw up errors. Since then it puts up an alert window saying that it is starting but then it puts up an error alert saying that the i2p router could not be found. It does this both from the terminal and from launching the script from the window manager. If I launch as root it loads but that is not an option for everyday usage.

It looks like a file permissions error but all the files are set to read and write for the user, and read for the user's group and for others. I do not see any indication that the script should be launched from a particular location. They are saved in the same location that the 0.5.5 java file was in but maybe something need to be done differently with the shell script. The script is set as an executable. Maybe it runs afoul of apparmor somewhere but if so I am not sure what would be the best approach to change that.

Suggestions would be most welcome.
zlatinb

Re: Troubleshooting Linux

Post by zlatinb »

Can you try the single-jar package from http://muwire.i2p/MuWire-0.6.2.jar.pack.bz2 ? To restore the original jar execute the following:

Code: Select all

bunzip2 MuWire-0.6.2.jar.pack.bz2
unpack200 MuWire-0.6.2.jar.pack MuWire-0.6.2.jar
If all goes well you will end up with a single-jar similar to how it was before 0.5.6. You need to have the full jdk installed, not just the jre.

As far as the start script, if it's getting as far saying that it can't connect to the I2P router means java is fine. I can help you debug further but please try the single-jar approach above just to rule out any non-script issues.
Xeyed1
Posts: 8
Joined: 19 Jun 2018 17:00

Re: Troubleshooting Linux

Post by Xeyed1 »

Thanks for the quick reply and all the work on an interesting program.

Had to install the jdk.

Got the following error with -

unpack200 MuWire-0.6.2.jar.pack MuWire-0.6.2.jar

"Warning: The unpack200 tool is deprecated, and is planned for removal in a future JDK release."

java -jar MuWire-0.6.2.jar gave the same behavior and error as the script did.

"MuWire is loading. Please wait...
Couldn't connect to I2P router. Make sure I2P is running and restart MuWire."

Looking more like a permissions problem but I cannot see where the problem is. I cannot recall making any permissions changes since 0.5.5, which is why I thought there might be something inside the code that was had started requiring root privileges.

Running as root

java -jar MuWire-0.6.2.jar
and
sh MuWire

both worked but gave the usual error.

"WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/home/lorenz/MuWire/MuWire-0.6.2/lib/groovy-all-2.4.15.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release"


My i2p router is probably busier than most. Is there a timeout threshold that could be triggering this error? It only takes a few seconds to bring up the cannot connect alerts but I am grasping at straws here.
zlatinb

Re: Troubleshooting Linux

Post by zlatinb »

I'm really surprised that running it as root makes a difference. This points to a permissions issue somewhere, question is exactly where.

What about running it as a different non-root user? Maybe something is preventing MW from writing to $HOME/.MuWire folder?

Another thing to try is to enable more verbose logging. To do that, you will need to clone from git; look inside the "logging" directory and copy the file "4_logging.properties" to PWD from where you're launching MuWire. Then, launch MW with the following additional argument:

Code: Select all

java -Djava.util.logging.config.file=4_logging.properties -jar MuWire-0.6.2.jar
If all goes well a file called "MuWire.log" will appear in PWD. It will be pretty big and contain some sensitive information like your MW persona name, but looking at it should give you some clues exactly what is failing when running as non-root.
Post Reply