Hello Tom,

There's at least one bug in this patch.

Indeed.

It's caused pgbench to go into an infinite loop during the TAP tests on my buildfarm machine longfin.

buildfarm  719:14.18 /Users/buildfarm/bf-data/HEAD/inst/bin/pgbench --no-vacuum 
--client=5 --protocol=prepared --transactions=25 --file 
/Users/buildfarm/bf-data/HEAD/pgsql.build/src/bin/pgbench/tmp_check/data_main_JNh2/pgbench_script

Some other buildfarm critters seem to have got through that successfully,
so it's probably a portability issue not a hard failure.

Hmmm, not easy to identify, especially as I do not have a clang on MacOS...

Could you catch the process to identify the infinite loop?
What are the states of the five clients?

I think that it may be stuck in doCustom or on threadRun.

I'm not sure how it could be stuck in doCustom. Re-reading the code, I think that the "end_tx_processed" stuff could be removed in favor of a systematic return at the end of the transaction, but that does not explain anything wrt to an infinite loop: after 25 transactions it should have got
to FINISHED and have exited.

Maybe it can be stuck in threadRun in the "while (remains>0)" loop, which suggests that a remains-- has been forgotten... but I do not see how this is possible to forget a client by reading the code.

So although I hastily declared that bugs would be easier to detect, without any additional clue it is hard to help.

--
Fabien.


--
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Reply via email to