segfault from php/freebsd/dtrace

Oleg Ginzburg olevole at olevole.ru
Sun Jan 1 12:17:33 UTC 2012


On Saturday 31 December 2011 23:25:51 Ryan Stone wrote:
> On Thu, Dec 29, 2011 at 12:37 PM, Oleg Ginzburg <olevole at olevole.ru> wrote:
> > Hi maillist,
> > 
> > I try to use dtrace + php/dtrace on the freebsd. In certain cases ive get
> > Segmentation fault and don't understand what of subsystem has a problem.
> 
> Yes, Userland DTrace is unfortunately still very experimental at this
> point.  I've got a list of at least 10 outstanding bugs that I hope to
> start addressing early in the new year.
> 
> In your case, dtrace(1) and/or libproc does not clean up after itself
> properly in the case of an error.  

I can assume that it is:

--//Cut of /usr/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c//--
 if (fbsd_thread_active)
       {
         gdb_assert (proc_handle.pid == 0); <<   Here is 484 string mentioned 
by backtrace <<
         fbsd_thread_active = 0;
       }
---

related with the first process php which I start for providing php dtrace 
probes. Thanks to this process other code passes through php/dtrace and this 
process doesn't stop.

Last action by backtrace is:
#0  0x00000008021c6a37 in strlen () from /lib/libc.so.7

Unfortunately at the expense of DEBUG symbols, process have a bit more memory,
so this problem isn't present and i couldn't see value of variables in this 
place and whence it is caused.


> I'm not entirely sure what is
> causing the segfault in php, though.  Which version are you running?
> The output of uname -a would be helpful.

At the moment of test (on December, 23th) it there was last version 9-
RELENG/amd64 from SVN

%uname -a:
FreeBSD fbsd-strace.my.domain 9.0-PRERELEASE FreeBSD 9.0-PRERELEASE #0: Fri 
Dec 23 16:56:09 MSK 2011     root at t.my.domain:/usr/obj/usr/src/sys/G-DTRACE  
amd64

Kernel config:
%cat /sys/amd64/conf/G-DTRACE 
include GENERIC                                                                                                                                                 
ident           G-DTRACE                                                                                                                                        
                                                                                                                                                                
options KDTRACE_HOOKS        # all architectures - enable general DTrace hooks
options DDB_CTF              # all architectures - kernel ELF linker loads CTF 
data
options KDTRACE_FRAME        # amd64 - ensure frames are compiled in
makeoptions WITH_CTF=1
#nomakeoptions   DEBUG
#nooptions       COMPAT_FREEBSD4         # Compatible with FreeBSD4
#nooptions       COMPAT_FREEBSD5         # Compatible with FreeBSD5
#nooptions       COMPAT_FREEBSD6         # Compatible with FreeBSD6
#nooptions       COMPAT_FREEBSD7         # Compatible with FreeBSD7

%cat /etc/make.conf
WITH_CTF=1


> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"



More information about the freebsd-current mailing list