1. source from svn1299 on; is broken when compiling on XP

When I am building binaries on XP I use a cmd batch file.
While running the batch file I get the following error message.

16 bit MS-DOS Subsystem

C:\WINDOWS\system32\cmd.exe
The NTVDM CPU has encountered an illegal instruction.
CS:0460 IP:fcf6 OP:f0 66 8b Choose 'Close' to terminate the application.

Close Ignore

This error does not happen on SVN1298 or any lower SVN.

The only difference between SVN1298 and SVN1299 -> SVN13xx is the following.

Revision: 1299
Author: springle
Date: 5:29:34 PM, Wednesday, December 31, 2008
Message:
Uses svnversion to update rev.e if it is available.
Otherwise, it continues and determines the version as before
(by parsing the Administration area)...
--
Modified : /trunk/source/revget.ex

Bernie

new topic     » topic index » view message » categorize

2. Re: source from svn1299 on; is broken when compiling on XP

svnreversion is probably a windows program, so we are trying to call a windows console application from inside of a MS-DOS program that is using a 32bit extender inside of the 16bit MS-DOS Subsystem. As complicated as that sounds, I'd normally expect this to work.

Bernie, if you copy the 1298 revget.ex over the SVN13xx's revget.ex and then attempt the build, does this fix the crash?

bernie said...

When I am building binaries on XP I use a cmd batch file.
While running the batch file I get the following error message.

16 bit MS-DOS Subsystem

C:\WINDOWS\system32\cmd.exe
The NTVDM CPU has encountered an illegal instruction.
CS:0460 IP:fcf6 OP:f0 66 8b Choose 'Close' to terminate the application.

Close Ignore

This error does not happen on SVN1298 or any lower SVN.

The only difference between SVN1298 and SVN1299 -> SVN13xx is the following.

Revision: 1299
Author: springle
Date: 5:29:34 PM, Wednesday, December 31, 2008
Message:
Uses svnversion to update rev.e if it is available.
Otherwise, it continues and determines the version as before
(by parsing the Administration area)...
--
Modified : /trunk/source/revget.ex

Bernie

new topic     » goto parent     » topic index » view message » categorize

3. Re: source from svn1299 on; is broken when compiling on XP

jimcbrown said...

svnreversion is probably a windows program, so we are trying to call a windows console application from inside of a MS-DOS program that is using a 32bit extender inside of the 16bit MS-DOS Subsystem. As complicated as that sounds, I'd normally expect this to work.

Bernie, if you copy the 1298 revget.ex over the SVN13xx's revget.ex and then attempt the build, does this fix the crash?

bernie said...

When I am building binaries on XP I use a cmd batch file.
While running the batch file I get the following error message.

16 bit MS-DOS Subsystem

C:\WINDOWS\system32\cmd.exe
The NTVDM CPU has encountered an illegal instruction.
CS:0460 IP:fcf6 OP:f0 66 8b Choose 'Close' to terminate the application.

Close Ignore

This error does not happen on SVN1298 or any lower SVN.

The only difference between SVN1298 and SVN1299 -> SVN13xx is the following.

Revision: 1299
Author: springle
Date: 5:29:34 PM, Wednesday, December 31, 2008
Message:
Uses svnversion to update rev.e if it is available.
Otherwise, it continues and determines the version as before
(by parsing the Administration area)...
--
Modified : /trunk/source/revget.ex

Bernie

Jim
I move SVN1297's revget.ex over ( because I had that file ) and the
problem goes away.

new topic     » goto parent     » topic index » view message » categorize

4. Re: source from svn1299 on; is broken when compiling on XP

bernie said...

Jim
I move SVN1297's revget.ex over ( because I had that file ) and the
problem goes away.

Probably, revget.ex should be run with exwc.exe always when running on windows (even when making rev.e for the DOS version), but it needs to work on pure DOS also.

Maybe we should take away the use of svnversion in revget.ex - that seems like the easiest solution, but the capability to use svnversion was added for a good reason.

new topic     » goto parent     » topic index » view message » categorize

5. Re: source from svn1299 on; is broken when compiling on XP

jimcbrown said...

Probably, revget.ex should be run with exwc.exe always when running on windows (even when making rev.e for the DOS version), but it needs to work on pure DOS also.

Maybe we should take away the use of svnversion in revget.ex - that seems like the easiest solution, but the capability to use svnversion was added for a good reason.

I don't know what the solution is, but I don't think we just get rid of useful things like reading the svn info for the sake of DOS. I'd rather make it awkward to build DOS, at least with accurate svn info.

Matt

new topic     » goto parent     » topic index » view message » categorize

6. Re: source from svn1299 on; is broken when compiling on XP

mattlewis said...

I don't know what the solution is, but I don't think we just get rid of useful things like reading the svn info for the sake of DOS. I'd rather make it awkward to build DOS, at least with accurate svn info.

Matt

Agreed. Both the old version and current version of revget.ex had the ability to read directly from .svn to obtain the version from inside of DOS, so we can still build DOS with accurate svn info at any rate.

As far as I know, there is no version of svn explicitly for DOS, so maybe the best thing to do is to ifdef out the call to svnversion when we're building on DOS.

new topic     » goto parent     » topic index » view message » categorize

7. Re: source from svn1299 on; is broken when compiling on XP

Jim and Matt:

Why all the complication of revget.ex ??

