1. RC1 bind errors on Linux
- Posted by ChrisB (moderator) Nov 15, 2010
- 1649 views
Hi
Installed generic Linux version on Ubuntu 8.10
- Interpreted programs run fine (eui anyprogram)
- Translated programs run fine (euc anyprogram)
- Bound programs fail with a bad il opcode, eg
Fatal run time error: BAD IL OPCODE: i is 1219, word is 3356 (max=2315), len is -1208911631
Binding other programs also produces bad il opcodes, but with different (or no) following message.
Binding with -full_debug makes no difference.
Chris
2. Re: RC1 bind errors on Linux
- Posted by jimcbrown (admin) Nov 15, 2010
- 1644 views
Hi
Installed generic Linux version on Ubuntu 8.10
- Interpreted programs run fine (eui anyprogram)
- Translated programs run fine (euc anyprogram)
- Bound programs fail with a bad il opcode, eg
Fatal run time error: BAD IL OPCODE: i is 1219, word is 3356 (max=2315), len is -1208911631
Binding other programs also produces bad il opcodes, but with different (or no) following message.
Binding with -full_debug makes no difference.
Chris
This is now fixed in trunk and will be fixed in tomorrow's eubins and in the next release.
3. Re: RC1 bind errors on Linux
- Posted by ChrisB (moderator) Nov 18, 2010
- 1361 views
Hi
Updated with Nov 17th eubins, including updating my Include from the include Include folder, and now get the following error, during bindng,
/home/crylex/euphoria/source/parser.e:4685 <0074>:: Errors resolving the following references: ../../source/parser.e (4685): replace_all CompileErr(117, {replace_all(find_token_text(id), "'", "")}) ^ --- Defined Words --- EU4 EU4_0 EU4_0_0 UNIX LINUX EUI EU_FULL_RELEASE -------------------
Cheers
Chris
4. Re: RC1 bind errors on Linux
- Posted by ne1uno Nov 18, 2010
- 1387 views
Hi
Updated with Nov 17th eubins, including updating my Include from the include Include folder, and now get the following error, during bindng,
/home/crylex/euphoria/source/parser.e:4685 <0074>:: Errors resolving the following references: ../../source/parser.e (4685): replace_all
Cheers
Chris
replace_all is gone. you may exchange replace_all with match_replace, rearranging the first 2 parameters anywhere replace_all is used.
otherwise, you would have to update the source directory in this case.
5. Re: RC1 bind errors on Linux
- Posted by ChrisB (moderator) Nov 18, 2010
- 1370 views
Hi
As far as I remember, I updated the source from the last RC release, which means the RC needs to be updated in order to have a complete and correct installation set.
Chris
6. Re: RC1 bind errors on Linux
- Posted by jeremy (admin) Nov 18, 2010
- 1356 views
SVN head has all instances of remove_all changed to match_find(). RC1 was released with remove_all and then the bug was found. The problem was a duplicate function. match_replace did the exact thing with additional functionality, the naming is more euphoric and it's parameter order is correct based on all of our other methods, i.e. key, haystack, ... ... thus before replace_all got into serious use, it was removed. It was unfortunate that it was not caught until post RC status.
Jeremy
7. Re: RC1 bind errors on Linux
- Posted by ChrisB (moderator) Nov 18, 2010
- 1345 views
It was unfortunate that it was not caught until post RC status.
Jeremy
But inevitable! Glad to be of service.
Cheers
Chris
8. Re: RC1 bind errors on Linux
- Posted by ChrisB (moderator) Nov 19, 2010
- 1323 views
Hi
Has this been fixed yet? I still can't bind on Linux (I have updated the eubins daily, and with the (hopefully) most up to dat source from the svn trunk http://rapideuphoria.svn.sourceforge.net/viewvc/rapideuphoria/trunk/source/).
The parser / replace_all() error as been resolved.
Cheers
Chris
(I've just re read that and realised that written it sounds like nagging - not meant to, honest)
Chris
9. Re: RC1 bind errors on Linux
- Posted by jimcbrown (admin) Nov 19, 2010
- 1313 views
Hi
Has this been fixed yet? I still can't bind on Linux (I have updated the eubins daily, and with the (hopefully) most up to dat source from the svn trunk http://rapideuphoria.svn.sourceforge.net/viewvc/rapideuphoria/trunk/source/).
The parser / replace_all() error as been resolved.
Cheers
Chris
(I've just re read that and realised that written it sounds like nagging - not meant to, honest)
Chris
If you're getting the bad il opcode with the latest from trunk and the latest eubins, then we have a problem that we don't know about.
10. Re: RC1 bind errors on Linux
- Posted by ChrisB (moderator) Nov 19, 2010
- 1292 views
Hi
Just rolled back to r3416 (bin, include, source), that's binding fine
Updated the source to current trunk - tried binding again - obviously lots of changes incompatible with r 3416, so rolled back to previous source.
Anything I can do to help - all the Linux programs I have written produce the same bad IL opcode result after binding.
Chris
11. Re: RC1 bind errors on Linux
- Posted by jimcbrown (admin) Nov 19, 2010
- 1290 views
Hi
Just rolled back to r3416 (bin, include, source), that's binding fine
Updated the source to current trunk - tried binding again - obviously lots of changes incompatible with r 3416, so rolled back to previous source.
Anything I can do to help - all the Linux programs I have written produce the same bad IL opcode result after binding.
Chris
What kind of errors are you getting? Is it just needing to tweak your code to get rid of replace_all(), etc?
I just tried trunk (svn:4209) and it bound eu.ex, and ran it. No problems.
12. Re: RC1 bind errors on Linux
- Posted by ChrisB (moderator) Nov 19, 2010
- 1273 views
Hi
The error's the same as before, ie
Fatal run time error: BAD IL OPCODE: i is 1219, word is 3356 (max=2315), len is -1208911631
the parsing error (replace_all) has been resolved. None of my code uses replace_all.
However, there could be a gotcha. I use the old 3.xx includes, and not the newer std\* includes. I simply have not had a need (time / inclination) to update the vet program to use the newer includes. Could this be a problem? Bearing in mind it translates and interprets ok.
13. Re: RC1 bind errors on Linux
- Posted by jimcbrown (admin) Nov 19, 2010
- 1294 views
Hi
The error's the same as before, ie
Fatal run time error: BAD IL OPCODE: i is 1219, word is 3356 (max=2315), len is -1208911631
Does it happen if you use -shroud_only, and manually run the resulting .il file manually with eub ?
the parsing error (replace_all) has been resolved. None of my code uses replace_all.
However, there could be a gotcha. I use the old 3.xx includes, and not the newer std\* includes. I simply have not had a need (time / inclination) to update the vet program to use the newer includes. Could this be a problem? Bearing in mind it translates and interprets ok.
I don't believe so, no.
14. Re: RC1 bind errors on Linux
- Posted by ChrisB (moderator) Nov 19, 2010
- 1312 views
Does it happen if you use -shroud_only, and manually run the resulting .il file manually with eub ?
Hi
No, that works
Chris
15. Re: RC1 bind errors on Linux
- Posted by jimcbrown (admin) Nov 19, 2010
- 1288 views
Does it happen if you use -shroud_only, and manually run the resulting .il file manually with eub ?
Hi
No, that works
Chris
My conclusion is that bind.ex is somehow, for some reason, picking the wrong version of eub to bind against. It must be binding against an older version that had the bug.
16. Re: RC1 bind errors on Linux
- Posted by ChrisB (moderator) Nov 19, 2010
- 1294 views
Hi
I'm pretty sure it isn't.
I've tried bind jetvet.exu, bindu jevet.ex, eui $EUDIR/source/bind.ex ./jetvet.exu, eubind jetvet - all produce the same result - they seem to bind ok, but the resulting executable halts with the bad opcode.
As an aside, it may be worthwhile doing a bit more reporting with eubind / bind / bindu, so that it reports which version is actually doing the binding, and perhaps even to report it when translating and compiling (I know it does so already, but also a little announcement at the start, just like it announces where the build directory is.
Chris
17. Re: RC1 bind errors on Linux
- Posted by jimcbrown (admin) Nov 19, 2010
- 1287 views
Hi
I'm pretty sure it isn't.
I've tried bind jetvet.exu, bindu jevet.ex, eui $EUDIR/source/bind.ex ./jetvet.exu, eubind jetvet - all produce the same result - they seem to bind ok, but the resulting executable halts with the bad opcode.
As an aside, it may be worthwhile doing a bit more reporting with eubind / bind / bindu, so that it reports which version is actually doing the binding, and perhaps even to report it when translating and compiling (I know it does so already, but also a little announcement at the start, just like it announces where the build directory is.
Chris
If this works:
eui $EUDIR/source/bind.ex -shroud_only ./jetvet.exu eub jetvet.il
Then this should also work:
eui $EUDIR/source/bind.ex -eub `which eub` ./jetvet.exu
18. Re: RC1 bind errors on Linux
- Posted by ChrisB (moderator) Nov 19, 2010
- 1270 views
Hi
Yes, that's it, it was binding against an old version in /usr/bin, which I had done as a test to try out the new directory structure, which I wasn't to keen on, so I switched back to user space, without dumping the old euphoria.
Sorry, and many thanks Jim.
Chris
19. Re: RC1 bind errors on Linux
- Posted by jimcbrown (admin) Nov 19, 2010
- 1277 views
Hi
Yes, that's it, it was binding against an old version in /usr/bin, which I had done as a test to try out the new directory structure, which I wasn't to keen on, so I switched back to user space, without dumping the old euphoria.
Sorry, and many thanks Jim.
Chris
Glad I could help, and very grateful for the bug reports (as always).