I thought the article below "Why is software so bad..." was very
It has several quotes from some of the notable professionals in the
I have two (suposedly) identical systems. My application runs fine on
one, on the other QNX crashes completely when I run my app (everything
frozen). Here's the setup:
motherboard - AMI 33 MHz 486 EISA.
memory - 8 Meg.
OS - QNX 4.20.
HD - Adaptec SCSI
video - Trident SVGA
unusual stuff - Metacomp ATComm/XL Serial Comm. Adapter (this is what my
Now, my app runs at root privilage since it needs to touch hardware so
it's not so surprising that it's possible to crash the OS. I ran the
debugger and found that the crash occurs inside the C++ call to "new". I
traced the assy code in new and found the exact location of the crash to
be byte 152 of the function ExpandDGROUP (a JNE instruction). Basically,
this is deep inside malloc. Another important fact is that I'm using the
"curses" library and I've seen malloc fail in previous versions of QNX
where video initialization occurs before the first malloc call (which it
does in this case).
Again, as far as I can tell, the two machines are the same except that
my software works on one and not on the other. I suppose I could have a
bad motherboard but all other software is working fine. Is there a
diagnostic available for QNX that will really wring out a motherboard?
Should I upgrade QNX to version 4.22? Can anyone think of other ideas I
10. Why am I not in?