It looks like an issue with JIT. If I disable the JIT then the above query runs successfully.
postgres=# set jit to off;
SET
postgres=# SELECT * FROM rm32044_t1 LEFT JOIN rm32044_t2 ON rm32044_t1.pkey = rm32044_t2.pkey, rm32044_t3 LEFT JOIN rm32044_t4 ON rm32044_t3.pkey = rm32044_t4.pkey order by rm32044_t1.pkey,label,hidden;
pkey | val | pkey | label | hidden | pkey | val | pkey
------+------+------+---------+--------+------+-----+------
1 | row1 | 1 | hidden | t | 1 | 1 |
1 | row1 | 1 | hidden | t | 2 | 1 |
2 | row2 | 2 | visible | f | 1 | 1 |
2 | row2 | 2 | visible | f | 2 | 1 |
(4 rows)
Any idea on this?