Sergey Prokhorov
Sergey Prokhorov
@IngelaAndin will check now
@IngelaAndin yes, issue no longer reproduce on OTP-26.2.5.5. Guess #8971 fixed it. Thanks!
Re-running the `epgsql` CI on 26.2.2.5 also succeeded https://github.com/epgsql/epgsql/actions/runs/11610405553 :+1:
Yup, sounds reasonable. Just not sure if epgsql should fail gracefully or just crash... Also, PR would be welcome!
I think the easiest would be to do ```erlang case do_send(...) of ok -> ok; {error, Reason} -> throw({stop, {error, Reason}, flush_queue(State#state{sock = undefined}, {error, Reason}) } end ``` here...
Done, good point!
Hi. The reason is that `with_transaction/3` was added many years after `with_transaction/2`. And there were a lot of complaints about the default behaviour of `with_transaction/2` because it hides the stacktrace,...
For some reason the epgsql connection process have crashed. Can you show what fun do you pass to `with_transaction`?
Yes, we have a hard range checks there https://github.com/epgsql/epgsql/blob/7ba52768cf0ea7d084df24d4275a88eef4db13c2/src/datatypes/epgsql_codec_integer.erl#L31-L44 It will crash even without `with_transaction`. My only suggestion here will be to do the overflow check before you pass it...
If `squery(C, "ROLLBACK")` crashes with `noproc`, it means there should already be `epgsql_sock`'s `gen_server` crash report or supervisor report somewhere in the logs... I'm still thinking just doing `catch squery(C,...