| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | OS/2 crash-proof? |
SS> > Since I use my OS/2 machine for programming DOS (and hopefully soon, OS/2) > apps ... > ... I've had some bad code (e.g. stray pointers, bad > addresses, etc.) that locked OS/2 (2.11) tight as a drum. ... SS> I haven't. And I can perhaps point you towards some reasons why our experiences differ. Almost all of the programs that I've written have had a SYS317x at one time or another, and OS/2 has continued soldiering on. The only time that I've had problems where I had to restart the system was when I was learning how to program Presentation Manager. A locked message queue is not a happy system. (-: However, I now write OS/2 programs. I remember from my DOS days that there is at least one way to *guarantee* a TRAP 000E with about six lines of code. What is this code ? Well, it turns out that the parameters in calls to the Virtual Device Drivers that power the Virtual DOS Machines are not validated as strictly as they could be. I passed an array longer than the "documented" 14 bytes to one function, and -- voila! -- instant TRAP. The problem is that VDDs run at Ring 0 (kernel level), because of the way that VDM management is integrated into the kernel. Any process exception in Ring 0 causes a TRAP, whereas the same problem in Ring 3 (where normal user code, and normal VDM code run) would just be caught and give a SYS317x exception. If you happen to screw up a VDM to the extent of confusing the wrong VDD, then you are liable to get a TRAP. This is not to say that VDDs are in general badly written. On the contrary, in a couple of years that one sequence was the only way that I found to cause a TRAP from a VDM. And even that was undocumented stuff that I shouldn't really have been fiddling with. Nevertheless, it is important to bear in mind that VDDs may not be perfect. > JdeBP < ___ X MegaMail 2.10 #0: --- Maximus/2 2.01wb* Origin: DoNoR/2,Woking UK (0483-725167) (2:440/4) SEEN-BY: 12/2442 54/54 620/243 624/50 632/348 640/820 690/660 711/409 410 413 SEEN-BY: 711/430 807 808 809 934 942 712/353 623 713/888 800/1 @PATH: 440/4 141/209 270/101 396/1 3615/50 229/2 12/2442 711/409 54/54 @PATH: 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.