|
|
Message-ID: <20211108170234.GB14795@openwall.com>
Date: Mon, 8 Nov 2021 18:02:34 +0100
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: ZTEX error - invalid ztex-specific descriptor
Hi Royce,
On Mon, Nov 01, 2021 at 06:56:40PM -0800, Royce Williams wrote:
> Sometimes, a john fork throws one of these errors and then terminates:
>
> SN 49: ztex_get_descriptor: invalid ztex-specific descriptor
>
> There's no segfault or anything - the process just ends. I haven't left it
> running until all processes die, but I have seen where almost all of them
> die, leaving just one left.
>
> Is this worth a GitHub issue, or should it be ... hashed ;) out here?
It could be worth a GitHub issue, but we can also hash it out here. Can
you please try the below patch (completely untested)?
+++ b/src/ztex/ztex.c
@@ -398,7 +398,8 @@ int ztex_get_descriptor(struct ztex_device *dev)
|| buf[4] != 'E' || buf[5] != 'X') {
ztex_error("SN %s: ztex_get_descriptor: invalid ztex-specific descriptor\n",
dev->snString);
- return -1;
+#define ZTEX_RETRY_WANTED -777
+ return ZTEX_RETRY_WANTED;
}
int i;
@@ -482,7 +483,7 @@ int ztex_scan_new_devices(struct ztex_dev_list *new_dev_list,
result_open = ztex_device_new(usb_dev, &ztex_dev);
if (result_open >= 0) {
break;
- } else if (result_open == LIBUSB_ERROR_ACCESS) {
+ } else if (result_open == LIBUSB_ERROR_ACCESS || result_open == ZTEX_RETRY_WANTED) {
if (retry_num < ZTEX_OPEN_NUM_RETRIES - 1) {
usleep(ZTEX_OPEN_RETRY_WAIT * 1000);
} else {
You might also need to increase ZTEX_OPEN_NUM_RETRIES (default 3).
Alexander
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.