Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Apr 2014 17:39:48 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Jov <amutu@amutu.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Fwd: PostgreSQL hang On FreeBSD, with CFLAGS='-O2 -pthread' workaround
Message-ID:  <20140416143948.GS4016@kib.kiev.ua>
In-Reply-To: <CADyrUxOA5VW=tdbeicg7xH78YqMxLZYPPnYONSSOuZp1nPS=Fg@mail.gmail.com>
References:  <CADyrUxOXvh2yqq9Q9hGGO4fMKE1o=uw9ysiOiagMObQQYY9q_A@mail.gmail.com> <CADyrUxOA5VW=tdbeicg7xH78YqMxLZYPPnYONSSOuZp1nPS=Fg@mail.gmail.com>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
On Wed, Apr 16, 2014 at 11:12:52AM +0800, Jov wrote:
> move to hacker' list
> 
> this is postgresql thread about this topic:
> http://www.postgresql.org/message-id/11613.1397526760@sss.pgh.pa.us
> 
> Jov
> blog: http:amutu.com/blog <http://amutu.com/blog>;
> 
> 
> ---------- Forwarded message ----------
> From: Jov <amutu@amutu.com>
> Date: 2014-04-15 9:23 GMT+08:00
> Subject: PostgreSQL hang On FreeBSD,with CFLAGS='-O2 -pthread' workaround
> To: FreeBSD questions <questions@freebsd.org>
> Cc: Константин Книжник <knizhnik@garret.ru>
> 
> 
> hi~ FreeBSD hackers,
> I find some problems when use pg on FreeBSD.On FreeBSD,If installed
> extension which pthread  lib is used,for example plv8,pljava,imcs etc,when
> query touch these extenstions,the PG backend will hang.
> 
> there is a solution,which configure postgresql with CFLAGS='-O2 -pthread'
> and compile pg from source ,then install the extension.But this solution is
> not offical documented and not easy to use(you must compile pg from
> source).It  may make some extension developers or user waste much time to
> solve it,and make people complain that PG or FreeBSD not stable.
> 
> knizhnik has some insight:
> 
> > Actually I have already reproduced the problem with my lockbench test. It
> > work when build as application with -pthread, but doesn't work if it built
> > as shared library and loaded from application built without -pthread.
> > Unfortunately I do not know other solution rather than rebuilt PostgreSQL
> > with pthread. Sorry, that I have not informed you about my investigations
> > and thank you for your help. I also run this test at OS/X - there is no
> > such problem.
> 
> 
> this is the ldd output:
> [jovz@ ~]$ ldd pgsql_pthread/bin/postgres
> pgsql/bin/postgres:
> libm.so.5 => /lib/libm.so.5 (0x800cd1000)
>  libthr.so.3 => /lib/libthr.so.3 (0x800ef7000)
> libc.so.7 => /lib/libc.so.7 (0x80111c000)
> [jovz@ ~]$ ldd pgsql934/bin/postgres
> pgsql934/bin/postgres:
>  libm.so.5 => /lib/libm.so.5 (0x800cd1000)
> libc.so.7 => /lib/libc.so.7 (0x800ef7000)
> 
> the output make me remember some talk about sshd Zombie recently, which
> something aoubt libc and libthr.
> 
> is this a known problem with FreeBSD pthread implement?
Yes, this is a known issue, libthr.so cannot be loaded dynamically.
If the binary could load any dso which is linked with libpthread,
threading library must be linked to the binary.

I tried to mark it as -z nodlopen some time ago, but it caused too much
complains.

> 
> ref:
> http://www.postgresql.org/message-id/534785D2.6050105@matrix.gatewaynet.com
> 
> https://github.com/knizhnik/imcs/issues/25
> 
> http://code.google.com/p/plv8js/issues/detail?id=34
> 
> Jov
> blog: http:amutu.com/blog <http://amutu.com/blog>;
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBAgAGBQJTTpY0AAoJEJDCuSvBvK1BFYsP/Ag7CaOkBP/CXtxWVr57gs6Q
e06IyTboiDBGk9oFswBmvF6efobbWHeB8VO+U0f+yiD7ljF731js7Cpi1S3kPMxw
85z+n6pyKe7PRdWHjB6/7ZnAKXPGc+AlMJ65aVDTXI3YwVJfdMym4sozM3dY05dT
fCEUV8EO6gShvxP0dU/SK1Z7VJ7lGUmHueR+UZdyxTGWyIUJGriwx8A20uCJMtym
+4aSk3oKk1GQkGkBx8ZhvoAbSkBo2DeyqMBuZPxhlWlMe+Wt66AUNwlnfskCuO80
qSe6R6ZtWqxCvLfSSCgcpTspr8wAUKLHg1OaMoee1KaeDMw0HpLIR0Qxb9SmpF0S
oT1ZbI56YsBFzAmeaon0WC2fei82rFnD1fueqacvsyMq2ucUeVY52lVy/Kk5FRjr
oMfkj0BXakuQBXVMZI9l4Uhv8DncjesMGVJVaHfDrZ7Qq9DK1o99oGI4DUHQ9h4C
NfK+JH7IjKZWzcCrKG2Y6FPkxE/ZlDSk7Hs0jux5h5CaNEuDWAwO6kebEezf9N3p
p6HudfDpFMmZg8SVQ7mgaoATnpKn2m1bFL6uWOPJuJPaDncfYOEBzAO3hzAkM/un
FQZ52vK0JMY1BboSFuV47xyKrNyLv3qDT2ruPMIwZDguOJWk9Z+70TTkIYZrXbe2
+0Gp3FIdk/j0z0cdvSzA
=WXYh
-----END PGP SIGNATURE-----
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140416143948.GS4016>