luke-jr / bfgminer

Modular ASIC/FPGA miner written in C, featuring overclocking, monitoring, fan speed control and remote interface capabilities.
http://luke.dashjr.org/programs/bitcoin/files/bfgminer/
Other
1.84k stars 814 forks source link

crashes with more than 4 erupters #275

Open udovdh opened 11 years ago

udovdh commented 11 years ago

When I start bfgminer like:

./bfgminer -S /dev/ttyUSB0 -S /dev/ttyUSB1 -S /dev/ttyUSB2 -S /dev/ttyUSB3 -S /dev/ttyUSB4 -S /dev/ttyUSB5 --icarus-timing short

it crashes soon after starting.

When I reduce the amount of erupters on the commandline to four it succeeds.

udovdh commented 11 years ago

./bfgminer -S all has a similar effect. Starting with four does allow to add erupters via the menu in most cases.

udovdh commented 11 years ago

(Fedora 19 on x86_64 with kernel.org 3.10.10)

udovdh commented 11 years ago

It even crashes with 4 erupters. 3.11.1 kernel. I do have s strace.

It ends like:

clock_gettime(CLOCK_MONOTONIC_RAW, {116, 567388958}) = 0 poll([{fd=29, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout) sendto(29, "POST / HTTP/1.1\r\nAuthorization: "..., 299, MSG_NOSIGNAL, NULL, 0) = 299 poll([{fd=29, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=29, events=POLLOUT|POLLWRNORM}], 2, 0) = 1 ([{fd=29, revents=POLLOUT|POLLWRNORM}]) sendto(29, "{\"method\": \"getwork\", \"params\": "..., 44, MSG_NOSIGNAL, NULL, 0) = 44 poll([{fd=29, events=POLLIN}, {fd=29, events=POLLOUT}], 2, 1000) = 1 ([{fd=29, revents=POLLOUT}]) poll([{fd=29, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=29, events=POLLOUT|POLLWRNORM}], 2, 0) = 1 ([{fd=29, revents=POLLOUT|POLLWRNORM}]) poll([{fd=29, events=POLLIN}], 1, 1000) = 1 ([{fd=29, revents=POLLIN}]) poll([{fd=29, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 1 ([{fd=29, revents=POLLIN|POLLRDNORM}]) recvfrom(29, "HTTP/1.1 200 OK\r\nServer: nginx/1"..., 16384, 0, NULL, NULL) = 1026 clock_gettime(CLOCK_MONOTONIC_RAW, {117, 78804913}) = 0 clock_gettime(CLOCK_MONOTONIC_RAW, {117, 78857730}) = 0 sched_yield() = 0 clock_gettime(CLOCK_MONOTONIC_RAW, {117, 78979820}) = 0 sched_yield() = 0 futex(0x1103b3c, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x1103b10, 84) = 2 futex(0x1103b10, FUTEX_WAKE_PRIVATE, 1) = 1 sched_yield() = 0 clock_gettime(CLOCK_MONOTONIC_RAW, {117, 79440170}) = 0 sched_yield() = 0 sched_yield() = 0 sched_yield() = 0 sched_yield() = 0 sched_yield() = 0 sched_yield() = 0 sched_yield() = 0 sched_yield() = 0 sched_yield() = 0 clock_gettime(CLOCK_MONOTONIC_RAW, {117, 80123102}) = 0 poll([{fd=29, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 0 (Timeout) sendto(29, "POST / HTTP/1.1\r\nAuthorization: "..., 299, MSG_NOSIGNAL, NULL, 0) = 299 poll([{fd=29, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=29, events=POLLOUT|POLLWRNORM}], 2, 0) = 1 ([{fd=29, revents=POLLOUT|POLLWRNORM}]) sendto(29, "{\"method\": \"getwork\", \"params\": "..., 44, MSG_NOSIGNAL, NULL, 0) = 44 poll([{fd=29, events=POLLIN}, {fd=29, events=POLLOUT}], 2, 1000) = 1 ([{fd=29, revents=POLLOUT}]) poll([{fd=29, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=29, events=POLLOUT|POLLWRNORM}], 2, 0) = 1 ([{fd=29, revents=POLLOUT|POLLWRNORM}]) poll([{fd=29, events=POLLIN}], 1, 1000) = 1 ([{fd=29, revents=POLLIN}]) poll([{fd=29, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 0) = 1 ([{fd=29, revents=POLLIN|POLLRDNORM}]) recvfrom(29, "HTTP/1.1 200 OK\r\nServer: nginx/1"..., 16384, 0, NULL, NULL) = 1026 clock_gettime(CLOCK_MONOTONIC_RAW, {117, 599123337}) = 0 clock_gettime(CLOCK_MONOTONIC_RAW, {117, 599198543}) = 0 sched_yield() = 0 clock_gettime(CLOCK_MONOTONIC_RAW, {117, 599352439}) = 0 sched_yield() = 0 futex(0x1103b3c, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x1103b10, 92) = 2 futex(0x1103b10, FUTEX_WAKE_PRIVATE, 1) = 1 sched_yield() = 0 clock_gettime(CLOCK_MONOTONIC_RAW, <unfinished ...> +++ killed by SIGSEGV +++

If you need the complete strace let me know.

luke-jr commented 11 years ago

strace isn't useful for this kind of crash. I believe I may have already fixed it in git. Can you confirm?

udovdh commented 11 years ago

I just stopped bfgminer and restarted it specifying 6 erupters on the commandline. worked OK. So that indicates a change. (normally it would crash once or twice at least) Maybe some more testing to be 101% sure. Thanks for the git commit!

Quix0r commented 10 years ago

Just a question: @udovdh have you provided enough electricity? Every miner consumes a considerable amount and not all USB hubs are cable of handling it. So they "under-support" the devices which causes them to not work correctly (as they don't get the required ampere amount).

udovdh commented 10 years ago

There is plenty of power via two powered Konig 7-port hubs. The problem was fixed in software if I recall.

Quix0r commented 10 years ago

Ah, just to be sure. :)