Z8 genproclimit bug, or maybe a new feature?


#1

I cannot set genproclimit=-1. Can't do it in the conf file, nor from the cli. And I cannot set genproclimit=4 on a 4 core machine. zcashd dumps with this error:

terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc

Bug or new feature?


#2

I haven't experimented with this so I don't know if it makes a difference but does your system have a four core CPU or just four threads? What happens if you only specify two instead of four?


#3

Thanks for the quick reply and the suggestion.

It is a 4 core machine. And genproclimit=2 works fine. Perhaps I'm running out of memory? I have only 4GB and I don't seem to have set up a valid swap partition. My mistake.


#4

genproclimit=-1 works fine for me, no error message. But I can't even get my machines to sync, if I try to mine it always end up mining on its own fork.


#5

If you're getting std::bad_alloc, it indicates that you don't have enough free RAM to support that number of mining threads. In z8, each mining thread requires on the order of 560-700MB RAM, so four of those is probably going to push you over the limit when also factoring in the RAM required for the rest of the OS. Try watching htop or some other task manager-style app to see how your RAM usage changes as you start the miner.