Hi Ash: I don't seem to be able to reproduce the problem from your description. Could you publish your script here?
Thanks! — Domagoj > On 13 Jul 2018, at 19:54, Ash Gokhale <[email protected]> wrote: > > While developing a long dtrace script; I seem to be tripping over a > compiler bug. I can tickle the bug by using this in a predicate / > self->thing_var != "" / one too many times. Although I use that exact > construction many times. Changing the probe , or even providing an invalid > probe does not change the crash. Commenting out the predicate saves the > compile. Comparing self->var to an integer compiles ok, ( while not really > making sense in the context). The compiler will segv when asked to produce > the IR via 'dtrace -S -ls srcipt.dt' > Efforts to reproduce the crash with a reduced dtrace file have been futile > and the system is sufficiently custom that sharing the script may not be > useful. > > Has anyone else seen this crash? Has anyone noticed arbitrary size limit on > dtrace scripts? > > [New LWP 103111] > Core was generated by `dtrace -v -s drive-lifecycle.dt'. > Program terminated with signal SIGSEGV, Segmentation fault. > #0 0x0000000800cf5910 in strchr () from /lib/libc.so.7 > > Thread 1 (LWP 103111): > #0 0x0000000800cf5910 in strchr () from /lib/libc.so.7 > #1 0x000000080090999f in ctf_lookup_by_name (fp=<optimized out>, > name=<optimized out>) at > /usr/src/cddl/contrib/opensolaris/common/ctf/ctf_lookup.c:138 > #2 0x00000008006b8716 in dtrace_lookup_by_type (dtp=0x801644000, > object=<optimized out>, name=0x803bc8010 "str", tip=<optimized out>) at > /usr/src/cddl/contrib > /opensolaris/lib/libdtrace/common/dt_module.c:1639 > #3 0x000000080069c0ce in id_or_type (s=0x803bc8010 "str") at > /usr/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l:775 > #4 0x00000008006ade05 in yyparse () at dt_grammar.c:1388 > #5 0x00000008006a973f in dt_compile (dtp=<optimized out>, context=363, > pspec=DTRACE_PROBESPEC_NAME, arg=0x0, cflags=0, argc=1, argv=0x80064c000, > fp=<optimized > out>, s=0x0) at > /usr/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c:2457 > #6 0x00000008006aaf90 in dtrace_program_fcompile (dtp=0x803bc8fff, > fp=0x803bc8010, cflags=114, argc=-2139062144, argv=0x3) at > /usr/src/cddl/contrib/opensolari > s/lib/libdtrace/common/dt_cc.c:2594 > #7 0x000000000040493f in compile_file (dcp=0x801638180) at > /usr/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c:805 > #8 0x000000000040311e in main (argc=4, argv=<optimized out>) at > /usr/src/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c:1725 > _______________________________________________ > [email protected] mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-dtrace > To unsubscribe, send any mail to "[email protected]"
signature.asc
Description: Message signed with OpenPGP
