Re: [BUGS] BUG #2195: log_min_messages crash server when in DEBUG3 to
От | Tom Lane |
---|---|
Тема | Re: [BUGS] BUG #2195: log_min_messages crash server when in DEBUG3 to |
Дата | |
Msg-id | 9091.1138739163@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [BUGS] BUG #2195: log_min_messages crash server when in DEBUG3 to (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: [BUGS] BUG #2195: log_min_messages crash server when in DEBUG3 to
|
Список | pgsql-patches |
Bruce Momjian <pgman@candle.pha.pa.us> writes: > The problem is that for EXEC_BACKEND, which is the default for WIN32 and > what I used for testing, progname is NULL because we do not set it after > the fork/exec. Most versions of printf report "(null)" for a null > argument to printf("%s"), but our port/snprintf.c version aborts, which > is probably better in terms of finding bugs. Good catch. > The attached patch fixes the problem by setting progname early in > main(), like we do for all other applications. It'd probably be best to strdup() argv[0], because of the likelihood that the argv area will get clobbered at some point by ps_status.c. It was OK to have a private static in postmaster.c, because the postmaster doesn't ever call ps_status.c, but if we are going to expose the variable in child processes it needs to be more globally valid. I see that get_progname strdup's its argument in some cases but not all --- so simplest fix is to make it always do so. regards, tom lane
В списке pgsql-patches по дате отправления: