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

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Sun Feb 2 03:31:22 PST 2020


Issue #3221 has been updated by yellowrabbit2010.



v5.7.0-1344-g3af807019f

Since it seems like some of the crashes are related to tp->mags[0].prev, I tried to set a watchpoint for this field. I don’t know how well it turned out. If I did something wrong, then correct me.
I built libc and dntpd (yeah, this is another program that breaks, I just did not notice it because it starts) with debug information.

======================================================
Reading symbols from /usr/sbin/dntpd...done.
(gdb) startx
Undefined command: "startx".  Try "help".
(gdb) start
Temporary breakpoint 1 at 0x401b10: file /usr/src/usr.sbin/dntpd/main.c, line 65.
Starting program: /usr/sbin/dntpd

Temporary breakpoint 1, main (ac=1, av=0x7fffffdfd660)
    at /usr/src/usr.sbin/dntpd/main.c:65
65          int test_opt = 0;
(gdb) break mtmagazine_alloc
Breakpoint 2 at 0x800539f0b: file /usr/src/lib/libc/../libc/stdlib/nmalloc.c, line 1682.
(gdb) cont
Continuing.

Breakpoint 2, mtmagazine_alloc (zi=4, flags=0)
    at /usr/src/lib/libc/../libc/stdlib/nmalloc.c:1682
1682            tp = &thread_mags;
(gdb) n
1683            if (tp->init < 0)
(gdb) p tp->mags
$1 = {{loaded = 0x0, prev = 0x0} <repeats 72 times>}
(gdb) p tp->mags[0]
$2 = {loaded = 0x0, prev = 0x0}
(gdb) p tp->mags[0].prev
$3 = (struct magazine *) 0x0
(gdb) p &tp->mags[0].prev
$4 = (struct magazine **) 0x80067c508
(gdb) watch *0x80067c508
Hardware watchpoint 3: *0x80067c508
(gdb) cont
Continuing.

Breakpoint 2, mtmagazine_alloc (zi=55, flags=5)
    at /usr/src/lib/libc/../libc/stdlib/nmalloc.c:1682
1682            tp = &thread_mags;
(gdb)
Continuing.
Hardware watchpoint 3: *0x80067c508

Old value = 0
New value = -2109017
__strtok_r (s=0x7fffffdfd1a7 "0.dragonfly.pool.ntp.org\n",
    delim=0x40613f " \t\r\n", last=0x80067c508)
    at /usr/src/lib/libc/../libc/string/strtok.c:93
93                                      return (tok);
(gdb)
======================================

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

* 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