Frequent unwanted reboots of openHAB on ODROID-XU4

Many thanks to @wborn
i’ll try your suggestion this weekend and report if it soves my problem.

1 Like

Good morning,

I re-installed Ubuntu 18.04 on my XU4 last night, and then OH2.3 with knx V1.12.0
All stable so far.

I will report back in a couple of days

Stefan

Great! It could be that the old binding uses more resources so the Java process never goes to the little cores. :wink:

When there are native issues with the KNX2 binding on your ODROID XU4 you will probably always see KNX packages in the stack of the hs_err_pid file. See my previous comment.

Can you post the stack from one of the crashes of the hs_err_pid files?

There’s also a thread about openHAB crashing on the ODROID forums where pinning the process to the big cores seems to have resolved the crashing.

Well I did not have to wait too long for the next crash…
OH 2.3 with knx V1.12.0

This is what the syslog sais:

Jul  3 14:27:02 wi-openHAB karaf[4426]: # A fatal error has been detected by the Java Runtime Environment:
Jul  3 14:27:02 wi-openHAB karaf[4426]: #
Jul  3 14:27:02 wi-openHAB karaf[4426]: #  SIGSEGV (0xb) at pc=0x00000000, pid=4426, tid=0x9835f460
Jul  3 14:27:02 wi-openHAB karaf[4426]: #
Jul  3 14:27:02 wi-openHAB karaf[4426]: # JRE version: OpenJDK Runtime Environment (8.0_171-b11) (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
Jul  3 14:27:02 wi-openHAB karaf[4426]: # Java VM: OpenJDK Client VM (25.171-b11 mixed mode linux-aarch32 )
Jul  3 14:27:02 wi-openHAB karaf[4426]: # Problematic frame:
Jul  3 14:27:02 wi-openHAB karaf[4426]: # C  0x00000000
Jul  3 14:27:02 wi-openHAB karaf[4426]: #
Jul  3 14:27:02 wi-openHAB karaf[4426]: # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
Jul  3 14:27:02 wi-openHAB karaf[4426]: #
Jul  3 14:27:02 wi-openHAB karaf[4426]: # An error report file with more information is saved as:
Jul  3 14:27:02 wi-openHAB karaf[4426]: # /var/lib/openhab2/hs_err_pid4426.log
Jul  3 14:27:02 wi-openHAB karaf[4426]: [thread -1671433120 also had an error]
Jul  3 14:27:03 wi-openHAB karaf[4426]: #
Jul  3 14:27:03 wi-openHAB karaf[4426]: # If you would like to submit a bug report, please visit:
Jul  3 14:27:03 wi-openHAB karaf[4426]: #   http://bugreport.java.com/bugreport/crash.jsp
Jul  3 14:27:03 wi-openHAB karaf[4426]: #
Jul  3 14:27:03 wi-openHAB systemd[1]: openhab2.service: Main process exited, code=killed, status=6/ABRT
Jul  3 14:27:03 wi-openHAB systemd[1]: openhab2.service: Failed with result 'signal'.
Jul  3 14:27:08 wi-openHAB systemd[1]: openhab2.service: Service hold-off time over, scheduling restart.
Jul  3 14:27:08 wi-openHAB systemd[1]: openhab2.service: Scheduled restart job, restart counter is at 3.
Jul  3 14:27:08 wi-openHAB systemd[1]: Stopped openHAB 2 - empowering the smart home.
Jul  3 14:27:08 wi-openHAB systemd[1]: Started openHAB 2 - empowering the smart home.
Jul  3 14:28:16 wi-openHAB karaf[5031]: #
Jul  3 14:28:16 wi-openHAB karaf[5031]: # A fatal error has been detected by the Java Runtime Environment:
Jul  3 14:28:16 wi-openHAB karaf[5031]: #
Jul  3 14:28:16 wi-openHAB karaf[5031]: #  SIGSEGV (0xb) at pc=0x00000000, pid=5031, tid=0x9d629460
Jul  3 14:28:16 wi-openHAB karaf[5031]: #
Jul  3 14:28:16 wi-openHAB karaf[5031]: # JRE version: OpenJDK Runtime Environment (8.0_171-b11) (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
Jul  3 14:28:16 wi-openHAB karaf[5031]: # Java VM: OpenJDK Client VM (25.171-b11 mixed mode linux-aarch32 )
Jul  3 14:28:16 wi-openHAB karaf[5031]: # Problematic frame:
Jul  3 14:28:16 wi-openHAB karaf[5031]: # C  0x00000000
Jul  3 14:28:16 wi-openHAB karaf[5031]: #
Jul  3 14:28:16 wi-openHAB karaf[5031]: # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
Jul  3 14:28:16 wi-openHAB karaf[5031]: #
Jul  3 14:28:16 wi-openHAB karaf[5031]: # An error report file with more information is saved as:
Jul  3 14:28:16 wi-openHAB karaf[5031]: # /var/lib/openhab2/hs_err_pid5031.log
Jul  3 14:28:16 wi-openHAB karaf[5031]: #
Jul  3 14:28:16 wi-openHAB karaf[5031]: # If you would like to submit a bug report, please visit:
Jul  3 14:28:16 wi-openHAB karaf[5031]: #   http://bugreport.java.com/bugreport/crash.jsp
Jul  3 14:28:16 wi-openHAB karaf[5031]: #
Jul  3 14:28:16 wi-openHAB systemd[1]: openhab2.service: Main process exited, code=killed, status=6/ABRT
Jul  3 14:28:16 wi-openHAB systemd[1]: openhab2.service: Failed with result 'signal'.
Jul  3 14:28:21 wi-openHAB systemd[1]: openhab2.service: Service hold-off time over, scheduling restart.
Jul  3 14:28:21 wi-openHAB systemd[1]: openhab2.service: Scheduled restart job, restart counter is at 4.
Jul  3 14:28:21 wi-openHAB systemd[1]: Stopped openHAB 2 - empowering the smart home.

