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

Attachment: browsermainwindow.py
Description: application/python

_______________________________________________
Eric mailing list
[email protected]
http://www.riverbankcomputing.com/mailman/listinfo/eric

Reply via email to