[Bug 217138] head (e.g.) -r313864 for arm64: sh vs. jemalloc asserts: include/jemalloc/internal/tsd.h:687: Failed assertion: "tsd_booted" once swapped in after being swapped out (comment 10)
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Feb 28 02:53:20 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217138
Mark Millard <markmi at dsl-only.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|head (e.g.) -r313864 for |head (e.g.) -r313864 for
|arm64: sh vs. jemalloc |arm64: sh vs. jemalloc
|asserts: |asserts:
|include/jemalloc/internal/t |include/jemalloc/internal/t
|sd.h:687: Failed assertion: |sd.h:687: Failed assertion:
|"tsd_booted" |"tsd_booted" once swapped
| |in after being swapped out
| |(comment 10)
--- Comment #10 from Mark Millard <markmi at dsl-only.net> ---
I've reduced the testing context to the following
type of example (no longer involving buildworld
buildkernel):
# sh
# sh
# sh
. . .
# sh
(So a bunch of nested sh's in an ssh session that
will mostly be swapped out. I happened to have
done this under 2 users for the example material
below: on I did an su first. Plus I had another
session without such a nesting but with an su.)
After forcing these to mostly swap out (see below)
I use ^D to exit a currently interactive one. Then
the rest of the swapped out ones from the nesting
get the tsd_booted failure.
So, for example:
# stress -m 1 --vm-bytes 1536M
The context is a PINE64+ with 2GB of RAM. The above
was enough in my context to cause the needed swapouts:
# ps -aOuser,flags
PID USER F TT STAT TIME COMMAND
688 root 4102 u0 IWs 0:00.00 login [pam] (login)
689 root 10004002 u0 I+ 0:00.06 -sh (sh)
72611 markmi 4002 0 IWs 0:00.00 -sh (sh)
72613 markmi 4002 0 IW 0:00.00 sh
72614 markmi 4002 0 IW 0:00.00 sh
72615 markmi 4002 0 IW 0:00.00 sh
72616 markmi 4002 0 IW 0:00.00 sh
72617 markmi 4002 0 IW 0:00.00 sh
72618 markmi 4002 0 IW 0:00.00 sh
72619 markmi 4002 0 IW 0:00.00 sh
72620 markmi 4002 0 IW 0:00.00 sh
72621 markmi 4002 0 IW 0:00.00 sh
72622 markmi 4002 0 IW 0:00.00 sh
72623 markmi 4002 0 IW 0:00.00 sh
72624 markmi 4002 0 IW 0:00.00 sh
72625 markmi 4002 0 IW 0:00.00 sh
72626 markmi 10004002 0 I+ 0:00.01 sh
167 markmi 4002 1 IWs 0:00.00 -sh (sh)
169 root 4102 1 IW 0:00.00 su
170 root 4002 1 IW 0:00.00 su (sh)
171 root 4002 1 IW 0:00.00 sh
172 root 4002 1 IW 0:00.00 sh
173 root 4002 1 IW 0:00.00 sh
174 root 4002 1 IW 0:00.00 sh
175 root 4002 1 IW 0:00.00 sh
176 root 4002 1 IW 0:00.00 sh
177 root 4002 1 IW 0:00.00 sh
178 root 4002 1 IW 0:00.00 sh
179 root 10004002 1 I+ 0:00.01 sh
60961 root 4002 2 IW 0:00.00 stress -m 1 --vm-bytes 1536M
60962 root 10000002 2 R 0:29.41 stress -m 1 --vm-bytes 1536M
60964 root 10004002 2 R+ 0:00.01 ps -aOuser,flags
82389 markmi 4002 2 IWs 0:00.00 -sh (sh)
82391 root 4102 2 IW 0:00.00 su
82392 root 10004002 2 S 0:00.22 su (sh)
So with that swapped out context established:
(The markmi user case:)
$ ^D<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
(The su'd user case:)
# ^D<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
The one without the deeply nested sh's (but an su):
# exit
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
Failed assertion: "tsd_booted"
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the freebsd-amd64
mailing list