as you can see it crashes again on the first restart and then suceeds the second time.
The pid file is quite long. I have tried to catch all the thread related information below.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00000000, pid=4426, tid=0x9835f460
#
# JRE version: OpenJDK Runtime Environment (8.0_171-b11) (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
# Java VM: OpenJDK Client VM (25.171-b11 mixed mode linux-aarch32 )
# Problematic frame:
# C  0x00000000
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0xa0d13c00):  JavaThread "HttpClient@8548081-393" [_thread_in_Java, id=5028, stack(0x98310000,0x98360000)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000000

Registers:
R0=0x00000001
R1=0xa37bb100
R2=0xa8cce820
R3=0x00000040
R4=0x00000001
R5=0x0000003f
R6=0x00000000
R7=0xa2e25358
R8=0xa0d13c00
R9=0x00000000
R10=0x00001b08
R11=0x9835dca4
R12=0x000004ac
R13=0x9835dc08
R14=0xb330f818
R15=0x00000000

Top of Stack: (sp=0x9835dc08)
0x9835dc08:   f1333a80 00000040 0000003f 00000080
0x9835dc18:   a37bb100 0000007f 00000000 a2bdf320
0x9835dc28:   00000001 9835dc38 9835dc6c b3181740
0x9835dc38:   00000080 a37bb100 00000001 00000000
0x9835dc48:   00000040 ad7d1e0b a37bb100 a8cce820
0x9835dc58:   0000003f f1333a80 00000001 9835dc74
0x9835dc68:   9835dca4 b3181740 ad7d1e0b 00000040
0x9835dc78:   a8cce820 a37bb100 9835dc80 a2e21517 

Instructions: (pc=0x00000000)
0xffffffe0:   

Register to memory mapping:

R0=0x00000001 is an unknown value
R1=
[error occurred during error reporting (printing register info), id 0xb]

Stack: [0x98310000,0x98360000],  sp=0x9835dc08,  free space=311k

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x9f389000 JavaThread "HttpClient@8548081-394" [_thread_in_vm, id=5029, stack(0x981b0000,0x98200000)]
=>0xa0d13c00 JavaThread "HttpClient@8548081-393" [_thread_in_Java, id=5028, stack(0x98310000,0x98360000)]
  0xa090e000 JavaThread "HttpClient@8548081-392" [_thread_in_vm, id=5027, stack(0x9a3e5000,0x9a435000)]
  0x9f388c00 JavaThread "HttpClient@8548081-scheduler" [_thread_blocked, id=5026, stack(0x98ee5000,0x98f35000)]
  0x9c708400 JavaThread "HttpClient@8548081-390" [_thread_in_native, id=5025, stack(0x9a255000,0x9a2a5000)]
  0xa0bc8400 JavaThread "HttpClient@8548081-389" [_thread_in_Java, id=5024, stack(0x991b5000,0x99205000)]
  0xa0bc8000 JavaThread "HttpClient@8548081-388" [_thread_in_Java, id=5023, stack(0x99255000,0x992a5000)]
  0x9c738800 JavaThread "HttpClient@8548081-386" [_thread_in_native, id=5021, stack(0x98f85000,0x98fd5000)]
  0x9c752800 JavaThread "HttpClient@8548081-385" [_thread_in_native, id=5020, stack(0x994e5000,0x99535000)]
  0xa0bbc000 JavaThread "HttpClient@8548081-384" [_thread_in_native, id=5019, stack(0x99495000,0x994e5000)]
  0x9c727000 JavaThread "HttpClient@8548081-383" [_thread_blocked, id=5018, stack(0x99115000,0x99165000)]
  0xa0e4e000 JavaThread "ESH-persist-4" daemon [_thread_blocked, id=5017, stack(0x98360000,0x983b0000)]
  0xa0e4cc00 JavaThread "ESH-persist-3" daemon [_thread_blocked, id=5016, stack(0x983b0000,0x98400000)]
  0x98dee400 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@f50b5fTimer" daemon [_thread_blocked, id=5015, stack(0x98513000,0x98563000)]
  0xa0e4bc00 JavaThread "ESH-persist-2" daemon [_thread_blocked, id=5014, stack(0x98563000,0x985b3000)]
  0xa0e4ac00 JavaThread "ESH-persist-1" daemon [_thread_blocked, id=5013, stack(0x985b3000,0x98603000)]
  0x98dec400 JavaThread "ESH-persist-Monitor-1" daemon [_thread_blocked, id=5012, stack(0x98603000,0x98653000)]
  0x98de3000 JavaThread "RRD4J Sync Pool [Thread-6]" daemon [_thread_blocked, id=5011, stack(0x98670000,0x986c0000)]
  0x98de1800 JavaThread "RRD4J Sync Pool [Thread-5]" daemon [_thread_blocked, id=5010, stack(0x986c0000,0x98710000)]
  0x98de0400 JavaThread "RRD4J Sync Pool [Thread-4]" daemon [_thread_blocked, id=5009, stack(0x98710000,0x98760000)]
  0x98ddf000 JavaThread "RRD4J Sync Pool [Thread-3]" daemon [_thread_blocked, id=5008, stack(0x98760000,0x987b0000)]
  0x98ddcc00 JavaThread "RRD4J Sync Pool [Thread-2]" daemon [_thread_blocked, id=5007, stack(0x987b0000,0x98800000)]
  0x98dd9800 JavaThread "RRD4J Sync Pool [Thread-1]" daemon [_thread_blocked, id=5006, stack(0x98a30000,0x98a80000)]
  0x98da7800 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@1035d7Timer" daemon [_thread_blocked, id=5005, stack(0x98a80000,0x98ad0000)]
  0x98da3c00 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@1c511d1Timer" daemon [_thread_blocked, id=5004, stack(0x98c10000,0x98c60000)]
  0x98d87000 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@28f98cTimer" daemon [_thread_blocked, id=5003, stack(0x9ae30000,0x9ae80000)]
  0x98d71000 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@16a4642Timer" daemon [_thread_blocked, id=5002, stack(0x9ad90000,0x9ade0000)]
  0x98d70400 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@cfef25Timer" daemon [_thread_blocked, id=5001, stack(0x9ad40000,0x9ad90000)]
  0x9bc7fc00 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@8c2c04Timer" daemon [_thread_blocked, id=5000, stack(0x9ade0000,0x9ae30000)]
  0x9bcabc00 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@58e8edTimer" daemon [_thread_blocked, id=4999, stack(0x9b100000,0x9b150000)]
  0x9bcab400 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@1ea857cTimer" daemon [_thread_blocked, id=4998, stack(0x9acf0000,0x9ad40000)]
  0x9bcaac00 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@259286Timer" daemon [_thread_blocked, id=4997, stack(0x9ac00000,0x9ac50000)]
  0xa0d02000 JavaThread "items-queue" [_thread_blocked, id=4996, stack(0x9b1f0000,0x9b240000)]
  0xa2413800 JavaThread "items-5" [_thread_blocked, id=4995, stack(0x98c60000,0x98cb0000)]
  0x9fc42000 JavaThread "KNXnet/IP heartbeat monitor" daemon [_thread_blocked, id=4994, stack(0x98ad0000,0x98b20000)]
  0x9fc3f400 JavaThread "KNXnet/IP receiver" daemon [_thread_in_native, id=4993, stack(0x98b20000,0x98b70000)]
  0x9fc34800 JavaThread "Calimero link notifier" daemon [_thread_blocked, id=4992, stack(0x98b70000,0x98bc0000)]
  0xa1647800 JavaThread "HttpClient@28152436-355" [_thread_blocked, id=4991, stack(0x98bc0000,0x98c10000)]
  0x98d2a000 JavaThread "KNXBinding/DatapointReaderTask" daemon [_thread_blocked, id=4988, stack(0x98cb0000,0x98d00000)]
  0xa1217400 JavaThread "HttpClient@28152436-351" [_thread_blocked, id=4987, stack(0x98e45000,0x98e95000)]
  0xa1e5a000 JavaThread "HttpClient@28152436-349" [_thread_blocked, id=4985, stack(0x98e95000,0x98ee5000)]
  0xa1215c00 JavaThread "HttpClient@28152436-347" [_thread_blocked, id=4983, stack(0x98f35000,0x98f85000)]
  0xa0d02c00 JavaThread "HttpClient@28152436-345" [_thread_blocked, id=4981, stack(0x98fd5000,0x99025000)]
  0x9c72fc00 JavaThread "HttpClient@28152436-344" [_thread_blocked, id=4980, stack(0x99025000,0x99075000)]
  0xa091c400 JavaThread "HttpClient@28152436-343" [_thread_blocked, id=4979, stack(0x99075000,0x990c5000)]
  0x9ec28800 JavaThread "HttpClient@28152436-342" [_thread_blocked, id=4978, stack(0x990c5000,0x99115000)]
  0xa231c800 JavaThread "HttpClient@28152436-340" [_thread_in_native, id=4976, stack(0x99165000,0x991b5000)]
  0x9a8e8400 JavaThread "HttpClient@28152436-338" [_thread_blocked, id=4974, stack(0x99205000,0x99255000)]
  0x9c734400 JavaThread "HttpClient@28152436-scheduler" [_thread_blocked, id=4972, stack(0x992a5000,0x992f5000)]
  0x9f391000 JavaThread "upnp-main-7" [_thread_blocked, id=4970, stack(0x99445000,0x99495000)]
  0x9fc22000 JavaThread "upnp-main-5" [_thread_blocked, id=4966, stack(0x99585000,0x995d5000)]
  0xa0b14c00 JavaThread "upnp-async-29" [_thread_blocked, id=4964, stack(0x99625000,0x99675000)]
  0xa275d000 JavaThread "upnp-async-30" [_thread_blocked, id=4961, stack(0x99715000,0x99765000)]
  0x004e7000 JavaThread "upnp-async-21" [_thread_blocked, id=4959, stack(0x997b5000,0x99805000)]
  0x9a8e1000 JavaThread "upnp-async-19" [_thread_blocked, id=4958, stack(0x99805000,0x99855000)]
  0xa2309c00 JavaThread "upnp-async-20" [_thread_blocked, id=4957, stack(0x99855000,0x998a5000)]
  0xa253b000 JavaThread "upnp-async-26" [_thread_blocked, id=4953, stack(0x99995000,0x999e5000)]
  0xa2538400 JavaThread "upnp-async-15" [_thread_blocked, id=4950, stack(0x99a85000,0x99ad5000)]
  0xa2537000 JavaThread "upnp-async-14" [_thread_blocked, id=4949, stack(0x99ad5000,0x99b25000)]
  0xa0e3e800 JavaThread "ESH-RuleEngine-5" daemon [_thread_blocked, id=4948, stack(0x99b25000,0x99b75000)]
  0xa2534400 JavaThread "upnp-async-12" [_thread_blocked, id=4946, stack(0x99bc5000,0x99c15000)]
  0xa252bc00 JavaThread "upnp-async-6" [_thread_blocked, id=4940, stack(0x99da5000,0x99df5000)]
  0xa18cac00 JavaThread "upnp-async-5" [_thread_blocked, id=4939, stack(0x99df5000,0x99e45000)]
  0xa252a800 JavaThread "upnp-async-4" [_thread_blocked, id=4938, stack(0x99e45000,0x99e95000)]
  0xa2524400 JavaThread "upnp-async-3" [_thread_blocked, id=4937, stack(0x99e95000,0x99ee5000)]
  0xa2525800 JavaThread "upnp-async-2" [_thread_blocked, id=4936, stack(0x99ee5000,0x99f35000)]
  0x9a8de000 JavaThread "upnp-async-1" [_thread_blocked, id=4935, stack(0x99f35000,0x99f85000)]
  0x9a850800 JavaThread "HttpClient@28152436-298" [_thread_blocked, id=4934, stack(0x99f85000,0x99fd5000)]
  0x9a84f000 JavaThread "HttpClient@28152436-297" [_thread_blocked, id=4933, stack(0x99fd5000,0x9a025000)]
  0x9a84d800 JavaThread "HttpClient@28152436-296" [_thread_blocked, id=4932, stack(0x9a025000,0x9a075000)]
  0x9a84c800 JavaThread "HttpClient@28152436-295" [_thread_in_native, id=4931, stack(0x9a075000,0x9a0c5000)]
  0x9a84b400 JavaThread "HttpClient@28152436-294" [_thread_blocked, id=4930, stack(0x9a0c5000,0x9a115000)]
  0x9a847800 JavaThread "HttpClient@28152436-293" [_thread_blocked, id=4929, stack(0x9a115000,0x9a165000)]
  0x9a846000 JavaThread "HttpClient@28152436-292" [_thread_in_native, id=4928, stack(0x9a165000,0x9a1b5000)]
  0x9a849000 JavaThread "HttpClient@28152436-291" [_thread_in_native, id=4927, stack(0x9a1b5000,0x9a205000)]
  0x9a844800 JavaThread "upnp-main-4" [_thread_in_native, id=4926, stack(0x9a205000,0x9a255000)]
  0x9bff1800 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@1ac10e0Timer" daemon [_thread_blocked, id=4924, stack(0x9a2a5000,0x9a2f5000)]
  0x9bff7000 JavaThread "upnp-main-2" [_thread_in_native, id=4923, stack(0x9a2f5000,0x9a345000)]
  0x9bfea800 JavaThread "upnp-main-1" [_thread_blocked, id=4922, stack(0x9a345000,0x9a395000)]
  0xa0e3d400 JavaThread "ESH-RuleEngine-4" daemon [_thread_blocked, id=4921, stack(0x9a395000,0x9a3e5000)]
  0xa0e3c000 JavaThread "ESH-RuleEngine-3" daemon [_thread_blocked, id=4919, stack(0x9a435000,0x9a485000)]
  0x9bca8800 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@2b7f23Timer" daemon [_thread_blocked, id=4918, stack(0x9a585000,0x9a5d5000)]
  0x9bc35800 JavaThread "ServletModel-18-281" [_thread_blocked, id=4917, stack(0x9a670000,0x9a6c0000)]
  0x9bc34400 JavaThread "ServletModel-18-280" [_thread_blocked, id=4916, stack(0x9a6c0000,0x9a710000)]
  0x9bc32c00 JavaThread "ServletModel-18-279" [_thread_blocked, id=4915, stack(0x9a710000,0x9a760000)]
  0x9bc31400 JavaThread "ServletModel-18-278" [_thread_blocked, id=4914, stack(0x9a760000,0x9a7b0000)]
  0x9bcb7c00 JavaThread "ServletModel-18-277" [_thread_in_native, id=4913, stack(0x9a7b0000,0x9a800000)]
  0x9bcb6c00 JavaThread "ServletModel-18-276" [_thread_in_native, id=4912, stack(0x9a930000,0x9a980000)]
  0x9bcb5800 JavaThread "ServletModel-18-275" [_thread_in_native, id=4911, stack(0x9a980000,0x9a9d0000)]
  0x9bcb5000 JavaThread "ServletModel-18-274" [_thread_in_native, id=4910, stack(0x9aac0000,0x9ab10000)]
  0xa0e39c00 JavaThread "ESH-RuleEngine-2" daemon [_thread_blocked, id=4909, stack(0x9aa70000,0x9aac0000)]
  0x9a801400 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@49fadTimer" daemon [_thread_blocked, id=4908, stack(0x9aa20000,0x9aa70000)]
  0x9bdef000 JavaThread "ESH-discovery-5" daemon [_thread_blocked, id=4903, stack(0x9ab10000,0x9ab60000)]
  0x9bdee400 JavaThread "ESH-discovery-4" daemon [_thread_blocked, id=4902, stack(0x9ac50000,0x9aca0000)]
  0x9bded400 JavaThread "Timer-4" daemon [_thread_blocked, id=4901, stack(0x9a9d0000,0x9aa20000)]
  0x9bdd7400 JavaThread "Timer-3" daemon [_thread_blocked, id=4899, stack(0x9b6b0000,0x9b700000)]
  0xa0e3a800 JavaThread "process reaper" daemon [_thread_blocked, id=4853, stack(0x9abb0000,0x9ac00000)]
  0x0050fc00 JavaThread "items-4" [_thread_blocked, id=4841, stack(0x9ab60000,0x9abb0000)]
  0xa1609000 JavaThread "process reaper" daemon [_thread_blocked, id=4837, stack(0x9e959000,0x9e970000)]
  0x004e6c00 JavaThread "process reaper" daemon [_thread_blocked, id=4830, stack(0x9aca0000,0x9acf0000)]
  0xa1338000 JavaThread "process reaper" daemon [_thread_blocked, id=4825, stack(0x9fa9a000,0x9fab1000)]
  0x00511c00 JavaThread "process reaper" daemon [_thread_blocked, id=4818, stack(0x9ae80000,0x9aed0000)]
  0xa0904c00 JavaThread "process reaper" daemon [_thread_blocked, id=4803, stack(0x9aed0000,0x9af20000)]
  0xa0b4f000 JavaThread "process reaper" daemon [_thread_blocked, id=4795, stack(0x9b010000,0x9b060000)]
  0xa0904000 JavaThread "items-3" [_thread_blocked, id=4705, stack(0x9af70000,0x9afc0000)]
  0xa251e400 JavaThread "safeCall-7" [_thread_blocked, id=4704, stack(0x9afc0000,0x9b010000)]
  0x9b949c00 JavaThread "safeCall-6" [_thread_blocked, id=4703, stack(0x9af20000,0x9af70000)]
  0xa250d800 JavaThread "process reaper" daemon [_thread_blocked, id=4694, stack(0xa0065000,0xa007c000)]
  0xa0e37800 JavaThread "items-2" [_thread_blocked, id=4692, stack(0x9b060000,0x9b0b0000)]
  0xa0e35800 JavaThread "items-1" [_thread_blocked, id=4691, stack(0x9b0b0000,0x9b100000)]
  0x9b946400 JavaThread "safeCall-5" [_thread_blocked, id=4688, stack(0x9b1a0000,0x9b1f0000)]
  0xa0e1e000 JavaThread "Thread-43" [_thread_in_native, id=4686, stack(0x9b150000,0x9b1a0000)]
  0xa0e1c800 JavaThread "process reaper" daemon [_thread_blocked, id=4678, stack(0xa007c000,0xa0093000)]
  0xa0902400 JavaThread "ESH-thingHandler-5" daemon [_thread_blocked, id=4676, stack(0x9b340000,0x9b390000)]
  0xa0907000 JavaThread "ESH-thingHandler-4" daemon [_thread_blocked, id=4675, stack(0x9b390000,0x9b3e0000)]
  0xa2514000 JavaThread "ESH-thingHandler-3" daemon [_thread_blocked, id=4674, stack(0x9b3e0000,0x9b430000)]
  0x9b947800 JavaThread "safeCall-4" [_thread_blocked, id=4673, stack(0x9b430000,0x9b480000)]
  0xa1514000 JavaThread "ESH-thingHandler-2" daemon [_thread_blocked, id=4672, stack(0x9b480000,0x9b4d0000)]
  0xa1361000 JavaThread "ESH-thingHandler-1" daemon [_thread_blocked, id=4671, stack(0x9b4d0000,0x9b520000)]
  0x9ec5e000 JavaThread "ESH-thingManager-5" daemon [_thread_blocked, id=4670, stack(0x9b520000,0x9b570000)]
  0xa1364000 JavaThread "ESH-thingManager-4" daemon [_thread_blocked, id=4669, stack(0x9b570000,0x9b5c0000)]
  0xa1364c00 JavaThread "ESH-thingManager-3" daemon [_thread_blocked, id=4668, stack(0x9b5c0000,0x9b610000)]
  0xa1335800 JavaThread "ESH-thingManager-2" daemon [_thread_blocked, id=4667, stack(0x9b610000,0x9b660000)]
  0xa13a6400 JavaThread "ESH-thingManager-1" daemon [_thread_blocked, id=4666, stack(0x9b660000,0x9b6b0000)]
  0x9bcfb800 JavaThread "Timer-2" daemon [_thread_blocked, id=4664, stack(0x9c510000,0x9c560000)]
  0x9bcf5400 JavaThread "Timer-1" daemon [_thread_blocked, id=4663, stack(0x9c560000,0x9c5b0000)]
  0x9bcf2c00 JavaThread "Timer-0" daemon [_thread_blocked, id=4662, stack(0x9d210000,0x9d260000)]
  0x9bd06800 JavaThread "org.apache.felix.eventadmin.impl.adapter.LogEventAdapter$1@4d4171" daemon [_thread_blocked, id=4661, stack(0x9f6b0000,0x9f700000)]
  0x9bd06000 JavaThread "ESH-RuleEngine-1" daemon [_thread_blocked, id=4660, stack(0xa0cb0000,0xa0d00000)]
  0x9bf43c00 JavaThread "lsp-1" [_thread_in_native, id=4654, stack(0x9d14e000,0x9d19e000)]
  0x9f296800 JavaThread "pool-32-thread-1" [_thread_in_Java, id=4653, stack(0x9c5b0000,0x9c600000)]
  0x9f295800 JavaThread "pool-31-thread-1" [_thread_blocked, id=4652, stack(0x9c810000,0x9c860000)]
  0x9fbb0000 JavaThread "pool-30-thread-1" [_thread_blocked, id=4651, stack(0x9d681000,0x9d6d1000)]
  0xa1397c00 JavaThread "safeCall-3" [_thread_blocked, id=4649, stack(0x9c860000,0x9c8b0000)]
  0xa250c800 JavaThread "pool-26-thread-1" [_thread_blocked, id=4648, stack(0x9c8b0000,0x9c900000)]
  0x9f465800 JavaThread "safeCall-2" [_thread_blocked, id=4647, stack(0x9ca10000,0x9ca60000)]
  0xa250ac00 JavaThread "pool-25-thread-1" [_thread_blocked, id=4646, stack(0x9ca60000,0x9cab0000)]
  0xa21c7400 JavaThread "safeCall-1" [_thread_blocked, id=4645, stack(0x9cab0000,0x9cb00000)]
  0x9d48b400 JavaThread "com.google.inject.internal.util.$Finalizer" daemon [_thread_blocked, id=4644, stack(0x9dca8000,0x9dcf8000)]
  0x9d4a8c00 JavaThread "ESH-discovery-3" daemon [_thread_blocked, id=4643, stack(0x9d1c0000,0x9d210000)]
  0x9d49c800 JavaThread "JmDNS(JmDNS-IP-1).State.Timer" [_thread_blocked, id=4641, stack(0x9d260000,0x9d2b0000)]
  0x9d49b800 JavaThread "JmDNS(JmDNS-IP-1).Timer" daemon [_thread_blocked, id=4640, stack(0x9d2b0000,0x9d300000)]
  0x9d498c00 JavaThread "SocketListener(JmDNS-IP-1)" daemon [_thread_in_native, id=4639, stack(0x9d507000,0x9d557000)]
  0x9f275800 JavaThread "EMF Reference Cleaner" daemon [_thread_blocked, id=4638, stack(0x9e128000,0x9e178000)]
  0x9ff94800 JavaThread "openHAB-job-scheduler_QuartzSchedulerThread" [_thread_blocked, id=4637, stack(0x9d811000,0x9d861000)]
  0x9f875400 JavaThread "openHAB-job-scheduler_Worker-2" [_thread_blocked, id=4636, stack(0x9d98f000,0x9d9df000)]
  0x9f874800 JavaThread "openHAB-job-scheduler_Worker-1" [_thread_blocked, id=4635, stack(0x9d9df000,0x9da2f000)]
  0x9ffd6c00 JavaThread "ResourcePublisher" daemon [_thread_blocked, id=4634, stack(0x9db3f000,0x9db8f000)]
  0x9ff26400 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@180a708Timer" daemon [_thread_blocked, id=4633, stack(0x9db8f000,0x9dbdf000)]
  0xa1643400 JavaThread "ESH-file-processing-5" daemon [_thread_blocked, id=4632, stack(0x9dcf8000,0x9dd48000)]
  0xa167cc00 JavaThread "ESH-file-processing-4" daemon [_thread_blocked, id=4631, stack(0x9dd48000,0x9dd98000)]
  0xa1627800 JavaThread "ESH-file-processing-3" daemon [_thread_blocked, id=4630, stack(0x9dd98000,0x9dde8000)]
  0xa163e400 JavaThread "ESH-file-processing-2" daemon [_thread_blocked, id=4629, stack(0x9dde8000,0x9de38000)]
  0xa101f800 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@7de1adTimer" daemon [_thread_blocked, id=4628, stack(0x9de38000,0x9de88000)]
  0xa1049400 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@10f39c6Timer" daemon [_thread_blocked, id=4627, stack(0x9fa22000,0x9fa72000)]
  0x9ffb6000 JavaThread "ESH-OSGiEventManager" daemon [_thread_blocked, id=4626, stack(0x9df88000,0x9dfd8000)]
  0x9f904c00 JavaThread "pool-24-thread-1" [_thread_blocked, id=4625, stack(0x9e0d8000,0x9e128000)]
  0x9f902c00 JavaThread "ESH-file-processing-1" daemon [_thread_blocked, id=4623, stack(0x9e1b6000,0x9e206000)]
  0xa0546400 JavaThread "ESH-discovery-2" daemon [_thread_blocked, id=4622, stack(0x9e206000,0x9e256000)]
  0xa05a6c00 JavaThread "ESH-discovery-1" daemon [_thread_blocked, id=4621, stack(0x9e527000,0x9e577000)]
  0x9f9fc000 JavaThread "Dir Watcher" daemon [_thread_blocked, id=4620, stack(0x9e356000,0x9e3a6000)]
  0x9f9f6c00 JavaThread "Thread-33" daemon [_thread_in_native, id=4619, stack(0x9e3a6000,0x9e3f6000)]
  0xa0905400 JavaThread "qtp19470840-71" [_thread_blocked, id=4618, stack(0x9e577000,0x9e5c7000)]
  0x004d0400 JavaThread "qtp19470840-70-acceptor-0@16cf03-default@294659{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}" [_thread_in_native, id=4617, stack(0x9e5c7000,0x9e617000)]
  0x9ec5c400 JavaThread "qtp19470840-69" [_thread_in_native, id=4616, stack(0x9e617000,0x9e667000)]
  0x9f350800 JavaThread "qtp19470840-68" [_thread_in_native, id=4615, stack(0x9e667000,0x9e6b7000)]
  0xa2506000 JavaThread "qtp19470840-67" [_thread_in_native, id=4614, stack(0x9e6fb000,0x9e74b000)]
  0xa230ec00 JavaThread "qtp19470840-66" [_thread_in_native, id=4613, stack(0x9e7df000,0x9e82f000)]
  0xa2401c00 JavaThread "qtp19470840-65-acceptor-0@1ffae36-0.0.0.0:8443@1c02251{SSL,[ssl, http/1.1]}{0.0.0.0:8443}" [_thread_in_native, id=4612, stack(0x9e78f000,0x9e7df000)]
  0xa1f1dc00 JavaThread "qtp19470840-63" [_thread_in_native, id=4610, stack(0x9e82f000,0x9e87f000)]
  0xa1607000 JavaThread "qtp19470840-62" [_thread_in_native, id=4609, stack(0x9e8c3000,0x9e913000)]
  0x9ec47400 JavaThread "org.ops4j.pax.web.service.jetty.internal.LateInvalidatingHashSessionManager@1a74891Timer" daemon [_thread_blocked, id=4608, stack(0x9ea70000,0x9eac0000)]
  0x9ec43000 JavaThread "qtp19470840-60" [_thread_in_native, id=4607, stack(0x9eac0000,0x9eb10000)]
  0x9ec3f000 JavaThread "qtp19470840-59" [_thread_in_native, id=4606, stack(0xa000b000,0xa005b000)]
  0x9ec11800 JavaThread "ServletEventDispatcher: 3" daemon [_thread_blocked, id=4605, stack(0x9eb10000,0x9eb60000)]
  0x9ec10c00 JavaThread "ServletEventDispatcher: 2" daemon [_thread_blocked, id=4604, stack(0x9eb60000,0x9ebb0000)]
  0x9ec0b000 JavaThread "ServletEventDispatcher: 1" daemon [_thread_blocked, id=4603, stack(0x9ebb0000,0x9ec00000)]
  0x9f99e000 JavaThread "Log dispatcher" daemon [_thread_blocked, id=4602, stack(0xa0ab0000,0xa0b00000)]
  0x9f33ec00 JavaThread "sshd-SshServer[1262d56]-timer-thread-1" daemon [_thread_blocked, id=4601, stack(0x9f510000,0x9f560000)]
  0x9f337c00 JavaThread "Thread-20" daemon [_thread_in_native, id=4600, stack(0x9f560000,0x9f5b0000)]
  0xa1feb000 JavaThread "Thread-18" daemon [_thread_in_native, id=4594, stack(0xa0770000,0xa07c0000)]
  0xa05bb000 JavaThread "pool-12-thread-1" [_thread_blocked, id=4593, stack(0xa0a10000,0xa0a60000)]
  0xa054b000 JavaThread "Thread-16" daemon [_thread_in_native, id=4590, stack(0xa0c10000,0xa0c60000)]
  0xa1fed000 JavaThread "pool-10-thread-1" [_thread_blocked, id=4589, stack(0xa01c0000,0xa0210000)]
  0xa0d0f000 JavaThread "Bundle File Closer" daemon [_thread_blocked, id=4588, stack(0xa0a60000,0xa0ab0000)]
  0xa1ff9000 JavaThread "fileinstall-/usr/share/openhab2/addons" daemon [_thread_blocked, id=4586, stack(0xa0810000,0xa0860000)]
  0xa1ff8c00 JavaThread "Thread-15" daemon [_thread_in_native, id=4585, stack(0xa0c60000,0xa0cb0000)]
  0x9ffb1c00 JavaThread "SCR Component Actor" daemon [_thread_blocked, id=4583, stack(0xa08b0000,0xa0900000)]
  0xa1202400 JavaThread "Thread-14" daemon [_thread_blocked, id=4580, stack(0xa0860000,0xa08b0000)]
  0xa0b01c00 JavaThread "Thread-13" daemon [_thread_blocked, id=4579, stack(0xa07c0000,0xa0810000)]
  0xa059fc00 JavaThread "fileinstall-/var/lib/openhab2/etc" daemon [_thread_blocked, id=4576, stack(0xa0210000,0xa0260000)]
  0xa059d400 JavaThread "Thread-11" daemon [_thread_in_native, id=4575, stack(0xa0260000,0xa02b0000)]
  0xa057f800 JavaThread "CM Event Dispatcher" daemon [_thread_blocked, id=4574, stack(0xa03b0000,0xa0400000)]
  0xa0576000 JavaThread "CM Configuration Updater" daemon [_thread_blocked, id=4573, stack(0xa0620000,0xa0670000)]
  0xa0e04400 JavaThread "Karaf Shutdown Socket Thread" daemon [_thread_in_native, id=4561, stack(0xa1110000,0xa1160000)]
  0xa158d400 JavaThread "Karaf Lock Monitor Thread" [_thread_blocked, id=4560, stack(0xa1160000,0xa11b0000)]
  0xa15fa400 JavaThread "Start Level: Equinox Container: e67e5135-2ed7-4830-b4ba-6b4381cbe0e5" daemon [_thread_blocked, id=4559, stack(0xa11b0000,0xa1200000)]
  0xa1584800 JavaThread "Framework Event Dispatcher: org.eclipse.osgi.internal.framework.EquinoxEventPublisher@d24612" daemon [_thread_blocked, id=4558, stack(0xa1d43000,0xa1d93000)]
  0xa1531000 JavaThread "Active Thread: Equinox Container: e67e5135-2ed7-4830-b4ba-6b4381cbe0e5" [_thread_blocked, id=4557, stack(0xa1d93000,0xa1de3000)]
  0xb5186c00 JavaThread "Service Thread" daemon [_thread_blocked, id=4555, stack(0xa222f000,0xa227f000)]
  0xb5183800 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=4554, stack(0xa2280000,0xa2300000)]
  0xb5182000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4553, stack(0xa2610000,0xa2660000)]
  0xb5167800 JavaThread "Finalizer" daemon [_thread_blocked, id=4552, stack(0xa2660000,0xa26b0000)]
  0xb5165800 JavaThread "Reference Handler" daemon [_thread_blocked, id=4551, stack(0xa26b0000,0xa2700000)]
  0xb510a000 JavaThread "main" [_thread_blocked, id=4549, stack(0xb52d2000,0xb5322000)]

Other Threads:
  0xb5160000 VMThread [stack: 0xa283b000,0xa28bb000] [id=4550]
  0xb5188800 WatcherThread [stack: 0xa2080000,0xa2100000] [id=4556]

VM state:synchronizing (normal execution)

VM Mutex/Monitor currently owned by a thread:  ([mutex/lock_event])
[0xb5107620] Safepoint_lock - owner thread: 0xb5160000
[0xb5107688] Threads_lock - owner thread: 0xb5160000

Heap:
 def new generation   total 43072K, used 12771K [0xa3000000, 0xa5eb0000, 0xa8550000)
  eden space 38336K,  23% used [0xa3000000, 0xa38d8208, 0xa5570000)
  from space 4736K,  78% used [0xa5570000, 0xa5910df0, 0xa5a10000)
  to   space 4736K,   0% used [0xa5a10000, 0xa5a10000, 0xa5eb0000)
 tenured generation   total 94616K, used 70040K [0xa8550000, 0xae1b6000, 0xb3000000)
   the space 94616K,  74% used [0xa8550000, 0xac9b6218, 0xac9b6400, 0xae1b6000)
 Metaspace       used 46101K, capacity 49656K, committed 49792K, reserved 50480K

@wborn Thanks for your advise - I have now pinned the java engine to the big cores. Still using knx V1 for now. Let’s see what happens during the next 24 hrs.

Thanks for your help :slight_smile:
Stefan

1 Like

@wborn Running stable so far. Looks good. Pinning the java engine helped.
I wait another couple of days, then I plan to go back to knx V2
Thanks!
Stefan

1 Like

I am running again on Ubuntu 18.04 LTS with OH 2.3 and knx V2.
I have pinned the java engine to the big cores.
Looks good and stable. I think we can close this case.
I am disappointed though about the poor HW, but that’s a different story.

Thanks @wborn @s.simma for helping!
Stefan

1 Like

That’s very good news @boxerfahrer! :smiley:

There should at least have been a software fix for the default Java VM that’s part of the ODROID Ubuntu distribution. E.g. this CPU pinning approach or maybe compiling it with fewer optimizations as is suggested in the ODROID forum thread. A generic fix in the Linux kernel might be even better! :slight_smile:

Hi

I tried to follow these instructions, but got a warning about not having “Service lacks both ExecStart= and ExecStop= setting. Refusing.”

Can you shed any light on this?

(I’m not a programmer or coder, so I’m really out of my comfort zone)

Any assistance would be welcomed.

Cheers,

Stuart

cpuset.service - Setup CPU groups
Loaded: error (Reason: Invalid argument)
Active: inactive (dead)
 
Aug 18 10:25:05 ODroid systemd[1]: [/etc/systemd/system/cpuset.service:10] Failed to parse service type, ignoring: oneshot ExecStart=/bin/true
Aug 18 10:25:05 ODroid systemd[1]: cpuset.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.
Aug 18 10:25:05 ODroid systemd[1]: cpuset.service: Cannot add dependency job, ignoring: Unit cpuset.service is not loaded properly: Invalid argument

@MDAR
I’ll reply here as you sent me a PM, that way others can find the info as well. I do not have an ARM with big little cores so I can not help, other than to pass on some links I came across…

https://forum.odroid.com/viewtopic.php?f=93&t=29008&p=229954&hilit=zulu#p229954

User posted that they followed the guide in the Feb 2017 Odroid Mag (I think it is page 12 and this link will take you there)

https://magazine.odroid.com/wp-content/uploads/ODROID-Magazine-201702.pdf#page=12

The forum linked above is a conversation between the editor of the mag and an openhab user. Thankfully I found this info whilst trying to choose which ARM board to use, so I purchased the Odroid C2 instead and have a rock solid little setup now that has been running for over a week.

1 Like

https://magazine.odroid.com/wp-content/uploads/ODROID-Magazine-201702.pdf#page=12 1

Perhaps the magic scheduler is the root cause here? :smile:

The official 3.10 kernel comes with a “magic” scheduler from Samsung which knows the processor’s
true power,

Hi all

I’ve finally found the time and head space to try to pin the Java processes to the big core…

I followed the instructions to the letter and now I can see that the taskset -p result has changed from ff to f0 so I have to assume that it has worked.

taskset -pc <PID>
Is a little easier to understand

I’ll keep an eye on it and report back …

Thanks for all the assistance and guidance :smile:

Hi

I think I’ve found a much easier way to pin tasks to a particular range of CPU cores.

As part of following the various instructions, I saw a reference to the taskset utility.

http://manpages.ubuntu.com/manpages/cosmic/en/man1/taskset.1.html

The taskset command is part of the util-linux package and is available from
https://www.kernel.org/pub/linux/utils/util-linux/

apt-get install util-linux

By entering the following commands, I could adjust which CPU cores any process and it’s children were using

pidof java
Then enter the returned PID into…

taskset -pca {PID}

For example

taskset -pca 1024

To set which CPU cores are to be used is simply a matter of adding the -c set string.

So to set the process (and it’s children) to cores 0 to 3 would be

taskset -pca 0-3 1024

Not being a programmer, I needed to experiment a little, but eventually discovered that if I added the following line into /usr/lib/systemd/system/openhab2.service

After the ExecStart line which starts Karaf

ExecStartPost=/usr/bin/taskset -pca 4-7 $MAINPID

OpenHab2’s Java process is pinned to whichever CPU cores I want, in this case 4-7 (which I think are the Big cores).

Assigning to 4-7 returns the same f0 from taskset -p {PID} as the more long winded instructions, so should I assume these are the Big cores?

For those of the same programming skills as I, please don’t forget to run the following commands

systemctl daemon-reload

systemctl restart openhab2
2 Likes

Dear all,

I had the same problem and found this thread. Digging further I stumbled over a different way to pin the process to cores 4 to 7:
Just add the line

CPUAffinity=4,5,6,7

to the

[Services]

section of your openhab2.service file. Systemd will then take care of pinning the process to the named cores.

After restarting openhab using

systemctl daemon-reload
systemctl restart openhab2

you can check CPU binding in the /proc fileystem.

ps auxww | grep java

gives you all java processes on your system together with their pid (second column). In my case it is 6616 currently.

With

grep -i cpu /proc/6616/status

(replace 6616 by the PID you found for your java process) you should see the following output:

Cpus_allowed:     f0
Cpus_allowed_list:        4-7

A process without CPU affinity would show

Cpus_allowed:     ff
Cpus_allowed_list:        0-7

instead, so if you still see that output something went wrong.

The process runs stable for more than 12 hours now, while it crashed every couple of minutes before, so CPU-pinning really brings a great improvement.

Hope that helps

Wolfgang

1 Like

Short notice: updating to openhab 2.4 seems to overwrite the openhab2.service file, so afterwards you will have to add the setting again.

Yours

Wolfgang

2 Likes

Thanks for the info and the update. Now you have had it running for a while, would you recommend the big.little range of arm processors with Openhab now you have used them for a while?
Recently Odroid released details of a new model, the N2 which also uses the big.little cores and it can be ordered with 4gb of ram which sounds great…

