Re: psql tests hangs

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Kirk Wolak <wolakk(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Daniel Gustafsson <daniel(at)yesql(dot)se>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Subject: Re: psql tests hangs
Date: 2023-05-12 06:40:19
Message-ID: CAFj8pRBhfoSkMd2hXJSiHmRXB-_6ezrwYtLaWSyr3s=nsPnZUA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

pá 12. 5. 2023 v 8:20 odesílatel Kirk Wolak <wolakk(at)gmail(dot)com> napsal:

> On Fri, May 12, 2023 at 1:46 AM Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> wrote:
>
>> pá 12. 5. 2023 v 6:50 odesílatel Kirk Wolak <wolakk(at)gmail(dot)com> napsal:
>>
>>> On Fri, May 12, 2023 at 12:14 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>>
>>>> Kirk Wolak <wolakk(at)gmail(dot)com> writes:
>>>> > Did you try the print statement that Andrey asked Pavel to try?
>>>> ...
>>>
>>>
>> The strange thing is hanging. Broken tests depending on locale are usual.
>> But I didn't remember hanging.
>>
>> Regards
>>
>> Pavel
>>
>
> So, if you do psql -c "..."
> with both of those \watch instructions, do either one hang? (I am now
> guessing "no")
>
> I know that perl is using a special library to "remote control psql" (like
> a pseudo terminal, I guess).
> [I had to abort some of the perl testing in Windows because that perl
> library didn't work with my psql in Windows]
>
> Next, can you detect which process is hanging? (is it perl, the library,
> psql, ?).
>

It hangs in perl

but now I found there is dependency on PSQL_PAGER setting

it started pager in background, I had lot of zombie pspg processes

Unfortunately, when I unset this variable, the test hangs still

here is backtrace

Missing separate debuginfos, use: dnf debuginfo-install
perl-interpreter-5.36.1-496.fc38.x86_64
(gdb) bt
#0 0x00007fbbc1129ade in select () from /lib64/libc.so.6
#1 0x00007fbbc137363b in Perl_pp_sselect () from /lib64/libperl.so.5.36
#2 0x00007fbbc1317958 in Perl_runops_standard () from
/lib64/libperl.so.5.36
#3 0x00007fbbc128259d in perl_run () from /lib64/libperl.so.5.36
#4 0x000056392bd9034a in main ()

It is waiting on reading from pipe probably

psql is living too, and it is waiting too

Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007f071740bc37 in wait4 () from /lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install
glibc-2.37-4.fc38.x86_64 ncurses-libs-6.4-3.20230114.fc38.x86_64
readline-8.2-3.fc38.x86_64
(gdb) bt
#0 0x00007f071740bc37 in wait4 () from /lib64/libc.so.6
#1 0x00007f07173a9a10 in _IO_proc_close@@GLIBC_2.2.5 () from
/lib64/libc.so.6
#2 0x00007f07173b51e9 in __GI__IO_file_close_it () from /lib64/libc.so.6
#3 0x00007f07173a79fb in fclose@@GLIBC_2.2.5 () from /lib64/libc.so.6
#4 0x0000000000406be4 in do_watch (query_buf=query_buf(at)entry=0x5ae540,
sleep=sleep(at)entry=0(dot)01, iter=0, iter(at)entry=3) at command.c:5348
#5 0x00000000004087a5 in exec_command_watch
(scan_state=scan_state(at)entry=0x5ae490,
active_branch=active_branch(at)entry=true, query_buf=query_buf(at)entry=0x5ae540,
previous_buf=previous_buf(at)entry=0x5ae560) at command.c:2875
#6 0x000000000040d4ba in exec_command (previous_buf=0x5ae560,
query_buf=0x5ae540, cstack=0x5ae520, scan_state=0x5ae490, cmd=0x5ae9a0
"watch") at command.c:413
#7 HandleSlashCmds (scan_state=scan_state(at)entry=0x5ae490,
cstack=cstack(at)entry=0x5ae520, query_buf=0x5ae540, previous_buf=0x5ae560) at
command.c:230

I am not sure, it is still doesn't work but probably there are some
dependencies on my setting

PSQL_PAGER and PSQL_WATCH_PAGER

so this tests fails due my setting

[pavel(at)localhost postgresql.master]$ set |grep PSQL
PSQL_PAGER='pspg -X'
PSQL_WATCH_PAGER='pspg -X --stream'

Regards

Pavel

>
> I would be curious now about the details of your perl install, and your
> perl libraries...
>
>
>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kirk Wolak 2023-05-12 07:00:05 Re: psql tests hangs
Previous Message Richard Guo 2023-05-12 06:35:33 An inefficient query caused by unnecessary PlaceHolderVar