Couldn't that all be done by setting a environment varable
from the makefiles and batch files ??

Environment variables work on any OS.

new topic     » goto parent     » topic index » view message » categorize

8. Re: source from svn1299 on; is broken when compiling on XP

IMVHO, it would be a major pita to have to do a

set EU_SVN_REVISION=1399

(or etc) everytime before building.

bernie said...

Jim and Matt:

Why all the complication of revget.ex ??

Couldn't that all be done by setting a environment varable
from the makefiles and batch files ??

Environment variables work on any OS.

new topic     » goto parent     » topic index » view message » categorize

9. Re: source from svn1299 on; is broken when compiling on XP

jimcbrown said...

IMVHO, it would be a major pita to have to do a

set EU_SVN_REVISION=1399

(or etc) everytime before building.

bernie said...

Jim and Matt:

Why all the complication of revget.ex ??

Couldn't that all be done by setting a environment varable
from the makefiles and batch files ??

Environment variables work on any OS.

Jim where does the present system get the 1399 from now ??

new topic     » goto parent     » topic index » view message » categorize

10. Re: source from svn1299 on; is broken when compiling on XP

bernie said...

Jim where does the present system get the 1399 from now ??

If you have the program installed, it runs svnversion.exe to obtain the version number; otherwise it obtains it by reading .svn/entries directly.

new topic     » goto parent     » topic index » view message » categorize

11. Re: source from svn1299 on; is broken when compiling on XP

jimcbrown said...
bernie said...

Jim where does the present system get the 1399 from now ??

If you have the program installed, it runs svnversion.exe to obtain the version number; otherwise it obtains it by reading .svn/entries directly.

It looks as if you can open the .svn/entries file as a text file.
read in the forth line set an environment variable and close the file.
at the beginning of a makefile or batch file.

new topic     » goto parent     » topic index » view message » categorize

12. Re: source from svn1299 on; is broken when compiling on XP

bernie said...

It looks as if you can open the .svn/entries file as a text file.
read in the forth line set an environment variable and close the file.
at the beginning of a makefile or batch file.

It's more complicated than that (there are multiple numbers and we kind of have to guess which one is the correct one; svn 1.3 uses an xml format instead of the binary format that 1.4 uses). But, ditching svnversion support (at least for DOS) seems like the right way to go.

I just committed this, does revget.ex from svn 1323 work?

new topic     » goto parent     » topic index » view message » categorize

13. Re: source from svn1299 on; is broken when compiling on XP

jimcbrown said...
bernie said...

It looks as if you can open the .svn/entries file as a text file.
read in the forth line set an environment variable and close the file.
at the beginning of a makefile or batch file.

It's more complicated than that (there are multiple numbers and we kind of have to guess which one is the correct one; svn 1.3 uses an xml format instead of the binary format that 1.4 uses). But, ditching svnversion support (at least for DOS) seems like the right way to go.

I just committed this, does revget.ex from svn 1323 work?


Good Job !
Everything works ok with SVN1323
Thanks for your help !
Bernie

new topic     » goto parent     » topic index » view message » categorize

14. Re: source from svn1299 on; is broken when compiling on XP

I couldn't reproduce this problem on my system. Strangely, at least on my system, the call to system( subversion..>rev.dat, 0 ) doesn't create the rev.dat file on DOS whereas it does on Windows. svnversion's directory is in my path.

Shawn Pringle

new topic     » goto parent     » topic index » view message » categorize

15. Re: source from svn1299 on; is broken when compiling on XP

SDPringle said...

I couldn't reproduce this problem on my system. Strangely, at least on my system, the call to system( subversion..>rev.dat, 0 ) doesn't create the rev.dat file on DOS whereas it does on Windows. svnversion's directory is in my path.

Shawn Pringle

Could the interaction between DEP and DOS be a possible culprit here?

new topic     » goto parent     » topic index » view message » categorize

16. Re: source from svn1299 on; is broken when compiling on XP

jimcbrown said...
SDPringle said...

I couldn't reproduce this problem on my system. Strangely, at least on my system, the call to system( subversion..>rev.dat, 0 ) doesn't create the rev.dat file on DOS whereas it does on Windows. svnversion's directory is in my path.

Shawn Pringle

Could the interaction between DEP and DOS be a possible culprit here?

Jim:

DEP probably just works for 32-bit applications.
CMD.exe is a 16-bit emulation if you notice in the error msg I posted.
Bernie

new topic     » goto parent     » topic index » view message » categorize

17. Re: source from svn1299 on; is broken when compiling on XP

bernie said...
jimcbrown said...
SDPringle said...

I couldn't reproduce this problem on my system. Strangely, at least on my system, the call to system( subversion..>rev.dat, 0 ) doesn't create the rev.dat file on DOS whereas it does on Windows. svnversion's directory is in my path.

Shawn Pringle

Could the interaction between DEP and DOS be a possible culprit here?

Jim:

DEP probably just works for 32-bit applications.
CMD.exe is a 16-bit emulation if you notice in the error msg I posted.
Bernie

ex.exe is a 32bit DOS application that runs on top of the 16bit DOS layer (in turn running on top of a 32bit windows console program, sort of), whether DEP is smart enough to make ex.exe work or if it breaks some DOS apps is something I have no experience with. I remember one other person on this forum stating that DEP did break ex.exe in some cases (esp when using graphics), however.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu