wildmountainfarms / solarthing

Monitors an Outback MATE, Renogy Rover - MPPT Charge Controller and EPEver Tracer. Integrates with Grafana, PVOutput and more!
https://solarthing.readthedocs.io
MIT License
127 stars 28 forks source link

Weird JVM Crash #182

Closed retrodaredevil closed 10 months ago

retrodaredevil commented 10 months ago

Putting this here to look at later. I'll clean up the formatting later too.

solarthing-mate  | 2023-11-01 19:04:29.867 [main] INFO  me.retrodaredevil.solarthing.program.SolarMain - [LOG] Beginning main. Jar: Jar: solarthing.jar Last Modified: 2023-07-02T17:52:42Z Java version: 19.0.2
solarthing-mate  | [stdout] Beginning main. Jar: Jar: solarthing.jar Last Modified: 2023-07-02T17:52:42Z Java version: 19.0.2
solarthing-mate  | [stderr] Beginning main. Jar: Jar: solarthing.jar Last Modified: 2023-07-02T17:52:42Z Java version: 19.0.2
solarthing-mate  | 2023-11-01 19:04:33.027 [main] INFO  me.retrodaredevil.solarthing.program.OutbackMateMain - Beginning mate program
solarthing-mate  | 2023-11-01 19:04:33.031 [main] INFO  me.retrodaredevil.solarthing.analytics.AnalyticsManager - Analytics are disabled
solarthing-mate  | 2023-11-01 19:04:34.350 [main] INFO  me.retrodaredevil.solarthing.program.PacketHandlerInit - Packets will be uploaded to database: CouchDB https://uploader@db.wildmountainfarms.com/
solarthing-mate  | 2023-11-01 19:04:35.929 [main] INFO  me.retrodaredevil.solarthing.program.PacketHandlerInit - Command are enabled!
solarthing-mate  | 2023-11-01 19:04:36.633 [main] INFO  me.retrodaredevil.solarthing.program.CommandUtil - Commands will be downloaded from database: CouchDB https://uploader@db.wildmountainfarms.com/
solarthing-mate  | 2023-11-01 19:04:45.310 [main] WARN  me.retrodaredevil.solarthing.packets.handling.implementations.TimedPacketReceiver - Was going to send off 28 packets to packetListReceiver, but stale=true!
solarthing-mate  | 2023-11-01 19:38:53.043 [pool-6-thread-1] INFO  me.retrodaredevil.solarthing.program.SecurityPacketReceiver - Got packet targeting: [1] default with 1 packets.
solarthing-mate  | 2023-11-01 19:48:58.062 [main] WARN  me.retrodaredevil.solarthing.packets.handling.implementations.TimedPacketReceiver - Was going to send off 324 packets to packetListReceiver, but stale=true!
solarthing-mate  | 2023-11-01 20:39:10.631 [pool-6-thread-1] INFO  me.retrodaredevil.solarthing.program.SecurityPacketReceiver - Got packet targeting: [1] default with 1 packets.
solarthing-mate  | 2023-11-01 21:15:01.761 [main] WARN  me.retrodaredevil.solarthing.packets.handling.implementations.TimedPacketReceiver - Was going to send off 564 packets to packetListReceiver, but stale=true!
solarthing-mate  | corrupted size vs. prev_size
solarthing-mate  | #
solarthing-mate  | # A fatal error has been detected by the Java Runtime Environment:
solarthing-mate  | #
solarthing-mate  | #  SIGILL (0x4) at pc=0x76d3d668, pid=1, tid=31
solarthing-mate  | #
solarthing-mate  | # JRE version: OpenJDK Runtime Environment Temurin-19.0.2+7 (19.0.2+7) (build 19.0.2+7)
solarthing-mate  | # Java VM: OpenJDK Server VM Temurin-19.0.2+7 (19.0.2+7, mixed mode, sharing, serial gc, linux-arm)
solarthing-mate  | # Problematic frame:
solarthing-mate  | # C  [libc.so.6+0x1d668]
solarthing-mate  | [timeout occurred during error reporting in step "printing problematic frame"] after 30 s.
solarthing-mate  | # Core dump will be written. Default location: /app/core
solarthing-mate  | #
solarthing-mate  | # An error report file with more information is saved as:
solarthing-mate  | # /tmp/hs_err_pid1.log
solarthing-mate  | [thread 14 also had an error]
solarthing-mate  | # [ timer expired, abort... ]
lavender@batterypi:~/Documents/wmf-config/configs/batterypi/services/solarthing$ 
retrodaredevil commented 10 months ago

More info from the /tmp/hs_err_pid1.log file:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGILL (0x4) at pc=0x76d3d668, pid=1, tid=31
#
# JRE version: OpenJDK Runtime Environment Temurin-19.0.2+7 (19.0.2+7) (build 19.0.2+7)
# Java VM: OpenJDK Server VM Temurin-19.0.2+7 (19.0.2+7, mixed mode, sharing, serial gc, linux-arm)
# Problematic frame:
# C  [libc.so.6+0x1d668]
[timeout occurred during error reporting in step "printing problematic frame"] after 30 s.
# Core dump will be written. Default location: /app/core
#
# If you would like to submit a bug report, please visit:
#   https://github.com/adoptium/adoptium-support/issues
#

---------------  S U M M A R Y ------------

Command Line: solarthing.jar run --base config/base.json

Host:
[timeout occurred during error reporting in step "printing summary machine and OS info"] after 30 s.

------ Timeout during error reporting after 120 s. ------
retrodaredevil commented 10 months ago

More errors:

solarthing-mate  | #
solarthing-mate  | # A fatal error has been detected by the Java Runtime Environment:
solarthing-mate  | #
solarthing-mate  | #  SIGSEGV (0xb) at pc=0x76d7f840, pid=1, tid=7
solarthing-mate  | #
solarthing-mate  | # JRE version: OpenJDK Runtime Environment Temurin-19.0.2+7 (19.0.2+7) (build 19.0.2+7)
solarthing-mate  | # Java VM: OpenJDK Server VM Temurin-19.0.2+7 (19.0.2+7, mixed mode, sharing, serial gc, linux-arm)
solarthing-mate  | # Problematic frame:
solarthing-mate  | # 
solarthing-mate  | [timeout occurred during error reporting in step "printing problematic frame"] after 30 s.
solarthing-mate  | # Core dump will be written. Default location: /app/core
solarthing-mate  | #
solarthing-mate  | # An error report file with more information is saved as:
solarthing-mate  | # /tmp/hs_err_pid1.log
solarthing-mate  | # [ timer expired, abort... ]
solarthing-mate  | [thread 17 also had an error]
solarthing-mate  | [thread 217 also had an error]
solarthing-mate  | [thread 27 also had an error]
solarthing-mate  | [thread 218 also had an error]
solarthing-mate  | [thread 28 also had an error]

the cause of this is SD card failure.

I will look into setting the location of these log files https://stackoverflow.com/questions/8008558/how-to-set-location-of-jvm-crash-log-files#8008994

retrodaredevil commented 10 months ago

Closing this since the cause was SD card failure. 21ebd8877fa97722961780f6025b5c9553d22488 also sets the JVM log files to go into /app/jvmlog, so at some point I should document that, but for now I'll close this issue.