Bug report: GUI temporarily stops working after reboot the OS

HelloGuy

Member
Mar 16, 2016
42
20
OS: in both Windows 10 and Ubuntu 12.04, it has the same problem.

Description: When I open the setting of "Start Bitcoin Core on system log in", the bitcoin client may not be closed properly, and then the system somehow rebooted and logged in(power off, or windows automatically updated), the Bitcoin will be working after the OS is alive.

There will be an icon of Bitcoin Unlimited, but when you click the icon, the GUI just will not open. If you check the system process, in the back, the Bitcoin is still working, trying to read from the disk which makes the disk very busy, the memory usage is rising, and the network is in use as well. The receive of the network is much higher than send. but I just cannot have a GUI to tell me anything is in the process.

I suspected that it is trying to load the blockchain and validate it again.

So I decided wait patiently, until the disk operation stops.

Then at last, the GUI popped up and it shows that it is still sync with the network.

The whole process lasts more than 10 mins.

Conclusion: Basically the bitcoin client is still working fine, but the GUI cannot show up to tell the users what is going on, it may let users to be very anxious. If we can let the GUI show up, and tell the users what is going on, it will let users have peace in mind.
 

Peter Tschipper

Active Member
Jan 8, 2016
254
357
I believe that an issue with the Core code and startup. The blockindex needs to be loaded and blocks have to be verified before the GUI opens. I've only noticed this if I was doing IBD (syncing the chain) and then closed bitcoin and restarted it. What happens is that any blocks that were previously downloaded but not verified will then get verified and the tips connected. It can take a while depending on how may blocks there are. It sounds like you might have the same problem or something similar. There is a problem in the code that does the startup in the wrong order. We should open the GUI first and then do any verification but I looked at that code just a while ago and doing that would take some time. It's a bit of a mess in the init.cpp where all the startup gets done and would require a little work and a lot of testing to fix Maybe you can open a but report and someone who feels they want to take a stab at it can work on it. Thanks for reporting it.
 
  • Like
Reactions: HelloGuy

HelloGuy

Member
Mar 16, 2016
42
20
@Peter Tschipper Thanks for reply. And definitely I don't think this is of priority, and maybe we can report this issue to Core, or we can make it into our todo list at a lower priority and hopefully we can do it after Unlimited has lots of developers in the community.
 

Peter Tschipper

Active Member
Jan 8, 2016
254
357
@HelloGuy One thing to mention is that I just submitted yesterday a fairly big change to IBD (at the end of PR79) which fixes the occasional IBD hang that has been in Core for quite some time. One unintended outcome of that is we no longer will have a huge forward cache of up to 1024 blocks to churn though when the node is restarted in the middle of a sync, which means, this issue of the GUI not opening won't be as noticeable if at all. It won't take 10 mins, but just a short delay instead. So maybe we won't have to fix the startup anyway.
 

HelloGuy

Member
Mar 16, 2016
42
20
So great! We can increase the experience of the Bitcoin full node day after day. How good is that!