[Eric] eric4-4.4.10-0.3872 snapshot evaluates a project member module on startup
Hans-Peter Jansen
hpj at urpla.net
Sun Nov 7 17:02:10 GMT 2010
Hi Detlev,
I see a strange behavior with current eric4:
a projects module is called browsermainwindow.py, which is in broken
state, as I'm on the way to convert it from C++ to python. When I
start eric with the project, it gets into an endless loop without any
UI responses. The only thing I can do is to kill eric, then. The same
happens, if run eric and open that project. It does not happen, if I
rename the browsermainwindow.py to browsermainwindow.p, it opens the
project with many other similar broken modules and just warns about
the missing member browsermainwindow.py.
Stracing the startup reveals something strange (comments inlined):
# check, if module exists: yes
[pid 19196] stat64(".../browser/browsermainwindow.py", {st_mode=S_IFREG|0644, st_size=35825, ...})
# check, if directory has __init__.py fails:
[pid 19196] stat64(".../browser/__init__.py", 0xad5e2f48) = -1 ENOENT (No such file or directory
# now for something really strange: eric tries to execute the module
# in some way, otherwise this won't happen:
[pid 19196] stat64(".../browser/browsermainwindow", 0xad5dfe94) = -1 ENOENT (No such file or directory)
[pid 19196] open(".../browser/browsermainwindow.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
[pid 19196] open(".../browser/browsermainwindowmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
[pid 19196] open(".../browser/browsermainwindow.py", O_RDONLY|O_LARGEFILE) = 28
[pid 19196] fstat64(28, {st_mode=S_IFREG|0644, st_size=35825, ...}) = 0
[pid 19196] fstat64(28, {st_mode=S_IFREG|0644, st_size=35825, ...}) = 0
[pid 19196] _llseek(28, 0, [0], SEEK_CUR) = 0
[pid 19196] fstat64(28, {st_mode=S_IFREG|0644, st_size=35825, ...}) = 0
[pid 19196] mmap2(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xacc61000
[pid 19196] _llseek(28, 0, [0], SEEK_CUR) = 0
[pid 19196] mprotect(0xae7f9000, 28672, PROT_READ|PROT_WRITE) = 0
[pid 19196] futex(0x8064280, FUTEX_WAKE_PRIVATE, 1) = 1
[pid 19196] read(28, "################################"..., 1048576) = 35825
Then, after a couple of mprotect, mremap, mmap2 calls, eric stalls.
Obviously, the evaluation ends in some endless looping, but the big
question is, why does eric try to eval the module in the first place.
This can lead do really silly things to happen..
python -v seems to be of no help, as it doesn't show this module loading
at all (probably you're forking on startup, and -v traces the wrong track).
The last message is:
import QScintilla.TypingCompleters.CompleterBase # precompiled
from /usr/lib/python2.6/site-packages/eric4/QScintilla/TypingCompleters/CompleterBase.pyc
Executing the module directly leads to:
File "browsermainwindow.py", line 15
from bookmarks import ..
^
SyntaxError: invalid syntax
as expected. Let me know, if I can do more for this to resolve.
Pete
-------------- next part --------------
A non-text attachment was scrubbed...
Name: browsermainwindow.py
Type: application/x-python
Size: 35825 bytes
Desc: not available
URL: <http://www.riverbankcomputing.com/pipermail/eric/attachments/20101107/ab4d7783/attachment-0001.bin>
More information about the Eric
mailing list