[DTrace-devel] [PATCH v2 19/20] Implement a framework for D subroutines incl. strlen() implementation

Eugene Loh eugene.loh at oracle.com
Wed Jun 2 19:10:13 PDT 2021


Thanks.  Not sure you noticed, but while this new patch provides those 
guardrails against the core dumps, it also changes the error mode for a 
number of test/unittest/speculation/err.*.d tests. Those tests expect 
failures like "aggregating actions may not follow speculate( )", but 
we're getting "unimplemented subroutine: speculation".  The tests used 
to PASS, but I guess they were false positives.  We encountered the 
anticipated error, but without speculation we should not have gone that 
far.  These tests do not deserve to pass yet.  They had just been lucky 
so far.

tl/dr  I think the bottom line is that this patch needs to XFAIL the 
following tests:
test/unittest/speculation/err.D_ACT_SPEC.SpeculateWithBreakPoint.d
test/unittest/speculation/err.D_ACT_SPEC.SpeculateWithChill.d
test/unittest/speculation/err.D_ACT_SPEC.SpeculateWithPanic.d
test/unittest/speculation/err.D_ACT_SPEC.SpeculateWithRaise.d
       test/unittest/speculation/err.D_ACT_SPEC.SpeculateWithStop.d
       test/unittest/speculation/err.D_AGG_SPEC.SpeculateWithAvg.d
test/unittest/speculation/err.D_AGG_SPEC.SpeculateWithCount.d
test/unittest/speculation/err.D_AGG_SPEC.SpeculateWithLquant.d
       test/unittest/speculation/err.D_AGG_SPEC.SpeculateWithMax.d
       test/unittest/speculation/err.D_AGG_SPEC.SpeculateWithMin.d
test/unittest/speculation/err.D_AGG_SPEC.SpeculateWithQuant.d
       test/unittest/speculation/err.D_AGG_SPEC.SpeculateWithSum.d
       test/unittest/speculation/err.D_COMM_COMM.CommitAftCommit.d
       test/unittest/speculation/err.D_COMM_COMM.DisjointCommit.d
       test/unittest/speculation/err.D_COMM_DREC.CommitAftDataRec.d
       test/unittest/speculation/err.D_DREC_COMM.DataRecAftCommit.d
       test/unittest/speculation/err.D_DREC_COMM.ExitAfterCommit.d
       test/unittest/speculation/err.D_EXIT_SPEC.ExitAftSpec.d
       test/unittest/speculation/err.D_PROTO_LEN.SpecNoId.d
       test/unittest/speculation/err.D_SPEC_COMM.SpecAftCommit.d
       test/unittest/speculation/err.D_SPEC_DREC.SpecAftDataRec.d
       test/unittest/speculation/err.D_SPEC_SPEC.SpecAftSpec.d

On 6/2/21 4:08 PM, Kris Van Hees wrote:
> This patch provides the skeleton for the implementation of subroutines
> in D.  The strlen() subroutine is provided as a first example of how
> to imeplement subroutines.  It is equivalent to the implementation of
> D actions in the code generator.



More information about the DTrace-devel mailing list