Re: WIP Incremental JSON Parser

Поиск
Список
Период
Сортировка
Искать
От
Andrew Dunstan
Тема
Re: WIP Incremental JSON Parser
Дата
Msg-id
bb451293-2a16-4b62-9d55-d2d967284fb2@dunslane.net
Ответ на
Список
Дерево обсуждения
WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Robert Haas <robertmhaas@gmail.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Robert Haas <robertmhaas@gmail.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Robert Haas <robertmhaas@gmail.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Nico Williams <nico@cryptonector.com>
Re: WIP Incremental JSON Parser Robert Haas <robertmhaas@gmail.com>
Re: WIP Incremental JSON Parser Jacob Champion <champion.p@gmail.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Peter Smith <smithpb2250@gmail.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Robert Haas <robertmhaas@gmail.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Tom Lane <tgl@sss.pgh.pa.us>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Tom Lane <tgl@sss.pgh.pa.us>
Re: WIP Incremental JSON Parser Tom Lane <tgl@sss.pgh.pa.us>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Tom Lane <tgl@sss.pgh.pa.us>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jelte Fennema-Nio <postgres@jeltef.nl>
Re: WIP Incremental JSON Parser Nathan Bossart <nathandbossart@gmail.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Nathan Bossart <nathandbossart@gmail.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Nathan Bossart <nathandbossart@gmail.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Tom Lane <tgl@sss.pgh.pa.us>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Michael Paquier <michael@paquier.xyz>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Michael Paquier <michael@paquier.xyz>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Michael Paquier <michael@paquier.xyz>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Michael Paquier <michael@paquier.xyz>
Re: WIP Incremental JSON Parser Robert Haas <robertmhaas@gmail.com>
Re: WIP Incremental JSON Parser Michael Paquier <michael@paquier.xyz>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Michael Paquier <michael@paquier.xyz>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jelte Fennema-Nio <postgres@jeltef.nl>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jelte Fennema-Nio <postgres@jeltef.nl>
Re: WIP Incremental JSON Parser Jelte Fennema-Nio <postgres@jeltef.nl>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Jacob Champion <jacob.champion@enterprisedb.com>
Re: WIP Incremental JSON Parser Andrew Dunstan <andrew@dunslane.net>

On 2024-04-07 Su 20:58, Tom Lane wrote:
> Coverity complained that this patch leaks memory:
>
> /srv/coverity/git/pgsql-git/postgresql/src/bin/pg_combinebackup/load_manifest.c: 212 in load_backup_manifest()
> 206     			bytes_left -= rc;
> 207     			json_parse_manifest_incremental_chunk(
> 208     												  inc_state, buffer, rc, bytes_left == 0);
> 209     		}
> 210
> 211     		close(fd);
>>>>      CID 1596259:    (RESOURCE_LEAK)
>>>>      Variable "inc_state" going out of scope leaks the storage it points to.
> 212     	}
> 213
> 214     	/* All done. */
> 215     	pfree(buffer);
> 216     	return result;
> 217     }
>
> /srv/coverity/git/pgsql-git/postgresql/src/bin/pg_verifybackup/pg_verifybackup.c: 488 in parse_manifest_file()
> 482     			bytes_left -= rc;
> 483     			json_parse_manifest_incremental_chunk(
> 484     												  inc_state, buffer, rc, bytes_left == 0);
> 485     		}
> 486
> 487     		close(fd);
>>>>      CID 1596257:    (RESOURCE_LEAK)
>>>>      Variable "inc_state" going out of scope leaks the storage it points to.
> 488     	}
> 489
> 490     	/* Done with the buffer. */
> 491     	pfree(buffer);
> 492
> 493     	return result;
>
> It's right about that AFAICS, and not only is the "inc_state" itself
> leaked but so is its assorted infrastructure.  Perhaps we don't care
> too much about that in the existing applications, but ISTM that
> isn't going to be a tenable assumption across the board.  Shouldn't
> there be a "json_parse_manifest_incremental_shutdown()" or the like
> to deallocate all the storage allocated by the parser?



yeah, probably. Will work on it.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com



В списке pgsql-hackers по дате отправления
От: Robert Haas
Дата:
От: Zhijie Hou (Fujitsu)
Дата:
FAQ