| 8 Oct 2023 |
Cobalt | * Okay, I'll be off for today (it's 1 am in my tz). The error for the above branch is reproducible after every Connection cache is full, closing the oldest one message. Could there be a race condition between the connection cache being exhausted and accidentally closing an in-use connection? | 22:49:08 |
Cobalt | Otherwise my first guess would be that the fetcher overallocates ressources. Maybe it tries to allocate all connections and closes a long running, slow connection without checking if it's in use. This wouldn't happen on a fast connection (where a connection is always free) but might be possible with a slow one | 22:51:28 |
Lily Foster | In reply to @c0ba1t:matrix.org Okay, I'll be off for today (it's 1 am in my tz). The error for the above branch is reproducible after every Connection cache is full, closing the oldest one message. Could there be a race condition between the connection cache being exhausted and accidentally closing an in-use connection? Well so closing the connection shouldn't even be causing this because it's not doing the retry logic because it doesn't think what is clearly a network error (error code 55) is one and instead treats it as a permanent rather than transient error | 22:51:36 |
Lily Foster | In reply to @c0ba1t:matrix.org Okay, I'll be off for today (it's 1 am in my tz). The error for the above branch is reproducible after every Connection cache is full, closing the oldest one message. Could there be a race condition between the connection cache being exhausted and accidentally closing an in-use connection? * Well so closing the connection shouldn't even be (directly) the cause of this because it's not doing the retry logic because it doesn't think what is clearly a network error (error code 55) is one and instead treats it as a permanent rather than transient error | 22:52:04 |
Lily Foster | Which for why that could ever be the case, seems to be somewhere in between isahc and curl-rust and libcurl. And I'm not sure where, but hopefully it's enough for me to be able to locally poke at the problem now | 22:52:56 |
Cobalt | Okay, good luck then. maybe changing to a native client, like ureq, might also be a solution. Though I don't know how much work it would be. | 22:54:22 |
Lily Foster | HA | 22:57:44 |
Lily Foster | ureq gaves us more problems | 22:57:48 |
Lily Foster | We have that before | 22:57:50 |
Lily Foster | And switched to isahc which fixed those and allowed us to support custom tls certs and stuff | 22:58:07 |
Lily Foster | * We had that before | 22:58:15 |
Lily Foster | But, well, I guess that decision is hurting me now... | 22:58:29 |
Lily Foster | Changing libs is not hard. But also finding why this is being dumb also shouldn't be hard so... | 22:59:10 |
Lily Foster | Thank you for testing though ❤️ | 23:06:29 |
Lily Foster | I'll probably have a new one for people to test by tomorrow | 23:06:36 |
Cobalt | In reply to @lily:lily.flowers Thank you for testing though ❤️ Your welcome, rather thank you for maintaining this module. It looks like a pain to handle node stuff. | 23:16:12 |
| 9 Oct 2023 |
raitobezarius | I guess you can do fault injection for reproducing the error | 00:38:01 |
Lily Foster | In reply to @raitobezarius:matrix.org I guess you can do fault injection for reproducing the error That was my thought with reproducing locally, yeah. I just haven't bothered setting that up yet... also why are you still up it's like 3am there 🙈 | 00:42:43 |
raitobezarius | In reply to @lily:lily.flowers That was my thought with reproducing locally, yeah. I just haven't bothered setting that up yet... also why are you still up it's like 3am there 🙈 i was playing World of Warcraft of course | 00:46:12 |
Lily Foster | In reply to @raitobezarius:matrix.org i was playing World of Warcraft of course Ah, well, please get sleep at some point xD | 00:46:55 |
Lily Foster | In reply to @c0ba1t:matrix.org Your welcome, rather thank you for maintaining this module. It looks like a pain to handle node stuff. Can you try again, same branch? | 14:41:36 |
Lily Foster | And send logs. I added a debug println | 14:41:53 |
Lily Foster | Because the more I look into this, the more cursed it gets | 14:42:10 |
Lily Foster | And the less sense it makes. And I can't get the same thing to happen on my system | 14:42:18 |
Lily Foster | (I did try to do crude fault injection, but didn't get the anomalous error type from the curl-rust/isahc side) | 14:42:39 |
Cobalt | Download prefetch-partial.txt | 14:46:23 |
Cobalt | Download prefetch-partial-2.txt | 14:46:24 |
Cobalt | Download prefetch-success-log.txt | 14:46:25 |
Cobalt | The first attempt ran successfully, idk why, however all attempts afterwards got stuck at [18] Transferred a partial file | 14:47:02 |
Lily Foster | Um. Did you run it from the branch? | 14:47:21 |