Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Jul 2008 16:23:33 +0200
From:      Jeroen Ruigrok van der Werven <asmodai@in-nomine.org>
To:        freebsd-hackers@freebsd.org
Subject:   Need help debugging Python coredump
Message-ID:  <20080709142332.GB68329@nexus.in-nomine.org>

next in thread | raw e-mail | index | archive | help
I can reproduce the problem on both 6.3 and 7.0-STABLE.

With the current Python 2.6 SVN trunk I have been getting coredumps for a
while now when the curses regression tests get run.

When it coredumps it is always a signal 11.

Steps to reproduce:

1) get Python from trunk: svn checkout
http://svn.python.org/projects/python/trunk python
2) configure: cd python && ./configure --prefix=$HOME/python
3) build: make
4) run: ./python -E -tt Lib/test/regrtest.py -l -ucurses test_curses
   This test will pass, at least it did for me.
5) run: ./python -E -tt Lib/test/regrtest.py -l -uall -rw
   This starts all tests in a random order with verbosity on. Suddenly
   test_curses will coredump.

I get two backtraces:

#0  0x28553c3a in doupdate () from /lib/libncursesw.so.7
#1  0x28854a50 in PyCurses_doupdate (self=0x0)
    at /usr/home/asmodai/projects/python/Modules/_cursesmodule.c:1652
#2  0x080d097f in PyEval_EvalFrameEx (f=0x82b66fc, throwflag=0)
    at Python/ceval.c:3629
#3  0x080d186a in PyEval_EvalFrameEx (f=0x8c1098c, throwflag=0)
    at Python/ceval.c:3731
#4  0x080d186a in PyEval_EvalFrameEx (f=0x93f1c0c, throwflag=0)
    at Python/ceval.c:3731
#5  0x080d226a in PyEval_EvalCodeEx (co=0x8a8f3c8, globals=0x8c43e84, 
    locals=0x8c43e84, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at Python/ceval.c:2908
#6  0x080d23c7 in PyEval_EvalCode (co=0x8a8f3c8, globals=0x8c43e84, 
    locals=0x8c43e84) at Python/ceval.c:495
#7  0x080e5d3c in PyImport_ExecCodeModuleEx (
    name=0xbfbfda83 "test.test_curses", co=0x8a8f3c8, 
    pathname=0xbfbfd177 "/usr/home/asmodai/projects/python/Lib/test/test_curses.pyc") at Python/import.c:680

#0  0x2889840d in PyCurses_getsyx (self=0x0)
    at /dumpster/home/asmodai/projects/python/Modules/_cursesmodule.c:1770
#1  0x080d06d8 in PyEval_EvalFrameEx (f=0x8f4b95c, throwflag=0)
    at Python/ceval.c:3635
#2  0x080d1021 in PyEval_EvalFrameEx (f=0x8df8aec, throwflag=0)
    at Python/ceval.c:3737
#3  0x080d1021 in PyEval_EvalFrameEx (f=0x8daa08c, throwflag=0)
    at Python/ceval.c:3737
#4  0x080d207a in PyEval_EvalCodeEx (co=0x8d86338, globals=0x9831934, 
    locals=0x9831934, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at Python/ceval.c:2914
#5  0x080d21d7 in PyEval_EvalCode (co=0x8d86338, globals=0x9831934, 
    locals=0x9831934) at Python/ceval.c:495
#6  0x080e5b4c in PyImport_ExecCodeModuleEx (
    name=0xbfbfdc63 "test.test_curses", co=0x8d86338, 
    pathname=0xbfbfd357 "/dumpster/home/asmodai/projects/python/Lib/test/test_curses.pyc") at Python/import.c:680

Both have got me stumped a bit and I have not been able to progress far to
find out why this happens.
I cannot reproduce this on Ubuntu 8.04 at all. And they both use the same
ncurses library, 5.6.

One idea Thomas Dickey had for the last traceback was:

    curses.setupterm(fd=sys.__stdout__.fileno())

That would have newscr null.  The failure might be from closing stdout,
e.g., if it was redirected.

Any ideas/hints/tips to finally squash this crashdump?

-- 
Jeroen Ruigrok van der Werven <asmodai(-at-)in-nomine.org> / asmodai
イェルーン ラウフロック ヴァン デル ウェルヴェン
http://www.in-nomine.org/ | http://www.rangaku.org/ | GPG: 2EAC625B
When we blindly adopt a religion, a political system, a literary dogma,
we become automatons. We cease to grow...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080709142332.GB68329>