Bug 241419
Summary: | skencil crashes on startup | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Bill Nottingham <notting> |
Component: | skencil | Assignee: | Gérard Milmeister <gemi> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | rvokal |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2007-07-06 14:35:41 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Bill Nottingham
2007-05-25 21:04:21 UTC
This would be either a bug in python 2.5 or a new check in glibc (since it doesn't happen on FC6), especially on 64bit platform. Or it could be in one of the binary modules from skencil itself, but I don't see the dump hinting at something like this. How could one find out? Not sure. With debuginfo, the trace is: #0 0x00002aaaab59b5b5 in raise () from /lib64/libc.so.6 #1 0x00002aaaab59d060 in abort () from /lib64/libc.so.6 #2 0x00002aaaab5d3d0b in __libc_message () from /lib64/libc.so.6 #3 0x00002aaaab5db412 in _int_free () from /lib64/libc.so.6 #4 0x00002aaaab5deb1c in free () from /lib64/libc.so.6 #5 0x0000003c50e57cf3 in frame_dealloc (f=0x82c9c0) at Objects/frameobject.c:416 #6 0x0000003c50eb540f in PyEval_EvalFrameEx (f=0x82c7f0, throwflag=<value optimized out>) at Python/ceval.c:3654 #7 0x0000003c50eb53ee in PyEval_EvalFrameEx (f=0x8338d0, throwflag=<value optimized out>) at Python/ceval.c:3652 #8 0x0000003c50eb53ee in PyEval_EvalFrameEx (f=0x7d6660, throwflag=<value optimized out>) at Python/ceval.c:3652 #9 0x0000003c50eb5d32 in PyEval_EvalCodeEx (co=0x2aaab1f0a378, globals=<value optimized out>, locals=<value optimized out>, args=0x7dd170, argcount=3, kws=0x7dd188, kwcount=0, defs=0x2aaab1effc38, defcount=2, closure=0x0) at Python/ceval.c:2833 #10 0x0000003c50eb42aa in PyEval_EvalFrameEx (f=0x7dcfe0, throwflag=<value optimized out>) at Python/ceval.c:3662 #11 0x0000003c50eb5d32 in PyEval_EvalCodeEx (co=0x2aaab1f048a0, globals=<value optimized out>, locals=<value optimized out>, args=0x2, argcount=1, kws=0x7e7db0, kwcount=2, defs=0x2aaab1eff920, defcount=2, closure=0x0) at Python/ceval.c:2833 #12 0x0000003c50e5933c in function_call (func=0x2aaab1f0a7d0, arg=0x2aaaaab77650, kw=0x7db900) at Objects/funcobject.c:517 #13 0x0000003c50e3c053 in PyObject_Call (func=0xe48, arg=0xe48, kw=0x6) at Objects/abstract.c:1860 #14 0x0000003c50e4322d in instancemethod_call (func=<value optimized out>, arg=0x2aaaaab77650, kw=0x7db900) at Objects/classobject.c:2493 #15 0x0000003c50e3c053 in PyObject_Call (func=0xe48, arg=0xe48, kw=0x6) at Objects/abstract.c:1860 #16 0x0000003c50eb2134 in PyEval_EvalFrameEx (f=0x7a76c0, throwflag=<value optimized out>) at Python/ceval.c:3777 #17 0x0000003c50eb5d32 in PyEval_EvalCodeEx (co=0x2aaab1f0a030, globals=<value optimized out>, locals=<value optimized out>, args=0x1, argcount=4, kws=0x748d50, kwcount=1, defs=0x2aaab1efe518, defcount=3, closure=0x0) at Python/ceval.c:2833 #18 0x0000003c50e5933c in function_call (func=0x2aaab1f0ade8, arg=0x2aaab1eeddb8, kw=0x7db6c0) at Objects/funcobject.c:517 #19 0x0000003c50e3c053 in PyObject_Call (func=0xe48, arg=0xe48, kw=0x6) at Objects/abstract.c:1860 #20 0x0000003c50e4322d in instancemethod_call (func=<value optimized out>, arg=0x2aaab1eeddb8, kw=0x7db6c0) at Objects/classobject.c:2493 #21 0x0000003c50e3c053 in PyObject_Call (func=0xe48, arg=0xe48, kw=0x6) at Objects/abstract.c:1860 #22 0x0000003c50eae8fe in PyEval_CallObjectWithKeywords (func=0x2aaaaab8ba50, arg=0x2aaab1efe370, kw=0x7db6c0) at Python/ceval.c:3435 #23 0x0000003c50e46cb6 in PyInstance_New (klass=<value optimized out>, arg=0x2aaab1efe370, kw=0x7db6c0) at Objects/classobject.c:560 #24 0x0000003c50e3c053 in PyObject_Call (func=0xe48, arg=0xe48, kw=0x6) at Objects/abstract.c:1860 #25 0x0000003c50eb2134 in PyEval_EvalFrameEx (f=0x748670, throwflag=<value optimized out>) at Python/ceval.c:3777 #26 0x0000003c50eb53ee in PyEval_EvalFrameEx (f=0x619ee0, throwflag=<value optimized out>) at Python/ceval.c:3652 #27 0x0000003c50eb5d32 in PyEval_EvalCodeEx (co=0x2aaaaab597b0, globals=<value optimized out>, locals=<value optimized out>, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2833 #28 0x0000003c50eb5d72 in PyEval_EvalCode (co=0xe48, globals=0xe48, locals=0x6) at Python/ceval.c:494 #29 0x0000003c50ecfb92 in run_mod (mod=<value optimized out>, filename=<value optimized out>, globals=0x624470, locals=0x624470, flags=<value optimized out>, arena=<value optimized out>) at Python/pythonrun.c:1264 #30 0x0000003c50ecfc66 in PyRun_FileExFlags (fp=0x601010, filename=0x7fff8f39ab6f "/usr/bin/skencil", start=257, globals=0x624470, locals=0x624470, closeit=1, flags=0x7fff8f399bb0) at Python/pythonrun.c:1250 #31 0x0000003c50ed1158 in PyRun_SimpleFileExFlags (fp=<value optimized out>, filename=0x7fff8f39ab6f "/usr/bin/skencil", closeit=1, flags=0x7fff8f399bb0) at Python/pythonrun.c:870 #32 0x0000003c50eda415 in Py_Main (argc=<value optimized out>, argv=0x7fff8f399cd8) at Modules/main.c:496 #33 0x00002aaaab588aa4 in __libc_start_main () from /lib64/libc.so.6 #34 0x0000000000400629 in _start () which really doesn't help. If I had to guess, somewhere in the alloc/dealloc in: #5 0x0000003c50e57cf3 in frame_dealloc (f=0x82c9c0) at Objects/frameobject.c:416 would be the best bet. Since this happens in the python interpreter itself, I would say this is a python bug. At least I don't see any of the skencil native modules involved. However, it would be interesting to see when the error occurs. You would have to step through the python code using "python -m pdb /usr/lib/skencil-0.6.17/skencil.py". > /usr/lib64/skencil-0.6.17/Sketch/__init__.py(199)init_modules_from_widget()
-> Graphics.graphics.InitFromWidget(tkwin)
(Pdb)
*** glibc detected *** python: double free or corruption (out):
0x00002aaaaaafa260 ***
is where I've narrowed it down to so far. pdb is a pain.
More specifically, it seems to occur when checking for shared memory. Try to comment out the line check_for_shm_images(widget) in the procedure InitFromWidget in the file graphics.py. If that works we could disable shared memory, at least for that platform. Does it crash also on non-64-bit? Yes, it crashes on i386 as well. Still crashes even if that line is commented out. I found the following: http://lists.wald.intevation.org/pipermail/skencil-users/2007-March/000137.html Can you build and try the following on F-7? http://math.ifi.unizh.ch/fedora/tmp/skencil-0.6.17-14.20070606svn.fc7.src.rpm This is an update to the current svn version. rpm claims that file is corrupt. error: unpacking of archive failed on file /usr/src/redhat/SPECS/skencil.spec;4666f7dd: cpio: MD5 sum mismatch I uploaded the srpm again, it should work now. Starts OK now. |