Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Apr 2014 09:23:59 +0800
From:      Jov <amutu@amutu.com>
To:        FreeBSD questions <questions@freebsd.org>
Cc:        =?KOI8-R?B?68/O09TBztTJziDrzsnWzsnL?= <knizhnik@garret.ru>
Subject:   PostgreSQL hang On FreeBSD,with CFLAGS='-O2 -pthread' workaround
Message-ID:  <CADyrUxOXvh2yqq9Q9hGGO4fMKE1o=uw9ysiOiagMObQQYY9q_A@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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?

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>;



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