1. Running exe on Windows Server 2008 R2 Standard
- Posted by cp Mar 29, 2014
- 1916 views
I have an exe built on ver 3.1.1, translated using e2c and compiled with borland. It runs fine on Windows 7 home premium x64. However when I try to run this on Windows Server 2008 R2 Standard it just crashes and I get "exe has stopped working.. a problem caused the program to stop working correctly. Please close the program." and a choice to close the program or debug. All help is much appreciated.
Thanks
2. Re: Running exe on Windows Server 2008 R2 Standard
- Posted by BRyan Mar 30, 2014
- 1899 views
Maybe you could try a different compiler like OpenWatcom.
3. Re: Running exe on Windows Server 2008 R2 Standard
- Posted by fizzpopsoft Mar 30, 2014
- 1864 views
I had the same problem,
my solution was to copy the interpreter/compiler to win 2008 and then compile or exec it there.
4. Re: Running exe on Windows Server 2008 R2 Standard
- Posted by jimcbrown (admin) Mar 30, 2014
- 1861 views
I had the same problem,
my solution was to copy the interpreter/compiler to win 2008 and then compile or exec it there.
I'm shocked to discover that someone has gotten the ancient Borland compiler to run on 2008R2.
5. Re: Running exe on Windows Server 2008 R2 Standard
- Posted by fizzpopsoft Apr 02, 2014
- 1764 views
Well, in my case it was the Watcom compiler rather than Borland.
But the problem seems to be that you can't port a Eu executable created off win 2008r2 on 2008r2, be it eu3.1 or 4.05.
Same error message as described, even when using admin user. Other executables like ARJ, ARJ32, PKZIP seemed to port fine though.
No idea why, but once I copied (installed) Euphoria on 2008r2 then those executables created there worked,
whether compiled or translated. HTH!
6. Re: Running exe on Windows Server 2008 R2 Standard
- Posted by jimcbrown (admin) Apr 02, 2014
- 1785 views
Well, in my case it was the Watcom compiler rather than Borland.
But the problem seems to be that you can't port a Eu executable created off win 2008r2 on 2008r2, be it eu3.1 or 4.05.
Same error message as described, even when using admin user. Other executables like ARJ, ARJ32, PKZIP seemed to port fine though.
No idea why, but once I copied (installed) Euphoria on 2008r2 then those executables created there worked,
whether compiled or translated. HTH!
You were using the older commercial Watcom compiler? (That's probably even older than borland!)
I just tried this (euphoria 4.0b3 with the included openwatcom compiler, it's just what I happened to have off hand), built animal.ex on XP SP3 and ran on 2008R2. It worked...
7. Re: Running exe on Windows Server 2008 R2 Standard
- Posted by fizzpopsoft Apr 02, 2014
- 1729 views
Yup.
Unfortunately the WIN2008 R2 box was a customers' box, so I wasn't allowed to investigate and I no longer have contact with that customer.
I was retrenched - kinda automated myself out of a job ;) If nothing you do breaks, it must be because it was too easy or unnecessary anyway!
Euphoria is involved with my automation activities but mostly its straight mainframe stuff.
Cheers,
Alan
8. Re: Running exe on Windows Server 2008 R2 Standard
- Posted by cp Apr 07, 2014
- 1635 views
I had the same problem,
my solution was to copy the interpreter/compiler to win 2008 and then compile or exec it there.
So I've taken your advice and moved everything to win2008R2 instance. I'm running the program with the interpreter to make sure everything runs before compiling. However now I've run into another problem. I'm using the words.e library (poke2,peek2 etc..) provided by Bernie Ryan/Rolf Schroeder. Unfortunatly this library produces a machine exception and crashes. It seems that the assembler code used is not compatible. Since I don't know assembler I cannot fix it. Perhaps if Bernie or Rolf are still following this forum they could weigh in on what changes would be needed to make words.e compatible.
As a side note. Since poke2 and peek2 are now part of 4.x does anyone know if 4.x will have same issue with those functions on win2008R2?
9. Re: Running exe on Windows Server 2008 R2 Standard
- Posted by ryanj Apr 08, 2014
- 1656 views
So I've taken your advice and moved everything to win2008R2 instance. I'm running the program with the interpreter to make sure everything runs before compiling. However now I've run into another problem. I'm using the words.e library (poke2,peek2 etc..) provided by Bernie Ryan/Rolf Schroeder. Unfortunatly this library produces a machine exception and crashes. It seems that the assembler code used is not compatible. Since I don't know assembler I cannot fix it. Perhaps if Bernie or Rolf are still following this forum they could weigh in on what changes would be needed to make words.e compatible.
As a side note. Since poke2 and peek2 are now part of 4.x does anyone know if 4.x will have same issue with those functions on win2008R2?
I think it's strange that people are still using such ancient versions of Euphoria. I supposed if something works, there's no reason to change it. But still, I am really surprised that people are still using 3.x. Do you know how much better 4.x is? It's not perfect. It still has alot of flaws, but I don't think people realize how incredible the new standard library is, plus the new syntax features. I understand that it takes extra work to stay updated. I usually use a version of euphoria that is 6 months to a year behind because I'm more focused on developing my programs than beta-testing the latest versions. But, if you haven't tried upgrading your programs to 4.x, you probably don't know what you are missing out on! Seriously, if you haven't tried 4.x, it's worth your time. I struggled through it, gradually converting my code over to the new way of doing things, but after I started to get used to it, I was amazed at how much better it was. Even today, I am finding features I didn't know it had. If more people would get involved, Euphoria could improve even more!
10. Re: Running exe on Windows Server 2008 R2 Standard
- Posted by jimcbrown (admin) Apr 08, 2014
- 1657 views
However now I've run into another problem. I'm using the words.e library (poke2,peek2 etc..) provided by Bernie Ryan/Rolf Schroeder. Unfortunatly this library produces a machine exception and crashes. It seems that the assembler code used is not compatible. Since I don't know assembler I cannot fix it. Perhaps if Bernie or Rolf are still following this forum they could weigh in on what changes would be needed to make words.e compatible.
I suspect the issue is DEP. words.e is very old (perhaps even from the 9x days?) and most assembly code from those days worked by allocating a piece of memory, dumping the raw machine code into it, and then calling it.
Thanks to DEP, you can no longer call just any block of memory. Special steps must be taken to enable a block of memory to switch from being writable to being callable.
As a side note. Since poke2 and peek2 are now part of 4.x does anyone know if 4.x will have same issue with those functions on win2008R2?
It won't. Since these are internal calls, they are loaded directly by the operating system (well, more-or-less), which takes care of the memory allocation and DEP behind the scenes. Also, there's no need to write to the block of memory containing the internal code after the OS has finished with it (unlike the case with words.e, where we have to allocate it and then write to it and then run it - having executable code in memory that is concurrently writable is what the inventors of DEP were trying to prevent, in the name of security.).
11. Re: Running exe on Windows Server 2008 R2 Standard
- Posted by cp Apr 15, 2014
- 1670 views
However now I've run into another problem. I'm using the words.e library (poke2,peek2 etc..) provided by Bernie Ryan/Rolf Schroeder. Unfortunatly this library produces a machine exception and crashes. It seems that the assembler code used is not compatible. Since I don't know assembler I cannot fix it. Perhaps if Bernie or Rolf are still following this forum they could weigh in on what changes would be needed to make words.e compatible.
I suspect the issue is DEP. words.e is very old (perhaps even from the 9x days?) and most assembly code from those days worked by allocating a piece of memory, dumping the raw machine code into it, and then calling it.
Thanks to DEP, you can no longer call just any block of memory. Special steps must be taken to enable a block of memory to switch from being writable to being callable.
As a side note. Since poke2 and peek2 are now part of 4.x does anyone know if 4.x will have same issue with those functions on win2008R2?
It won't. Since these are internal calls, they are loaded directly by the operating system (well, more-or-less), which takes care of the memory allocation and DEP behind the scenes. Also, there's no need to write to the block of memory containing the internal code after the OS has finished with it (unlike the case with words.e, where we have to allocate it and then write to it and then run it - having executable code in memory that is concurrently writable is what the inventors of DEP were trying to prevent, in the name of security.).
Thanks for the response. Clearly enough incentive for me to upgrade to 4.05 and after some work all seems to be working well. Many thanks to OE team and contributors.