Updated from 3.0.2 to 3.1.0 and now OpenHab does not answer anymore

  • Platform information:
    • Hardware: x86_64
    • OS: Manjaro Linux (Arch derivative)
    • Java Runtime Environment: Java 11 OpenJDK
    • openHAB version: 3.1.0
  • Issue of the topic:

I had a working 3.0.2 installation on my Manjaro box, installed via AUR but it suggested an update was available. I read around, saw that some nice novelties were to be found in 3.1.0, I applied the update.
The package definition difference can be seen here which reveals that the source is taken from this URL: https://openhab.jfrog.io/artifactory/libs-release/org/openhab/distro/openhab/3.1.0/openhab-3.1.0.tar.gz

The upgrade went just fine but now I can’t connect to my openHAB instance anymore.
It is not responding on HTTP port 8080, nor does it answer local SSH on port 8101.

If I do systemctl status openhab3, all I get in the log is this:

juil. 02 17:08:22 server systemd[1]: Started The openHAB 3 Home Automation Bus Solution.

and nothing after that, even if I leave it for 10 minutes.
I tried looking in /var/log/openhab3/openhab.log and /var/log/openhab3/events.log but there are no entries in there dated from after the update.

Where should I be looking for details? What can I try to solve the situation?

maybe this post from the release discussion thread will help

specifically
EDIT: Alright, after deleting /var/lib/openhab3/tmp/ and /var/lib/openhab3/cache/ everything works fine.

1 Like

I thought OH3 would be in /var/lib/openhab They dropped the folder versioning.

1 Like

The AUR package didn’t for some reason.

indeed. It looks like that everything that is called openhab for OH3 is called openhab3 in that distribution:
https://aur.archlinux.org/cgit/aur.git/tree/openhab3.patch?h=openhab3

AUR are user repos supported by them We have difficulty here when they stray from the official installation norms.

The manual installation instructions are quite clear on the normal path for the software.

1 Like

Thanks for the pointer, I had seen this thread but not quite this answer.
That being said, it does not help in my situation, I don’t have any message coming up at all.
I tried running this:

sudo -u openhab3 -g openhab3 /usr/share/openhab3/karaf_wrapper.sh debugs server

which gives this message on the console:

Listening for transport dt_socket at address: 5005

But apart from that nothing happens, no log, no listening on port 8080 or 8101 as it used to do with version 3.0.2

I’m not sure where the fault lies, I understand that “patching” the installation files to change the folders makes it fit in the ArchLinux ecosystem but it deviates from the original locations.

I tried creating symbolic links like this:

ln -s /var/lib/openhab3 /var/lib/openhab
ln -s /var/log/openhab3 /var/log/openhab
ln -s /usr/share/openhab3 /usr/share/openhab

But it did not change the situation.

What worries me the most is that there are not error messages, no log traces, nothing that could help me figure out what’s wrong in my installation.

Could it come from the fact that I’m using openJDK? I believe it is the “standard” one in this system.

From the prerequisites:

OpenJDK may also be used, but it has some known limitations (opens new window) with openHAB and is not recommended.

Run

sudo journalctl

to see if the system journal gives a hint about what the problem could be.

Ok, I download the zip archive and placed it inside /usr/src/openhab310.
Then, as indicated in the documentation, I started the following command line:

sudo su -s /bin/bash -c /usr/src/openhab310/runtime/bin/karaf openhab3

At first it gave me error messages but they got solved by exporting a valid value for JAVA_HOME
Now, I get the openHAB console and it answers on port 8080. Quite obviously though, all the configuration is lost.

I then tried to run the following similar command from the /usr/share/openhab3 folder as it is where the AUR package places the runtime folder

sudo su -s /bin/bash -c /usr/share/openhab3/runtime/bin/karaf openhab3

And while this starts a java process, it never displays the console nor does it answer on ports 8080 and 8101

I have tried using kdiff3 to compare the two architectures, but apart from folder name differences, I’m yet to find the culprit.
The lack of error messages does not help much here…

  • was your OH 3.0.2 installation provided by the same source ( Manjara Linux repository ) ?
    the root cause then might be that the Manaja distro ( 3.1.0 ) looks into openhab3 folders while 3.0.2 looks into openhab folders
  • you could try to increase the debug level
  • wouldn’t it be a ( good ) alternative to use the original OH packages ?

I agree. An even better alternative would be for the AUR developer to follow the OH conventions for folder naming.

Yes, I just did an update of the AUR package with trizen

I edited the log4j2.xml file inside the manual package userdata/etc and I could see lots of messages.
Doing the same in /var/lib/openhab3/etc led to no change at all in the outcome.

Well, sure, but how do I not lose the configuration I spent hours creating? Is it enough to store/retrieve the content of the jsondb folder? Or would it be better to backup the entire userdata folder?

Start by reading the documentation for answers ;).

I did read this:

But it was not clear whether or not it was sufficient and for whatever reason, I missed the backup/restore section in the documentation thanks.

1 Like

I would suggest to use

openhab-cli backup

or the backup program that is stored in

/usr/share/openhab*/runtime/bin/backup

which should be the one that is called from within openhab-cli.
This ( at least for OH3 that is provided by openhab.org ) creates a zip file containing all necessary files.
You can use 7z or another file that is able to read .zip files to check the content of the file ( it is a lowercase letter L ) :

7z l /path/to/backup-zip-file.zip

Most probably it used paths to openhab3 folders. So some finetunning would be required afterwards.
At least you should be able to use this file to restore the current status in case you would like to go back

did it help ?

userdata/etc and /var/lib/openhab3/etc would be the same in case OPENHAB_USERDATA is set to /var/lib/openhab3

Thanks for this, those details are very nice to have.

I thus created a backup, wiped clean the installation from the AUR package, redid the package installation, restored the backup and I’m back online.

Someone on the AUR package page added a comment saying they had to remove etc as well, so maybe that’s what I did by completely wiping the installation.