* [PATCH 1/6] test: Skip tst.depth.sh
@ 2026-03-31 1:02 eugene.loh
2026-03-31 1:02 ` [PATCH 2/6] Simple typo in comment eugene.loh
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: eugene.loh @ 2026-03-31 1:02 UTC (permalink / raw)
To: dtrace, dtrace-devel
From: Eugene Loh <eugene.loh@oracle.com>
The test asks for very many pid probes. E.g.,
pid$target:::entry,
pid$target:::return,
pid$target:a.out::,
If it is successful, this can wreak havoc on some systems, in some cases
leading to 1-2 dozen subsequent tests failing due to cascading problems:
poor test clean up, triggers left running, persistent loads, pid=0 not
running, tests timing out, and so on. These problems require
investigation.
For now, skip the precipitating test.
See
https://oss.oracle.com/pipermail/dtrace-devel/2025-November/006916.html
Incidentally, there are similar issues for
* test/unittest/pid/err.D_PROC_CREATEFAIL.many.d
but this test is already marked SKIP, apparently for the same reason.
See commit d9423bd79
("err.D_PROC_CREATEFAIL.many.d causes failures in subsequent tests").
The current patch simply seeks to apply the same SKIP to another test.
* test/demo/user/userfunc.d
but this test is marked XFAIL since it needs a trigger
All three tests should be resolved when the underlying problem is
tackled.
Orabug: 38642080
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
---
test/unittest/ustack/tst.depth.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/unittest/ustack/tst.depth.sh b/test/unittest/ustack/tst.depth.sh
index dec16a3aa..4a67291de 100755
--- a/test/unittest/ustack/tst.depth.sh
+++ b/test/unittest/ustack/tst.depth.sh
@@ -1,10 +1,10 @@
#!/bin/bash
#
# Oracle Linux DTrace.
-# Copyright (c) 2006, 2020, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2025, Oracle and/or its affiliates. All rights reserved.
# Licensed under the Universal Permissive License v 1.0 as shown at
# http://oss.oracle.com/licenses/upl.
-# @@xfail: dtv2
+# @@skip
if [ $# != 1 ]; then
echo expected one argument: '<'dtrace-path'>'
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/6] Simple typo in comment
2026-03-31 1:02 [PATCH 1/6] test: Skip tst.depth.sh eugene.loh
@ 2026-03-31 1:02 ` eugene.loh
2026-03-31 1:02 ` [PATCH 3/6] Check if the BPF PROG_LOAD is either -1 or else non-negative eugene.loh
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: eugene.loh @ 2026-03-31 1:02 UTC (permalink / raw)
To: dtrace, dtrace-devel
From: Eugene Loh <eugene.loh@oracle.com>
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
---
libdtrace/dt_probe.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libdtrace/dt_probe.h b/libdtrace/dt_probe.h
index 54053cd3d..73b15553a 100644
--- a/libdtrace/dt_probe.h
+++ b/libdtrace/dt_probe.h
@@ -33,7 +33,7 @@ typedef struct dt_probe_instance {
typedef struct dt_probe {
dt_list_t list; /* prev/next in enablings chain */
dt_list_t stmts; /* stmts */
- dt_list_t dependents; /* dependenct probes to attach */
+ dt_list_t dependents; /* dependent probes to attach */
const dtrace_probedesc_t *desc; /* probe description (id, name) */
dt_provider_t *prov; /* pointer to containing provider */
struct dt_hentry he_prv; /* provider name htab links */
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 3/6] Check if the BPF PROG_LOAD is either -1 or else non-negative
2026-03-31 1:02 [PATCH 1/6] test: Skip tst.depth.sh eugene.loh
2026-03-31 1:02 ` [PATCH 2/6] Simple typo in comment eugene.loh
@ 2026-03-31 1:02 ` eugene.loh
2026-03-31 1:02 ` [PATCH 4/6] test: Remove unnecessary "destructive" pragma eugene.loh
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: eugene.loh @ 2026-03-31 1:02 UTC (permalink / raw)
To: dtrace, dtrace-devel
From: Eugene Loh <eugene.loh@oracle.com>
The return value is supposed to be -1 or non-negative. The current
check lumps 0 with -1.
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
---
libdtrace/dt_bpf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libdtrace/dt_bpf.c b/libdtrace/dt_bpf.c
index fb66bd93b..c328f5100 100644
--- a/libdtrace/dt_bpf.c
+++ b/libdtrace/dt_bpf.c
@@ -428,7 +428,7 @@ have_helper(uint32_t func_id)
/* If the program loads, we can use the helper. */
fd = dt_bpf_prog_attach(BPF_PROG_TYPE_KPROBE, 0, 0, 0, &dp,
1, log, DT_BPF_LOG_SIZE_SMALL);
- if (fd > 0) {
+ if (fd >= 0) {
close(fd);
return 1;
}
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 4/6] test: Remove unnecessary "destructive" pragma
2026-03-31 1:02 [PATCH 1/6] test: Skip tst.depth.sh eugene.loh
2026-03-31 1:02 ` [PATCH 2/6] Simple typo in comment eugene.loh
2026-03-31 1:02 ` [PATCH 3/6] Check if the BPF PROG_LOAD is either -1 or else non-negative eugene.loh
@ 2026-03-31 1:02 ` eugene.loh
2026-03-31 1:02 ` [PATCH 5/6] Possible uninitialized 'last' variable in usdt_copyin_data() eugene.loh
2026-03-31 1:02 ` [PATCH 6/6] test: Check declaration (without init) inside a probe eugene.loh
4 siblings, 0 replies; 6+ messages in thread
From: eugene.loh @ 2026-03-31 1:02 UTC (permalink / raw)
To: dtrace, dtrace-devel
From: Eugene Loh <eugene.loh@oracle.com>
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
---
test/unittest/sched/tst.oncpu.d | 1 -
1 file changed, 1 deletion(-)
diff --git a/test/unittest/sched/tst.oncpu.d b/test/unittest/sched/tst.oncpu.d
index 7a33bab4f..65bb313f0 100644
--- a/test/unittest/sched/tst.oncpu.d
+++ b/test/unittest/sched/tst.oncpu.d
@@ -8,7 +8,6 @@
/* @@timeout: 15 */
#pragma D option switchrate=100hz
-#pragma D option destructive
sched:::on-cpu
/pid == $pid/
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 5/6] Possible uninitialized 'last' variable in usdt_copyin_data()
2026-03-31 1:02 [PATCH 1/6] test: Skip tst.depth.sh eugene.loh
` (2 preceding siblings ...)
2026-03-31 1:02 ` [PATCH 4/6] test: Remove unnecessary "destructive" pragma eugene.loh
@ 2026-03-31 1:02 ` eugene.loh
2026-03-31 1:02 ` [PATCH 6/6] test: Check declaration (without init) inside a probe eugene.loh
4 siblings, 0 replies; 6+ messages in thread
From: eugene.loh @ 2026-03-31 1:02 UTC (permalink / raw)
To: dtrace, dtrace-devel
From: Eugene Loh <eugene.loh@oracle.com>
Some compilers warn:
libcommon/usdt_parser.c: In function ‘usdt_copyin_data’:
libcommon/usdt_parser.c:191:15: warning:
‘last’ may be used uninitialized in this function [-Wmaybe-uninitialized]
last->next = blk;
~~~~~~~~~~~^~~~~
Change the "if" check to make it easier for compilers to recognize
that "last" will be initialized (and non-NULL even!).
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
---
libcommon/usdt_parser.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libcommon/usdt_parser.c b/libcommon/usdt_parser.c
index 864198098..d8cb9b7ba 100644
--- a/libcommon/usdt_parser.c
+++ b/libcommon/usdt_parser.c
@@ -163,7 +163,7 @@ usdt_destroy_data(usdt_data_t *data)
usdt_data_t *
usdt_copyin_data(int in, int out, int *ok)
{
- usdt_data_t *first = NULL, *last;
+ usdt_data_t *first = NULL, *last = NULL;
size_t cnt;
*ok = 1;
@@ -185,7 +185,7 @@ usdt_copyin_data(int in, int out, int *ok)
if ((blk = usdt_copyin_block(in, out, ok)) == NULL)
goto err;
- if (first == NULL)
+ if (last == NULL)
first = last = blk;
else {
last->next = blk;
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 6/6] test: Check declaration (without init) inside a probe
2026-03-31 1:02 [PATCH 1/6] test: Skip tst.depth.sh eugene.loh
` (3 preceding siblings ...)
2026-03-31 1:02 ` [PATCH 5/6] Possible uninitialized 'last' variable in usdt_copyin_data() eugene.loh
@ 2026-03-31 1:02 ` eugene.loh
4 siblings, 0 replies; 6+ messages in thread
From: eugene.loh @ 2026-03-31 1:02 UTC (permalink / raw)
To: dtrace, dtrace-devel
From: Eugene Loh <eugene.loh@oracle.com>
We test that declaration (with init) of a variable inside a probe is not
allowed.
Check also that declaration without init inside a probe is also
forbidden.
The related test/unittest/probes/err.D_SYNTAX/err.D_SYNTAX.declare*.d
tests are left alone.
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
---
.../scalars/err.D_SYNTAX.declare-init.d | 20 +++++++++++++++++++
test/unittest/scalars/err.D_SYNTAX.declare.d | 4 ++--
2 files changed, 22 insertions(+), 2 deletions(-)
create mode 100644 test/unittest/scalars/err.D_SYNTAX.declare-init.d
diff --git a/test/unittest/scalars/err.D_SYNTAX.declare-init.d b/test/unittest/scalars/err.D_SYNTAX.declare-init.d
new file mode 100644
index 000000000..fd8dca6c0
--- /dev/null
+++ b/test/unittest/scalars/err.D_SYNTAX.declare-init.d
@@ -0,0 +1,20 @@
+/*
+ * Oracle Linux DTrace.
+ * Copyright (c) 2006, 2026, Oracle and/or its affiliates. All rights reserved.
+ * Licensed under the Universal Permissive License v 1.0 as shown at
+ * http://oss.oracle.com/licenses/upl.
+ */
+
+/*
+ * ASSERTION:
+ *
+ * Declare and init a variable Inside Begin and make sure compilation fails.
+ *
+ * SECTION: Variables/Scalar Variables
+ *
+ */
+
+BEGIN
+{
+ int x = 123;
+}
diff --git a/test/unittest/scalars/err.D_SYNTAX.declare.d b/test/unittest/scalars/err.D_SYNTAX.declare.d
index f5b2ea914..b26acd04a 100644
--- a/test/unittest/scalars/err.D_SYNTAX.declare.d
+++ b/test/unittest/scalars/err.D_SYNTAX.declare.d
@@ -1,6 +1,6 @@
/*
* Oracle Linux DTrace.
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2026, Oracle and/or its affiliates. All rights reserved.
* Licensed under the Universal Permissive License v 1.0 as shown at
* http://oss.oracle.com/licenses/upl.
*/
@@ -16,5 +16,5 @@
BEGIN
{
- int x = 123;
+ int x;
}
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-03-31 1:38 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-31 1:02 [PATCH 1/6] test: Skip tst.depth.sh eugene.loh
2026-03-31 1:02 ` [PATCH 2/6] Simple typo in comment eugene.loh
2026-03-31 1:02 ` [PATCH 3/6] Check if the BPF PROG_LOAD is either -1 or else non-negative eugene.loh
2026-03-31 1:02 ` [PATCH 4/6] test: Remove unnecessary "destructive" pragma eugene.loh
2026-03-31 1:02 ` [PATCH 5/6] Possible uninitialized 'last' variable in usdt_copyin_data() eugene.loh
2026-03-31 1:02 ` [PATCH 6/6] test: Check declaration (without init) inside a probe eugene.loh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox