I have had synchronization issue with my Chia Harvester since 2 months ago. It stopped at Peak 2,929,648 and it is still syncing. I tried updating and restarting Chia but the problem still remains.
Can someone please advise? I am Chia Harvesting on an Ubuntu machine.
Thanks very much!
Jeffrey
The log looks like the following:
2023-02-05T18:00:36.497 full_node chia.consensus.blockchain: ERROR Error while adding block 4bf67f36cd6eafe087c51c2b89489895706c0e64f6627f28a5a1100bc97a98dc height 2929648, rolling back: Traceback (most recent call last):
File "/home/jeffreycheng/chia-blockchain/chia/consensus/blockchain.py", line 270, in receive_block
records, state_change_summary = await self._reconsider_peak(
File "/home/jeffreycheng/chia-blockchain/chia/consensus/blockchain.py", line 406, in _reconsider_peak
await self.coin_store.new_block(
File "/home/jeffreycheng/chia-blockchain/chia/full_node/coin_store.py", line 156, in new_block
await self._add_coin_records(additions)
File "/home/jeffreycheng/chia-blockchain/chia/full_node/coin_store.py", line 544, in _add_coin_records
await conn.executemany(
File "/home/jeffreycheng/chia-blockchain/venv/lib/python3.8/site-packages/aiosqlite/core.py", line 210, in executemany
cursor = await self._execute(self._conn.executemany, sql, parameters)
File "/home/jeffreycheng/chia-blockchain/venv/lib/python3.8/site-packages/aiosqlite/core.py", line 129, in _execute
return await future
File "/home/jeffreycheng/chia-blockchain/venv/lib/python3.8/site-packages/aiosqlite/core.py", line 102, in run
result = function()
sqlite3.OperationalError: disk I/O error
disk I/O error
2023-02-05T18:00:36.498 full_node chia.full_node.full_node: ERROR sync from fork point failed err: no such savepoint: s70121
2023-02-05T18:00:36.498 full_node chia.full_node.full_node: INFO long sync done
2023-02-05T18:00:36.499 full_node chia.full_node.full_node: INFO 🌱 Updated peak to height 2929647, weight 6042908896, hh a09139af13ea34d3bd51b74546a3a0ff1f6df4e80f1b7ac60ec0451cfebd39ac, forked at 2929646, rh: 3548a719f1314ee118867f0512668366b0f5e2fb1c44a7ea4fc8438dfca97c7a, total iters: 11921204664287, overflow: False, deficit: 3, difficulty: 1816, sub slot iters: 136314880, Generator size: No tx, Generator ref list size: No tx
2023-02-05T18:00:38.737 full_node chia.full_node.full_node: INFO Starting to perform sync.
2023-02-05T18:00:38.737 full_node chia.full_node.full_node: INFO Waiting to receive peaks from peers.
2023-02-05T18:00:39.096 wallet chia.wallet.wallet_blockchain: INFO Peak set to: 3206339 timestamp: 1675591196
it sounds like your implying u have a standalone harvester…
. seperate from your main chia machine node
if so they dont need to be synced at all.
sooo… it is also imposible to sync 2 clients at the same time on the same network as you would need to specify in your router your local machines ip address with corosponding port…
you cannot open a single port to 2 ip addresses on the same network
perhaps possible tho with some subnetting, but thats not my expertise
and a complete waist of time.
or
if your implying that your main machines harvester isnt staying synced,
check the basics…
test your port is open online with a port checking tool
restart your clients.
check with your isp to ensure they didnt block your traffic as malicious
This is a false statement. Sure, you cannot have two inbound ports open, but you can easily have multiple boxes accessing the same outbound IP:PORT (how would you use browser on two boxes, if that would not work).
So, you just need to make sure that only one box has inbound port open. That implies not trying to port forward port 8444 to two boxes and disabling UPnP on all but one box. Actually, there is no problem at all (from the box perspective) whether it has or has not that port open, so disabling inbound connections on all boxes doesn’t really change anything (yes, it degrades the overall network).
im sorry @Jacek
it is a good point you make. logical for sure.
although
When multiple devices on the same subnet need to use port 80 to access the web, they are not all using the same port 80 on the router. Instead, they are each using a unique source port on their own device to communicate with the destination port 80 on the web server. This is known as network address translation (NAT) and is handled automatically by the router. The router keeps track of the source and destination ports for each device, allowing multiple devices to use the same destination port on the web server while still maintaining unique connections.
to reiterate
you cannot specify a single port to multiple IP addresses. Each port can only be forwarded to a single IP address. However, you can achieve the same result by setting up a load balancer or reverse proxy server that can distribute incoming traffic across multiple servers. The load balancer or reverse proxy server listens on a single port and forwards incoming requests to the appropriate server based on a set of rules. This allows multiple servers to share the same port and handle incoming requests in a more efficient and scalable way.
my testing of this confirms… when i tried to sync multiple nodes. using port 8444 in the pfsense…
just because u can do such a thing in a router doesn’t mean it will work as intended.
traffic gets confused… only one node will sync at a time.
you could edit the config.yaml tho and get real wacky playing with ports. could work to have 2 nodes on same network…
maybe someone with a networking degree could weigh in…
i may be way super wrong tho…
again
not my specialty.
entirely self taught
This is exactly the same with chia. Take a look at netstats, and check from/to ports. No sane program cares about from port and it is basically always randomly generated. So, FW/NAT has no problem to discern two outbound chia clients connecting to the same peer. The peer will respond in the same TCP channel (using from port as to in reply), thus FW/NAT will have no issue to push the data back to the proper client (the outbound port on FW/NAT will also be random for the same reason).
One misleading problem with chia client is/was that it is/was wrongly reporting from ports.as identical to to ports. So, maybe that is the confusing part. Check your netstat to verify.
So, sorry to say, but your pfsense tests were not really done right. Before I switched to using remote harvesters, I run a couple of nodes without any problem. Actually, quite a lot of folks do that to have an up to date db backup in case something happens to the primary node.
And if you are looking for a networking degree, I did code on TCP and UDP level.
Agreed on syncing the harvester, that is not a harvester anymore but rather an orphaned node (in case the harvester points to the other node).
that’s cool and all… but the point is its not necessary to sync a harvester…
also does chia endorse this somewhere?.. its a great idea…
but i strictly follow the chia teams recommendations only…
why wouldn’t chia provide snapshots themselve, in the official chia repository…
haha does sound funny… at least as far as 3rd party software is concerned.
harvesting on many machines was my original inspiration.
so i trust myself… and chia teams holy repository…
Formatting the HD is potentially the best option. You will also need to use new mnemonics, as whatever you have on this box, those scoundrels already lifted it. What it also means, you will need to replot everything.
I am really sorry that it happen to you. Part of that is our (other forum members) recommendations to get it downloaded. I think that if we do that next time, we have to say to not download anything else than the db. Still, the db link could lead to some shit. What it possibly means, not let any new posters advertise similar download websites.
@dchuk could you ban that poster from the forum, please.