https://forum.odroid.com/viewtopic.php?f=176&t=33781

Considering one of those if they get good Kodi support, or if not the bigger H2 x86 based that could then double as a NAS and OH server in the one box using snapraid.

I see the odroid as a very good fit for openHAB, as it is powerful enough to run openHAB, influx (in my case) and grafana also for setups with a lot of items (about 300 in my config). I also have nextcloud running on the same box without any problem or computing power shortage. And you get all of this for less then 10W energy consumption (including the SSD drive). So I totally recommend that config.

1 Like

I’m now deploying the ODroid C2, which seems to be little more stable than the UX4.

The C2 only has big cores so doesn’t need any pinning.

My theory was that if I’m only running openHAB2 in the UX4 and having to pin it to the big cores, I might as well just use a machine that only has big cores.

I haven’t moved my home (deliberately overloaded) openHAB2 configuration to a C2, it’s a task I’m not looking forward to.
The client’s I’ve given C2 units to haven’t reported any issues.

FYI, I sell Velbus hardware and give customers an SBC to keep the system time updated.
It’s then totally their choice as to which UI they run.

So far everyone seems very happy with openHAB2.

Here’s a small improvement to keep openhab from wiping out your changes in the openhab2.service file.

run
sudo systemctl edit openhab2.service

and put the modifications in that file. If you get an error about ‘edit’ command not beeing known. Then create the file /etc/systemd/system/openhab.service.d/override.conf yourself and reload daemon and restart. If you run systemctl status you see that it now uses a drop-in.

BTW: If you’re already on OH3 change openhab2.service to openhab.service but the rest stays the same. Unfortunately a change of the service file name (which normally doesn’t happen) will not prevent you from loosing the drop-in file as well.