1. Problem with rev 1217
- Posted by RStowasser Oct 25, 2008
- 1053 views
Hello Matt,
there is a problem with Euphoria 4.0 rev 1217 which did not exist with rev 1216.
Running win32lib.ew 0.704a there is an error message which I do not understand:
D:\Euphoria\win32libv07\Include>exwc
Euphoria Interpreter 4.0 (development) for 32-bit Windows.
SVN Revision 1217
Copyright (c) Rapid Deployment Software 2008
See http://www.RapidEuphoria.com/License.txt
file name to execute? win32lib.ew
win32lib.ew:26389
expected a function, not something
if w32string(pPaths) then
----------------------^
Press Enter
line 26389 does not exist in win32lib.ew. It would be after the last line with the statement: include compat02.ew
the expression w32string(pPaths) is in w32file.ew in global function setSearchPaths but I cannot see that there should be anything wrong with it. The error message is not very helpful.
Roland
2. Re: Problem with rev 1217
- Posted by mattlewis (admin) Oct 25, 2008
- 1011 views
there is a problem with Euphoria 4.0 rev 1217 which did not exist with rev 1216.
win32lib.ew:26389 expected a function, not something if w32string(pPaths) then ------------------------^
Thanks for the report. When resolving forward references, it wasn't considering a call to a type routine to be the same as a function. Also, the error routine wasn't resetting the file and line number.
I should have a fix committed soonas soon as I've added and validated some new tests for this issue.
Matt
3. Re: Problem with rev 1217
- Posted by ne1uno Oct 25, 2008
- 984 views
there is a problem with Euphoria 4.0 rev 1217 which did not exist with rev 1216.
When resolving forward references, it wasn't considering a call to a type routine to be the same as a function.
svn1218 introduced a new crasher, tracked down to an include file that depended on being included from another file that includes a file that defines a global constant.
this worked before forward references and worked ok in r1213 and below. adding the missing include fixes the problem and is probably easier to maintain anyway.
4. Re: Problem with rev 1217
- Posted by mattlewis (admin) Oct 25, 2008
- 1035 views
svn1218 introduced a new crasher, tracked down to an include file that depended on being included from another file that includes a file that defines a global constant.
I believe you, really. But I'm having trouble unwinding that sentence. Could you post a simple test case that crashes?
Matt
5. Re: Problem with rev 1217
- Posted by ne1uno Oct 25, 2008
- 1010 views
svn1218 introduced a new crasher, tracked down to an include file that depended on being included from another file that includes a file that defines a global constant.
I believe you, really. But I'm having trouble unwinding that sentence. Could you post a simple test case that crashes?
I hope this is close enough to the original crash, as I was only guessing at the cause. simpler, just move an include after the first use of something it defines.
---prog.ex -- move include a.e to here and no crash global constant x=1 ,a= ax ,b = 2 include a.e --a.e global constant ax = 1
win98 The instruction at 0x0045cf4a referenced memory at 0x029d67a8. The memory could not be written. Exception fielded by 0x0049aec0 ETC.
6. Re: Problem with rev 1217
- Posted by RStowasser Oct 26, 2008
- 990 views
Hello,
There is still a problem with rev 1219?
For backward compatibility I am only testing with IDE104 (Euvide) and Win32lib (Win32libex) which I got from Sourceforge. But the problems should be the same with other applications.
I reverted to rev 1216 where I do not have problems then rebuild rev 1219.
If I try to run IDE I get this message:
C:\EUPHORIA>exwc d:\euphoria\ide104\IDE104.exw
d:\euphoria\ide104\FList.ew:263
'int' has not been declared
function TestFlag(int var, int bit)
------------------------^
Press Enter
If I change in FList.ew int to integer and seq to sequence, IDE will run although opening/closing splash screen will take a little bit longer (about 3.7 sec instead of 3.2 sec). But I cannot compile IDE. There are a lot of err files e.g. ide_de_3gn.err:
ide_de_3gn.c(10224): Error! E1011: Symbol '_1dragCX_43661' has not been declared
ide_de_3gn.c(10227): Error! E1011: Symbol '_1dragCX_43661' has not been declared
ide_de_3gn.c(10229): Error! E1011: Symbol '_1dragCX_43661' has not been declared
ide_de_3gn.c(10249): Error! E1011: Symbol '_1dragCY_43662' has not been declared
ide_de_3gn.c(10252): Error! E1011: Symbol '_1dragCY_43662' has not been declared
ide_de_3gn.c(10254): Error! E1011: Symbol '_1dragCY_43662' has not been declared
ide_de_3gn.c(10329): Error! E1011: Symbol '_1dragX_43659' has not been declared
ide_de_3gn.c(10332): Error! E1011: Symbol '_1dragX_43659' has not been declared
ide_de_3gn.c(10334): Error! E1011: Symbol '_1dragX_43659' has not been declared
ide_de_3gn.c(10354): Error! E1011: Symbol '_1dragY_43660' has not been declared
ide_de_3gn.c(10357): Error! E1011: Symbol '_1dragY_43660' has not been declared
ide_de_3gn.c(10359): Error! E1011: Symbol '_1dragY_43660' has not been declared
Roland
7. Re: Problem with rev 1217
- Posted by mattlewis (admin) Oct 26, 2008
- 1010 views
If I try to run IDE I get this message:
C:\EUPHORIA>exwc d:\euphoria\ide104\IDE104.exw
d:\euphoria\ide104\FList.ew:263
'int' has not been declared
function TestFlag(int var, int bit)
------------------------^
Thanks. It's not handling forward type declarations properly.
If I change in FList.ew int to integer and seq to sequence, IDE will run although opening/closing splash screen will take a little bit longer (about 3.7 sec instead of 3.2 sec). But I cannot compile IDE. There are a lot of err files e.g. ide_de_3gn.err:
ide_de_3gn.c(10224): Error! E1011: Symbol '_1dragCX_43661' has not been declared
I'll take a look at this, too.
Matt
8. Re: Problem with rev 1217
- Posted by mattlewis (admin) Oct 27, 2008
- 1004 views
If I try to run IDE I get this message:
C:\EUPHORIA>exwc d:\euphoria\ide104\IDE104.exw
d:\euphoria\ide104\FList.ew:263
'int' has not been declared
function TestFlag(int var, int bit)
------------------------^
Thanks. It's not handling forward type declarations properly.
If I change in FList.ew int to integer and seq to sequence, IDE will run although opening/closing splash screen will take a little bit longer (about 3.7 sec instead of 3.2 sec). But I cannot compile IDE. There are a lot of err files e.g. ide_de_3gn.err:
ide_de_3gn.c(10224): Error! E1011: Symbol '_1dragCX_43661' has not been declared
I'll take a look at this, too.
Ok, r1220 seems to parse the IDE (I'm on Linux, so I haven't tried actually running it).
Matt
9. Re: Problem with rev 1217
- Posted by RStowasser Oct 28, 2008
- 1044 views
Ok, r1220 seems to parse the IDE (I'm on Linux, so I haven't tried actually running it).
Matt
Hi Matt,
I can run IDE104 and stand-alone editor with rev 1220 and can translate, compile the stand-alone Editor.exw. I tried EuWinGui and there is also no problem. With some changes of the keywords entry and label, running the arwen library and translating / compiling the demos work too. (Edita seems not to be available any more)
But translating IDE does still not work. There are error messages e.g:
ide_co_1ig.c(815): Error! E1011: Symbol '_1saveDefaultSettingsId_43671' has not been declared
ide_exErr.c(451): Error! E1011: Symbol '_1CodeWinState_43678' has not been declared
ide_de_0gn.c(3799): Error! E1011: Symbol '_1euDir_43466' has not been declared
ide_de_5gn.c(1255): Error! E1011: Symbol '_1ToolBarStuff_id_43658' has not been declared
ide_de_5gn.c(1285): Error! E1011: Symbol '_1TabItemStuff_id_43659' has not been declared
ide_de_5gn.c(1318): Error! E1011: Symbol '_1GroupStuff_id_43660' has not been declared
ide_de_5gn.c(1387): Error! E1011: Symbol '_1MiscStuff_id_43662' has not been declared
etc.
I tried the above procedure once more with reverted version 1216 and found no problem with my OS (Vista).
My personel impression is that starting the splash screen of interpreted IDE needs more time with rev 1220 than with rev 1216.
I would also like to point to a problem which is the same with rev1216 and rev1220:
If I run exwc win32lib.ew there is no problem.
Trying to run win32lib.ew with eu.ex I get this error:
C:\EUPHORIA\SOURCE40>exwc
Euphoria Interpreter 4.0 (development) for 32-bit Windows.
SVN Revision 1220
Copyright (c) Rapid Deployment Software 2008
See http://www.RapidEuphoria.com/License.txt
file name to execute? eu.ex
Euphoria Interpreter 4.0 (development) for 32-bit Windows.
SVN Revision 1220
Copyright (c) Rapid Deployment Software 2008
See http://www.RapidEuphoria.com/License.txt
file name to execute? d:\euphoria\win32libv07\include\win32lib.ew
d:\euphoria\win32libv07\include\w32utils.e:1481 in function w32MinSequenceSize()
repetition count must not be negative
... called from d:\euphoria\win32libv07\include\w32utils.e:1617 in procedure sanity_CType()
... called from d:\euphoria\win32libv07\include\w32utils.e:1777 in procedure w32SetCType()
... called from d:\euphoria\win32libv07\include\w32utils.e:1861
> see ex.err
Press Enter...
If eu.ex shows an error then should exw(c).exe not show this error too?
Roland
10. Re: Problem with rev 1217
- Posted by mattlewis (admin) Oct 28, 2008
- 993 views
I can run IDE104 and stand-alone editor with rev 1220 and can translate, compile the stand-alone Editor.exw. I tried EuWinGui and there is also no problem. With some changes of the keywords entry and label, running the arwen library and translating / compiling the demos work too. (Edita seems not to be available any more)
But translating IDE does still not work. There are error messages e.g:
Ok, I hadn't tried that. I'll look at the translator next.
My personel impression is that starting the splash screen of interpreted IDE needs more time with rev 1220 than with rev 1216.
This is probably true. The reason is that the IDE declares some globals in certain files, and then other files use those globals without ever including the file where the globals are defined. This causes extra overhead in the parsing. There were recent changes to how this worked, since unincluded globals could mask forward referenced included symbols.
CK found this problem when he had some code that used the old sort, and some that used the new sort. Basically, sequence.e and sort.e (I think it's those two) include each other, and use routines from each other, which is one big benefit of the new forward reference feature. Adding a few strategic include statements would speed up the parse time.
If eu.ex shows an error then should exw(c).exe not show this error too?
Not necessarily. They share the front end, but the back end of eu.ex is written in euphoria. So if the bug is in the euphoria backend, the error wouldn't be seen when you use the C backend. Although a C backend error in something like puts(), which is called by the euphoria based backend could show up. But a lot of the C interface is written in the euphoria back end, which appears to be what you've run into, so the bug is likely only in eu.ex.
Matt
11. Re: Problem with rev 1217
- Posted by bernie Oct 28, 2008
- 997 views
I can run IDE104 and stand-alone editor with rev 1220 and can translate, compile the stand-alone Editor.exw. I tried EuWinGui and there is also no problem. With some changes of the keywords entry and label, running the arwen library and translating / compiling the demos work too. (Edita seems not to be available any more)
But translating IDE does still not work. There are error messages e.g:
Ok, I hadn't tried that. I'll look at the translator next.
My personel impression is that starting the splash screen of interpreted IDE needs more time with rev 1220 than with rev 1216.
This is probably true. The reason is that the IDE declares some globals in certain files, and then other files use those globals without ever including the file where the globals are defined. This causes extra overhead in the parsing. There were recent changes to how this worked, since unincluded globals could mask forward referenced included symbols.
CK found this problem when he had some code that used the old sort, and some that used the new sort. Basically, sequence.e and sort.e (I think it's those two) include each other, and use routines from each other, which is one big benefit of the new forward reference feature. Adding a few strategic include statements would speed up the parse time.
If eu.ex shows an error then should exw(c).exe not show this error too?
Not necessarily. They share the front end, but the back end of eu.ex is written in euphoria. So if the bug is in the euphoria backend, the error wouldn't be seen when you use the C backend. Although a C backend error in something like puts(), which is called by the euphoria based backend could show up. But a lot of the C interface is written in the euphoria back end, which appears to be what you've run into, so the bug is likely only in eu.ex.
Matt
Matt: I have been coding using SVN1217 an everything was working ok. But I just ran into a strange ex.err error message. I do not think that running a program a user should see the folllowing error message. Fatal run-time error: UNKNOWN IL OPCODE The error happens when starting my code up after a long parse time. I can't give you a simple example because my code is very involved and is full of bugs. I am going update to another SVN level an see if error goes away If I find any more information I will let you know.
12. Re: Problem with rev 1217
- Posted by euphoric (admin) Oct 28, 2008
- 947 views
Matt: I have been coding using SVN1217 an everything was working ok. But I just ran into a strange ex.err error message. I do not think that running a program a user should see the folllowing error message.
Fatal run-time error: UNKNOWN IL OPCODE
The error happens when starting my code up after a long parse time. I can't give you a simple example because my code is very involved and is full of bugs.
Hey! I just reported this same issue to the dev list, Bernie. Us leet coDeRz always find the bugs.
13. Re: Problem with rev 1217
- Posted by euphoric (admin) Oct 28, 2008
- 994 views
Just wanted to make a note that the BAD IL OPCODE issue I was having with 1217 is no longer there with 1220.
14. Re: Problem with rev 1217
- Posted by mattlewis (admin) Oct 28, 2008
- 963 views
But translating IDE does still not work. There are error messages e.g:
Ok, I hadn't tried that. I'll look at the translator next.
Ok, r1221 seems to translate the IDE properly. It wasn't marking some variables as being used at all, and so wasn't declaring them.
Matt
15. Re: Problem with rev 1217
- Posted by mattlewis (admin) Oct 28, 2008
- 934 views
Trying to run win32lib.ew with eu.ex I get this error:
[snip]
If eu.ex shows an error then should exw(c).exe not show this error too?
Ok, this is now fixed in r1222. It was calling opLESS instead of opLESS_IFW for the LESS_IFW_I opcode.
Matt