Re: client waits for end of update operation and server proc is idle - Mailing list pgsql-general

From Tom Lane
Subject Re: client waits for end of update operation and server proc is idle
Date
Msg-id 2002577.1619371285@sss.pgh.pa.us
Whole thread Raw
In response to Re: client waits for end of update operation and server proc is idle  (Matthias Apitz <guru@unixarea.de>)
List pgsql-general
Matthias Apitz <guru@unixarea.de> writes:
> El día domingo, abril 25, 2021 a las 11:51:45a. m. -0400, Tom Lane escribió:
>> Hmph.  So why wasn't this visible in the tcpdump trace?

> It was visible. That's why I detected it while looking up the TCP
> packages before the UPDATE:

> 10:57:16.051326 IP 127.0.0.1.52288 > 127.0.0.1.5432: Flags [P.], seq 14280:14407, ack 120304, win 512, options
[nop,nop,TSval 3424445708 ecr 3424445708], length 127 
>         0x0000:  4500 00b3 b84e 4000 4006 83f4 7f00 0001  E....N@.@.......
>         0x0010:  7f00 0001 cc40 1538 d9b9 44bb fcd1 afb7  .....@.8..D.....
>         0x0020:  8018 0200 fea7 0000 0101 080a cc1c e50c  ................
>         0x0030:  cc1c e50c 5352 502d 3236 3937 363a 2072  ....SRP-26976:.r
>         0x0040:  6573 746f 7265 6420 7374 7275 6374 206b  estored.struct.k
>         0x0050:  6574 7465 7361 747a 2066 6f72 2073 6574  ettesatz.for.set
>         0x0060:  6964 3a32 2c20 6465 736b 3a33 3831 3832  id:2,.desk:38182
>         0x0070:  3038 302c 2066 656c 646e 723a 362c 206b  080,.feldnr:6,.k
>         0x0080:  6174 6b65 793a 3136 3839 3532 3937 392c  atkey:168952979,
>         0x0090:  206b 6574 7465 7361 747a 2e66 7265 693a  .kettesatz.frei:
>         0x00a0:  302c 206b 6574 7465 7361 747a 2e61 6e7a  0,.kettesatz.anz
>         0x00b0:  3235 0a                                  25.

Ah.  On looking at the server code, I see there *is* some validation
on the message type code --- but here, the first byte is 'S' which
happens to be a legal message type, so you got past that check.
Still, the apparent message length is then "RP-2" (0x52502d32)
which is bigger than 1GB so I don't quite understand why you didn't
get an "out of memory" error.

In any case, we could clearly do with some more sanity checking than
is there now.  I'll post a patch for that in a bit.

            regards, tom lane



pgsql-general by date:

Previous
From: Matthias Apitz
Date:
Subject: Re: client waits for end of update operation and server proc is idle
Next
From: Tom Lane
Date:
Subject: Re: client waits for end of update operation and server proc is idle