Project

General

Profile

Actions

Bug #2417

closed

i386-only failure involving nmalloc (ZALLOC_SLAB_MAGIC assert)

Added by marino over 11 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
09/01/2012
Due date:
% Done:

0%

Estimated time:

Description

The yamcha tools build on both platforms. However, they only work on x86_64.
When the yamcha tool pkemine tries to generate a file for cabocha on i386, it core dumps:

#0 _slabfree (ptr=<optimized out>, flags=<optimized out>, rbigp=0x0)
at /usr/src/lib/libc/../libc/stdlib/nmalloc.c:1165
1165 MASSERT;

The 4-frame backtrace is here:
http://leaf.dragonflybsd.org/~marino/yamcha/gdb.txt

The i386 pkemine executable is here:
http://leaf.dragonflybsd.org/~marino/yamcha/pkemine

A packed coredump is here:
http://leaf.dragonflybsd.org/~marino/yamcha/pkemine.core.txz

The two platforms have different malloc implementations. Why is i386's implementation dumping why x86_64's is happy?

Actions #1

Updated by marino over 11 years ago

I forgot, here's the pkemine source file:
http://leaf.dragonflybsd.org/~marino/yamcha/pkemine.cpp

Actions #2

Updated by vsrinivas over 11 years ago

How do you run the pkemine tool such that it causes the assert to be hit?

Actions #3

Updated by marino over 11 years ago

Try building textproc/cabocha.
It uses the tools from textproc/yamcha during its build. The input files that cause the coredump are coming from that.

Actions #4

Updated by vsrinivas over 11 years ago

When I try to build textproc/cabocha, I get a build failure as follows:

/usr/pkg/libexec/yamcha/mkmodel -e CRL-IREX-ne.txtmodel CRL-IREX-ne.model
Reading TEXT model: CRL-IREX-ne.txtmodel
..................................................................................
Writing BINARY model: CRL-IREX-ne.model
Making Double-Array: 100% |*******************************************|
Making TRIE : 100% |*******************************************|
Done!
rm -f CRL-IREX-ne.txtmodel
/usr/bin/gzcat IPA-chunker.txtmodel.gz | cat > IPA-chunker.txtmodel
/usr/pkg/libexec/yamcha/mkmodel -e IPA-chunker.txtmodel IPA-chunker.model
Reading TEXT model: IPA-chunker.txtmodel
........................
Writing BINARY model: IPA-chunker.model
Making Double-Array: 100% |*******************************************|
Use of uninitialized value $PKE::tsize in addition (+) at /usr/pkg/libexec/yamcha/PKE.pm line 160.
Use of uninitialized value $hlist4 in pack at /usr/pkg/libexec/yamcha/mkmodel line 182.
No such file or directory: IPA-chunker.model.trie
gmake2: * [IPA-chunker.model] Error 2
gmake2: Leaving directory `/usr/pkgsrc/textproc/cabocha/work/cabocha-0.53/model'
gmake1:
[all-recursive] Error 1
gmake1: Leaving directory `/usr/pkgsrc/textproc/cabocha/work/cabocha-0.53'
gmake: *
* [all] Error 2
  • Error code 2

Can you give me example files or a command line for pkemine that cause it to crash?

Actions #5

Updated by marino over 11 years ago

No, I don't have a command example.
The error you posted is what I get. The missing *.trie file is caused by a pkemine segfault; the file is never created.

However, if one dissects the Makefile, one could determine what command and what input pkemine is being given. I haven't done it. I was hoping the core dump would be sufficient.

Actions #6

Updated by marino over 11 years ago

  • Status changed from New to Closed

NOT-A-BUG

Two yamcha utilities had bugs in them:
pkemine (tried to free std:cin)
mktrie (tried to free a freed object, also char casting bug)

After fixing these bugs, textproc/cabocha builds fine with rebuild yamcha tools.

fixed in pkgsrc:
http://mail-index.netbsd.org/pkgsrc-changes/2012/10/03/msg079088.html

Actions

Also available in: Atom PDF