This is really weird, I found what's wrong, sorry for noise:
I installed original FreeBSD 7.1, added our pre-builded packages for
unbound and same thing, it hangs in umtxn.
I deleted all packages, portsnapped ports, installed unbound with
libevent and it just works 
And then I realized, that while 'make installing' unbound, it did not
fetched openssl dependency.
On our custom build FreeBSD release we use openssl from ports, bundled
openssl is only for geli and other base system stuff.
# ldd /usr/local/sbin/unbound (this not working)
/usr/local/sbin/unbound:
libssl.so.5 => /usr/local/lib/libssl.so.5 (0x8006b6000)
libcrypto.so.5 => /usr/local/lib/libcrypto.so.5 (0x800a20000)
# ldd /usr/local/sbin/unbound (this works okay)
/usr/local/sbin/unbound:
libssl.so.5 => /usr/lib/libssl.so.5 (0x8006b6000)
libcrypto.so.5 => /lib/libcrypto.so.5 (0x800a1e000)
I diffed configure output and found this:
--- bad.configure
+++ good.configure
-checking for SSL... found in /usr/local
+checking for SSL... found in /usr
-checking whether pthreads work without any flags... yes
+checking whether pthreads work without any flags... no
+checking whether pthreads work with -Kthread... no
+checking whether pthreads work with -kthread... no
+checking for the pthreads library -llthread... no
+checking whether pthreads work with -pthread... yes
-configure: running /bin/sh ./configure '--prefix=/usr/local'
'--with-ssl=/usr/local' '--with-libevent=/usr/local'
'--mandir=/usr/local/man' '--infodir=/usr/local/info/'
'--build=amd64-portbld-freebsd7.1'
'build_alias=amd64-portbld-freebsd7.1' 'CC=cc' 'CFLAGS=-O2
-fno-strict-aliasing -pipe' 'LDFLAGS= -rpath=/usr/local/lib'
--cache-file=/dev/null --srcdir=.
+configure: running /bin/sh ./configure '--prefix=/usr/local'
'--with-ssl=/usr' '--with-libevent=/usr/local'
'--mandir=/usr/local/man' '--infodir=/usr/local/info/'
'--build=amd64-portbld-freebsd7.1'
'build_alias=amd64-portbld-freebsd7.1' 'CC=cc' 'CFLAGS=-O2
-fno-strict-aliasing -pipe' 'LDFLAGS= -rpath=/usr/lib:/usr/local/lib'
--cache-file=/dev/null --srcdir=.
-checking for SSL... found in /usr/local
+checking for SSL... found in /usr
and in make output there was only include flag diffs:
--- bad.make
+++ good.make
- ... -I/usr/include -I/usr/local/include ...
+ ... -I/usr/local/include -I/usr/local/include ...
and I think this is wrong, include path should be -I/usr/local/include
-I/usr/include, but if I change this in ./Makefile and
ldns-src/Makefile, still it freeze.
btw I have openssl-0.9.8j.
I have no idea why it's freezing with openssl from ports.