Re: Allowing printf("%m") only where it actually works

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Allowing printf("%m") only where it actually works
Date: 2018-09-26 19:09:34
Message-ID: 20180926190934.ea4xvzhkayuw7gkx@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2018-09-26 11:57:34 -0700, Andres Freund wrote:
> On 2018-09-26 11:09:59 -0400, Tom Lane wrote:
> > Michael Paquier <michael(at)paquier(dot)xyz> writes:
> > > On Tue, Sep 25, 2018 at 12:05:42PM -0400, Tom Lane wrote:
> > >> Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> writes:
> > >>> Actually I think it *is* useful to do it like this, because then the
> > >>> user knows to fix the netmsg.dll problem so that they can continue to
> > >>> investigate the winsock problem. If we don't report the secondary error
> > >>> message, how are users going to figure out how to fix the problem?
> >
> > >> OK, I'm fine with doing it like that if people want it.
> >
> > > +1.
> >
> > OK, pushed 0001 with that adjustment.
> >
> > While looking over the thread, I remembered I wanted to convert
> > strerror_r into a wrapper as well. Think I'll go do that next,
> > because really it'd be better for snprintf.c to be calling strerror_r
> > not strerror.
>
> The strerror push, I assume it's that at least, broke something on icc:
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=fulmar&dt=2018-09-26%2018%3A00%3A16
>
> ================== pgsql.build/src/test/regress/regression.diffs ===================
> *** /var/buildfarm/fulmar/build/HEAD/pgsql.build/src/test/regress/expected/create_function_1.out Wed Sep 26 20:10:35 2018
> --- /var/buildfarm/fulmar/build/HEAD/pgsql.build/src/test/regress/results/create_function_1.out Wed Sep 26 20:10:43 2018
> ***************
> *** 86,92 ****
> ERROR: only one AS item needed for language "sql"
> CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C
> AS 'nosuchfile';
> ! ERROR: could not access file "nosuchfile": No such file or directory
> CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C
> AS '/var/buildfarm/fulmar/build/HEAD/pgsql.build/src/test/regress/regress.so', 'nosuchsymbol';
> ERROR: could not find function "nosuchsymbol" in file "/var/buildfarm/fulmar/build/HEAD/pgsql.build/src/test/regress/regress.so"
> --- 86,92 ----
> ERROR: only one AS item needed for language "sql"
> CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C
> AS 'nosuchfile';
> ! ERROR: could not access file "nosuchfile": ENOENT
> CREATE FUNCTION test1 (int) RETURNS int LANGUAGE C
> AS '/var/buildfarm/fulmar/build/HEAD/pgsql.build/src/test/regress/regress.so', 'nosuchsymbol';
> ERROR: could not find function "nosuchsymbol" in file "/var/buildfarm/fulmar/build/HEAD/pgsql.build/src/test/regress/regress.so"
>
> ======================================================================

Mandrill as well:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=mandrill&dt=2018-09-26%2018%3A30%3A26

*Lots* of new warnings like:
xlc_r -qmaxmem=33554432 -D_LARGE_FILES=1 -DRANDOMIZE_ALLOCATED_MEMORY -qnoansialias -g -O2 -qmaxmem=16384 -qsrcmsg -DFRONTEND -I../../src/include -I/home/nm/sw/nopath/icu58.2-32/include -I/home/nm/sw/nopath/libxml2-32/include/libxml2 -I/home/nm/sw/nopath/uuid-32/include -I/home/nm/sw/nopath/openldap-32/include -I/home/nm/sw/nopath/icu58.2-32/include -I/home/nm/sw/nopath/libxml2-32/include -DVAL_CONFIGURE="\"'--enable-cassert' '--enable-debug' '--enable-nls' '--enable-tap-tests' '--with-icu' '--with-ldap' '--with-libxml' '--with-libxslt' '--with-openssl' '--with-ossp-uuid' '--with-perl' '--with-python' '--with-includes=/home/nm/sw/nopath/uuid-32/include /home/nm/sw/nopath/openldap-32/include /home/nm/sw/nopath/icu58.2-32/include /home/nm/sw/nopath/libxml2-32/include' '--with-libraries=/home/nm/sw/nopath/uuid-32/lib /home/nm/sw/nopath/openldap-32/lib /home/nm/sw/nopath/icu58.2-32/lib /home/nm/sw/nopath/libxml2-32/lib' '--with-tcl' '--prefix=/home/nm/farm/xlc32/HEAD/inst' '--with-pgport=7678' 'CC=xlc_r -qmaxmem=33554432 -D_LARGE_FILES=1 -DRANDOMIZE_ALLOCATED_MEMORY' 'PKG_CONFIG_PATH=/home/nm/sw/nopath/icu58.2-32/lib/pkgconfig'\"" -DVAL_CC="\"xlc_r -qmaxmem=33554432 -D_LARGE_FILES=1 -DRANDOMIZE_ALLOCATED_MEMORY\"" -DVAL_CPPFLAGS="\"-I/home/nm/sw/nopath/icu58.2-32/include -I/home/nm/sw/nopath/libxml2-32/include/libxml2 -I/home/nm/sw/nopath/uuid-32/include -I/home/nm/sw/nopath/openldap-32/include -I/home/nm/sw/nopath/icu58.2-32/include -I/home/nm/sw/nopath/libxml2-32/include\"" -DVAL_CFLAGS="\"-qnoansialias -g -O2 -qmaxmem=16384 -qsrcmsg\"" -DVAL_CFLAGS_SL="\"\"" -DVAL_LDFLAGS="\"-L/home/nm/sw/nopath/libxml2-32/lib -L/home/nm/sw/nopath/uuid-32/lib -L/home/nm/sw/nopath/openldap-32/lib -L/home/nm/sw/nopath/icu58.2-32/lib -L/home/nm/sw/nopath/libxml2-32/lib -Wl,-blibpath:'/home/nm/farm/xlc32/HEAD/inst/lib:/home/nm/sw/nopath/libxml2-32/lib:/home/nm/sw/nopath/uuid-32/lib:/home/nm/sw/nopath/openldap-32/lib:/home/nm/sw/nopath/icu58.2-32/lib:/home/nm/sw/nopath/libxml2-32/lib:/usr/lib:/lib'\"" -DVAL_LDFLAGS_EX="\"\"" -DVAL_LDFLAGS_SL="\" -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE\"" -DVAL_LIBS="\"-lpgcommon -lpgport -lintl -lxslt -lxml2 -lssl -lcrypto -lz -lreadline -lm \"" -c -o base64.o base64.c
"../../src/include/common/fe_memutils.h", line 41.44: 1506-946 (W) Incorrect argument type specified for attribute "format"; this attribute is ignored.
"../../src/include/common/fe_memutils.h", line 42.80: 1506-946 (W)
Incorrect argument type specified for attribute "format"; this attribute
is ignored.

and then fails with:
xlc_r -qmaxmem=33554432 -D_LARGE_FILES=1 -DRANDOMIZE_ALLOCATED_MEMORY -qnoansialias -g -O2 -qmaxmem=16384 -qsrcmsg -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS -o libpq.so.5 libpq.a -Wl,-bE:libpq.exp -L../../../src/port -L../../../src/common -L/home/nm/sw/nopath/libxml2-32/lib -L/home/nm/sw/nopath/uuid-32/lib -L/home/nm/sw/nopath/openldap-32/lib -L/home/nm/sw/nopath/icu58.2-32/lib -L/home/nm/sw/nopath/libxml2-32/lib -Wl,-blibpath:'/home/nm/farm/xlc32/HEAD/inst/lib:/home/nm/sw/nopath/libxml2-32/lib:/home/nm/sw/nopath/uuid-32/lib:/home/nm/sw/nopath/openldap-32/lib:/home/nm/sw/nopath/icu58.2-32/lib:/home/nm/sw/nopath/libxml2-32/lib:/usr/lib:/lib' -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE -lintl -lssl -lcrypto -lldap_r -llber -lpthreads
ld: 0711-317 ERROR: Undefined symbol: ._isnan
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
../../../src/Makefile.shlib:339: recipe for target 'libpq.so.5' failed

but I think the latter is more likely to be caused by
2e2a392de3 Wed Sep 26 08:25:24 2018 UTC Fix problems in handling the line data type
rather than this thread.

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2018-09-26 19:13:12 Re: Allowing printf("%m") only where it actually works
Previous Message Andres Freund 2018-09-26 18:57:34 Re: Allowing printf("%m") only where it actually works