Spark rebooting every 30 min

My spark reboots every 30 min or so, it is connected through USB and the external power supply so shouldn’t be a power issue.

Could you please run brewblox-ctl log?

If you export your EEPROM, I can make an exact copy of your spark: brewblox-ctl particle -c eeprom.

My brewblox-ctl log: https://termbin.com/oej8

Any updates on this?

Since your previous post, we’ve fixed various bugs related to OneWire extension boards. Next release also includes tracing to identify the reasons behind spark crashes.

Could you please run the eeprom export command Elco asked for earlier?

brewblox-ctl particle -c eeprom

Sorry thought have sent it. Here it goes: https://bashupload.com/nv_6l/eeprom.bin

I have just updated everything today, still not sure if the problem persists though

Any update on this? The spark continues to restart quite often and sometimes loses the connection to the raspberry pi (which causes loosing history data) :(. I have to then reboot the pi for it connecting again.

Ah, my apologies for the lack of feedback.

We investigated the problem, and found a bug in how OneWire is handled. We’re not 100% sure whether it’s the one causing you trouble.

The release was scheduled for last week, but got pushed back until after Elco’s vacation.
If you want I can have a look at the compatiblity of the pre-release firmware, and whether you could flash that version for now to get the fix.

The onewire fixes in firmware were released a month ago.

Hello @Bob_Steers,

I continue to have the same problem even after the new upgrades. However now the behaviour as an extra. Before the sparks reboots (and I am not yet sure that it actually reboots on its own after the upgrade) it goes to a weird mode where the screen changes the boxes showed, showing now the cool PID and the Heat Pid (don’t even know from which fridge). I attach the photo of it

.

That sounds like something wonky is going on with the Spark’s memory.

A recent update added tracing of what the controller was doing before shutdown.

Could you please run brewblox-ctl log, so we can check whether those trace logs shed some more light on this?

Here it goes: https://termbin.com/d33rr

1 Like

@Elco: this is something you’ll want to look at. Sudden reconfigurations of displaysettings are definitely a new bug.

I tried your eeprom file when you shared it, but could not find any issues.

What I do notice on the screenshot you posted, is that peak memory use is at 95%, which is dangerously high.

Can you once again share a blocks export from the spark page menu? The result should be a json file.
And perhaps a new eeprom dump.

Tomorrow we will release a new firmware version, which includes a major upgrade to device-os, the layer from Particle on which we build our firmware. It should use less memory.

But also check the Spark page to see if you have blocks that you don’t use and could be removed.

If you still have this problem after updating tomorrow, I’ll dive in again.

Here it goes :slight_smile:
At the moment I am using the spark to control 3 fridges and one HERMS withou any electronic valves.

brewblox-blocks-spark-one.json (37.8 KB)

And the eeprom dump: https://bashupload.com/veTR_/eeprom.bin

I tried importing all your blocks, but I could not import all of them.
The EEPROM (persistent storage) is full.

When a new object is created, storage is reserved to write its values and an additional 12.5% free storage in case the object grows, so we don’t have to relocate the object in storage on every write.

I cannot import all of them, because your current values + 12.5% extra space is too big. You could still create them because you first created them with smaller default values and later rewrote them using some of the reserved space.

But the conclusion is that you are hitting the limits of what can run on a single spark. With this many objects, you can get problems storing settings or running out of memory.

Can you please test removing some blocks?
You probably also have 1 error block on your spark that you should remove. I think the block was corrupted due to memory being full. The corrupt block is ‘PWM Pump 2’

Thanks for the explanation Elco.

The corrupted block that appears in the JSON does not appear in the GUI which is weird. I have downloaded again the JSON file and it continues to appear.

To test, I don’t want to to loose any of my configs (especially looking around which thermometers are which). So I am guessing I can for instance download the json file of all the blocks, delete the blocks related to the HERMS dashboard and test. I have some beers fermenting but I just brew every week or so, so I can basically just import the HERMS blocks when I need them.

That is correct.
If you want to regularly switch between configs, you’ll want to filter your JSON file, as it currently contains too many blocks to be imported at once.
If that’s not something you feel comfortable doing yourself, we can help with that.

Thanks @Bob_Steers, I think I should manage to manage to filter them out. Regarding the dashboards, that’s completely independent of the spark, am I correct? I can just keep them and when importing the blocks everything should be fine?