Bug 1707989

Summary: New Version of upstream package has been released
Product: [Fedora] Fedora Reporter: Lee Cashmore <cardy165>
Component: domoticzAssignee: Michael Cronenworth <mike>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 29CC: mike, stefan.van.der.eijk
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: domoticz-4.11250-0.git20190831.1.fc30 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-14 01:12:18 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lee Cashmore 2019-05-08 21:36:00 UTC
Description of problem:
A new stable version of the domoticz home automation has been released. 

Version-Release number of selected component (if applicable):

Newest Version is now : 4.10659
https://github.com/domoticz/domoticz/releases

It would be great to have the new version as 4.9700 had some problems with Philips Hue

Comment 1 Michael Cronenworth 2019-05-08 22:30:41 UTC
Thanks. I'll try to look at it when I can.

Comment 2 Stefan van der Eijk 2019-05-09 07:10:23 UTC
Perhaps this helps: I've been maintaining a package derived from this one. It can be found here: https://build.opensuse.org/package/show/home:stefan_van_der_eijk/domoticz

There are some issues:
- I've disabled the tinyxml patch, it does compile but it causes domoticz to crash;
- the openzwave patch doesn't apply & compile, so I've reverted to openzwave 1.4 for the fc29 & fc30 versions.
- other smaller things

If required, please reach out to me.

Comment 3 Michael Cronenworth 2019-05-09 22:04:49 UTC
Yes, OpenZwave is a mess. Upstream (openzwave) ships a 'stable' and 'dev' branch. Domoticz ships a bundled version of stable with their own custom changes. The stable branch is pretty stinking old so if you have any new device they probably don't have the config files.

@Stefan, if you are a Fedora packager I would welcome a co-maintainer. My time gets more limited by the day and any help would be welcome.

I'm not sure what you mean by tinyxml? I have a tinyxpath patch to use the system version. Upstream is a Windows developer by trade and bundles everything out of bad habits.

Comment 4 Stefan van der Eijk 2019-05-11 09:45:41 UTC
Openzwave: doesn't domoticz copy over the config files from the openzwave project regularly? I'll need to check what's in there.

Sorry, I meant tinyxpath. In my spec file I have:

%if 0%{?fedora} > 30
%patch2 -p1 -b.tinyxpath
%patch3 -p1 -b.openzwave
%patch4 -p1 -b.openzwave-Dev
%endif

and:

%if 0%{?fedora} > 30
rm -rf tinyxpath/
%endif

If I move the first if down one line (so the tinyxpath patch gets applied when compiling for fc29) and comment out the 2nd %if and %endif, then it does compile but crashes when I try to run it:

May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.703  Status: OpenZWave: using config in: /usr/share/domoticz/Config/
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.704  #033[1;31mError: Domoticz(pid:31644, tid:31687('ZWaveBase')) received fatal signal 11 (Segmentation fault)#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.704  #033[1;31mError: siginfo address=0x90, address=0x7f22f2f743f1#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.710  #033[1;31mError: Failed to start gdb, will use backtrace() for printing stack frame
May  8 09:56:41 void domoticz[31644]: #033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.715  #033[1;31mError: #0  /usr/bin/domoticz :  + 0x2e2e86 [0x5565917e4e86]#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.715  #033[1;31mError: #1  /usr/bin/domoticz : signal_handler(int, siginfo_t*, void*) + 0x2ad [0x5565917e5a5d]#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.715  #033[1;31mError: #2  /lib64/libpthread.so.0 :  + 0x13070 [0x7f22f2daa070]#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.715  #033[1;31mError: #3  /lib64/libopenzwave.so.1.4 : OpenZWave::Options::Lock() + 0xa1 [0x7f22f2f743f1]#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.715  #033[1;31mError: #4  /usr/bin/domoticz : COpenZWave::OpenSerialConnector() + 0x8ac [0x556591a4d6fc]#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.715  #033[1;31mError: #5  /usr/bin/domoticz : COpenZWave::GetInitialDevices() + 0x30 [0x556591a4db00]#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.715  #033[1;31mError: #6  /usr/bin/domoticz : ZWaveBase::Do_Work() + 0x10d [0x556591b1600d]#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.715  #033[1;31mError: #7  /lib64/libstdc++.so.6 :  + 0xc39a3 [0x7f22f2b619a3]#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.715  #033[1;31mError: #8  /lib64/libpthread.so.0 :  + 0x858e [0x7f22f2d9f58e]#033[0;0m
May  8 09:56:41 void domoticz[31644]: 2019-05-08 09:56:41.715  #033[1;31mError: #9  /lib64/libc.so.6 : clone + 0x43 [0x7f22f2836683]#033[0;0m
May  8 09:56:41 void audit[31644]: ANOM_ABEND auid=4294967295 uid=988 gid=985 ses=4294967295 pid=31644 comm="ZWaveBase" exe="/usr/bin/domoticz" sig=11 res=1
May  8 09:56:43 void systemd[1]: domoticz.service: Main process exited, code=killed, status=11/SEGV
May  8 09:56:43 void systemd[1]: domoticz.service: Failed with result 'signal'.
May  8 09:56:43 void audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=domoticz comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
May  8 09:56:44 void systemd-coredump[31700]: Process 31644 (domoticz) of....

