[DragonFlyBSD - Bug #3221] Assertions hit in the mtmagazine.

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Mon Feb 3 00:24:17 PST 2020


Issue #3221 has been updated by yellowrabbit2010.


Continuation of the debugging session (another computer). In short: variable last (lib/libc/string/strtok.c:111) defined as
--- 
static __thread char *last TLS_ATTRIBUTE;
---
has same runtime address (0x80067c508) as thread_mags.mags[0].prev defined as
--- lib/libc/stdlib/nmalloc.c:327 
static __thread thr_mags thread_mags TLS_ATTRIBUTE;
---

The last thing I have to try is to make a flash drive with dfly-x86_64-5.6.2 completely from scratch, update it to the master and check that the dntpd does not die silently.

====================================================================
(gdb) bt
#0  __strtok_r (s=0x7fffffdfd617 "0.dragonfly.pool.ntp.org\n",
    delim=0x406124 " \t\r\n", last=0x80067c508)
    at /usr/src/lib/libc/../libc/string/strtok.c:93
#1  0x00000008004f34cd in strtok (s=0x7fffffdfd610 "server",
    delim=0x406124 " \t\r\n") at /usr/src/lib/libc/../libc/string/strtok.c:113
#2  0x0000000000402627 in process_config_file (
    path=0x405af8 "/etc/dntpd.conf") at main.c:417
#3  0x0000000000401f48 in main (ac=1, av=0x7fffffdfdad8) at main.c:198
(gdb)
(gdb) list
88                                      if (c == 0)
89                                              s = NULL;
90                                      else
91                                              s[-1] = '\0';
92                                      *last = s;
93                                      return (tok);
94                              }
95                      } while (sc != 0);
96              }
97              /* NOTREACHED */
(gdb) p last
$5 = (char ** restrict) 0x80067c508
(gdb) cont
Continuing.
Hardware watchpoint 3: *0x80067c508
Old value = -2107881
New value = -2107856
__strtok_r (s=0x7fffffdfd630 "", delim=0x406124 " \t\r\n", last=0x80067c508)
    at /usr/src/lib/libc/../libc/string/strtok.c:93
93                                      return (tok);
(gdb) cont
Continuing.
Breakpoint 2, mtmagazine_alloc (zi=15, flags=0)
    at /usr/src/lib/libc/../libc/stdlib/nmalloc.c:1683
1683            if (tp->init < 0)
(gdb) p tp
$6 = (thr_mags *) 0x80067c500
(gdb) p tp->mags
$7 = {{loaded = 0x0, prev = 0x7fffffdfd630}, {loaded = 0x0, prev = 0x0}, {
    loaded = 0x0, prev = 0x0}, {loaded = 0x0, prev = 0x0}, {
    loaded = 0x8006b1000, prev = 0x0}, {loaded = 0x0,
    prev = 0x0} <repeats 67 times>}
(gdb)
==================================================================

----------------------------------------
Bug #3221: Assertions hit in the mtmagazine. 
http://bugs.dragonflybsd.org/issues/3221#change-13848

* Author: yellowrabbit2010
* Status: New
* Priority: Normal
* Assignee: 
* Category: Other
* Target version: 
----------------------------------------


Hello,
Sorry that I can’t figure out the exact sequence when this happens, the process looks random. And I can work in the same gimp for half a day and not encounter this error, and sometimes I can’t even start it.
I can compile the package, in this case textproc/groff:
================
/bin/mkdir -p ./tmac
sed -e "s;[@]PNMTOPS_NOSETPAGE[@];pnmtops;g" \
  ./tmac/www.tmac.in > ./tmac/www.tmac
/bin/mkdir -p `dirname doc/webpage.ps` \
&& LANG=C LC_ALL=C sed -e "s;[@]VERSION[@];1.22.4;" doc/webpage.ms | GROFF_COMMAND_PREFIX= GROFF_BIN_PATH="/usr/obj/dports/textproc/groff/groff-1.22.4" /usr/obj/dports/textproc/groff/groff-1.22.4/groff -I/usr/obj/dports/textproc/groff/groff-1.22.4 -M /usr/obj/dports/textproc/groff/groff-1.22.4/doc -M/usr/obj/dports/textproc/groff/groff-1.22.4/tmac -M/usr/obj/dports/textproc/groff/groff-1.22.4/tmac -F/usr/obj/dports/textproc/groff/groff-1.22.4/font -F/usr/obj/dports/textproc/groff/groff-1.22.4/font -Upet -ww  -Tps -ms -mwww >doc/webpage.ps
assertion: mp->rounds != 0 in mtmagazine_alloc
gmake[2]: *** [Makefile:11742: doc/webpage.ps] Error 1
gmake[2]: Leaving directory '/usr/obj/dports/textproc/groff/groff-1.22.4'
gmake[1]: *** [Makefile:5600: all] Error 2
gmake[1]: Leaving directory '/usr/obj/dports/textproc/groff/groff-1.22.4'
*** Error code 1

Stop.
make: stopped in /usr/dports/textproc/groff
fly#
================

or i can just try to run gimp
================
rabbit at fly /usr/src% gimp
assertion: MAGAZINE_NOTFULL(mp) in mtmagazine_free
gimp: terminated: Terminated
================

I'm at the master branch, commit d0e99d5ddb6a001850be2dff41813e1cad00b5af.





-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account



More information about the Bugs mailing list