[Eric] eric4-4.4.10-0.3872 snapshot evaluates a project member module on startup

Detlev Offenbach detlev at die-offenbachs.de
Mon Nov 8 17:26:01 GMT 2010


On Sonntag, 7. November 2010, Hans-Peter Jansen wrote:
> Hallo Detlev,
> 
> On Sunday 07 November 2010, 18:39:22 Detlev Offenbach wrote:
> > Hallo Pete,
> > 
> > bei mir läßt sich das Modul einwandfrei laden und es wird der von dir
> > genannte Syntax Fehler angezeigt. eric4 sollte das Modul auch nicht
> > per eval ausführen. So etwas geschieht eigentlich nirgends. Kannst du
> > mir das gesamte Projekt schicken?
> 
> Hab's angehängt. Es hat mich auch ziemlich überrascht, muß ich sagen..
> Hoffentlich kannst Du das Verhalten damit nachvollziehen. Beim ersten
> Speichern (nach Zwangsentfernung und manuellem Hinzufügen) trat das
> Problem übrigens erneut auf.
> 
> Ich hätte erwähnen sollen, daß ich nun ziemlich aktuell bin:
> python: 2.6
> sip: 4.12-snapshot-3a45afc8d9eb
> qt4: 4.7.0
> pyqt4: snapshot-4.8.2-c2f0a1e8a5fc
> 
> aber habe es nochmal mit den Releaseversionen getestet, mit dem selben
> Effekt (eric 4.4.9):
> 
> python: 2.6
> sip: 4.11.2
> qt4: 4.7.0
> pyqt4: 4.8.1
> 
> > Nur zur Info, eric4 beinhaltet einen Web-Browser, der in eric5 noch
> > einmal erweitert wurde.
> 
> Ja, habe ich schon entdeckt. Mir geht es mehr um die Tricks, die die
> Trolls anwenden, und deren Konvertierbarkeit nach PyQt. Und da ich
> gerade sowieso eine heftige Erkältung habe, kann ich 'eh nicht mehr
> machen als sowas und Bücher lesen...
> 
> > Viele Grüße
> > Detlev
> 
> Ditto,
> Pete
> 
> > On Sonntag, 7. November 2010, Hans-Peter Jansen wrote:
> > > 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/
> > >
> > >Complet erBase.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
Hallo Pete,

bist du sicher, dass du alle Dateien/Verzeichnisse geschickt hast? Ich finde 
z.B. nicht den Ordner "browser".

Detlev
-- 
Detlev Offenbach
detlev at die-offenbachs.de


More information about the Eric mailing list