Co-maintainership: Good idea!

Comment 5 Michael Cronenworth 2019-05-11 17:49:31 UTC
They do copy configs occasionally but I'd rather follow upstream directly and not rely on bundled libraries.

> /lib64/libopenzwave.so.1.4 

You're using an unsupported openzwave library.

Good news though. OpenZWave just released 1.6 stable! I'll try packaging the latest domoticz and OpenZWave and see where the compatibility stands.

Comment 6 Stefan van der Eijk 2019-05-11 20:21:46 UTC
> You're using an unsupported openzwave library.

Correct. The only way I could get it to work on the domoticz beta builds (domoticz-4.10731-1.1.x86_64).

I was trying to keep the difference between the fedora and my domoticz package as small as possible. Hoping / assuming that the tinyxpath patch wasn't related to the version of openzwave used.

> OpenZWave just released 1.6 stable! 

Yes, I noticed.

> I'll try packaging the latest domoticz and OpenZWave and see where the compatibility stands.

There has been some talk on the domoticz forum about 1.6: http://www.domoticz.com/forum/viewtopic.php?f=24&t=27823

Comment 7 Stefan van der Eijk 2019-05-12 18:56:38 UTC
domoticz has been updated to use openzwave 1.6: https://github.com/domoticz/domoticz/commit/56d3fa099d9c98222d6cf5043891c6ba2f1df6bf

Comment 8 Michael Cronenworth 2019-05-13 00:40:56 UTC
(In reply to Stefan van der Eijk from comment #6)
> Correct. The only way I could get it to work on the domoticz beta builds
> (domoticz-4.10731-1.1.x86_64).
> I was trying to keep the difference between the fedora and my domoticz
> package as small as possible. Hoping / assuming that the tinyxpath patch
> wasn't related to the version of openzwave used.

An older 1.5 library works. libopenzwave-1.5.0-0.20171211gitc3b0e31.0.fc29

I didn't update the openzwave package in Fedora since I thought it was isolated to me. OpenZwave / Domoticz don't have the greatest compatibility. One device may work great while another device may crash domoticz. Hopefully the 1.6 update can resolve all of this.

> domoticz has been updated to use openzwave 1.6

Thanks for that. My initial attempt to build with 4.10717 resulted in a nasty crash. Building with this patch resulted in another crash, but one I was able to trace to an API difference in the upgrade to 1.6. I can send a patch to domoticz.

There are two outstanding issues.
1. Upgrading from 4.9700 to 4.10717 results in the "Offline" page being shown. Clearing cache does not fix it. Starting with -nowwwpwd works around it but that is not a fix. Reported upstream: http://www.domoticz.com/forum/viewtopic.php?f=6&t=27925
2. The OpenZWave 1.6 support is not complete. It queries all of my 5 devices but I cannot send commands to any of them.

Downgrading to 4.9700 + OZW 1.5 resulted in another crash so 4.10717 + OZW 1.6 changed something in the devices themselves... I had to unplug the controller, start/stop domoticz, plug the controller back in to clear that. Ugh. :(

Assuming I can get 4.10717 fixed up I will get our working OZW 1.5 library pushed as an update, too.

Comment 9 Stefan van der Eijk 2019-05-14 16:31:17 UTC
Managed to build openzwave-1.6 https://build.opensuse.org/package/live_build_log/home:stefan_van_der_eijk/openzwave/Fedora_30/x86_64
and domoticz https://build.opensuse.org/package/live_build_log/home:stefan_van_der_eijk/domoticz/Fedora_30/x86_64
on FC30. Will be setting up a test system to try this out without impacting "production".

Comment 10 Michael Cronenworth 2019-09-02 00:00:46 UTC
I've pushed the latest git checkout for Domoticz plus the latest stable OZW 1.6 update to Fedora Rawhide and Fedora 31.

F31 update: https://bodhi.fedoraproject.org/updates/FEDORA-2019-a09d87d4db

It's been stable for me for about 24 hours with all my devices. I'll give it a few more days then consider pushing an update to Fedora 30.

Comment 11 Stefan van der Eijk 2019-09-02 08:16:29 UTC
I've been running latest openzwave (from git) over the last few weeks on my FC30 server (https://build.opensuse.org/package/show/home:stefan_van_der_eijk/openzwave). No issues.

Comment 12 Stefan van der Eijk 2019-09-02 11:30:20 UTC
Also applies to domoticz, I've been running the latest git version over the last few weeks (https://build.opensuse.org/package/show/home:stefan_van_der_eijk/domoticz). No issues.

Comment 13 Fedora Update System 2019-09-05 12:56:25 UTC
FEDORA-2019-9a96c993d2 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-9a96c993d2

Comment 14 Fedora Update System 2019-09-06 12:11:08 UTC
domoticz-4.11250-0.git20190831.1.fc30, openzwave-1.6.899-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-9a96c993d2

Comment 15 Fedora Update System 2019-09-14 01:12:18 UTC
domoticz-4.11250-0.git20190831.1.fc30, openzwave-1.6.899-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.