By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,334 Members | 2,746 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,334 IT Pros & Developers. It's quick & easy.

XP can't play DVD sound

P: n/a
Here's one for the trolls...a common jibe from them is setting up
audio/video hardware under linux.

Ok, true story: at work today, someone asked me if I could tell him why
his XP Home would play the video from a DVD but not the audio. He had
been searching for an answer for days on support.microsoft.com but found
none. I suggested Google and Gateway. Gateway had nothing, but sure
enough, search for *XP DVD no sound* on Google and Google Groups and
there's a whole passel of articles. Unfortunately, none of the threads
have any resolution!!! Just a bunch of disgrunted Windos XP users,
flailing in the wind. Oh, yea, they mention /codecs/ -- yeah, like the
XP user is supposed to know about arcane technology??????? WHY CAN'T XP
INSTALL SIMPLY AND EASILY LIKE REDHAT, NOVELL/SUSE, GENTOO, DEBIAN ETC
ETC ETC

MR GATE -- YOU ARE A FAILURE IN THE HOME COMPUTING INDUSTRY !!!!!

How can XP hope to become a serious OS if it can't install the basic
hardware from a /tighly coupled/ mainstream vendor like Gateway?

Why is an /off-the-shelf/ major brand PC with XP Home so hard to use??

Tell us, winTrolls ???
Jul 21 '05 #1
Share this Question
Share on Google+
22 Replies


P: n/a
On Sat, 17 Jan 2004 02:57:45 GMT, The Road To Utopia <pa*******@bakers.man>
wrote:
Here's one for the trolls...a common jibe from them is setting up
audio/video hardware under linux.
That's because it is a PITA.
Tell me, ALSA, OSS,ARTS,ESOUND?
Which one should I use and why?
Ok, true story: at work today, someone asked me if I could tell him why
his XP Home would play the video from a DVD but not the audio. He had
been searching for an answer for days on support.microsoft.com but found
none. I suggested Google and Gateway. Gateway had nothing, but sure
enough, search for *XP DVD no sound* on Google and Google Groups and
there's a whole passel of articles. Unfortunately, none of the threads
have any resolution!!! Just a bunch of disgrunted Windos XP users,
flailing in the wind. Oh, yea, they mention /codecs/ -- yeah, like the
XP user is supposed to know about arcane technology??????? WHY CAN'T XP
INSTALL SIMPLY AND EASILY LIKE REDHAT, NOVELL/SUSE, GENTOO, DEBIAN ETC
ETC ETC
REally?
Tell me how to play a wmv file with SuSE 9.0 right out of the box?
An AVI file?

Does mplayer (kaffine in SuSE's case) offer to go out on the net and find the
codec?

How about an mp4 file.
Again, right out of the box.

For that matter how do I play an mp3 file with Redhat out of the box?
MR GATE -- YOU ARE A FAILURE IN THE HOME COMPUTING INDUSTRY !!!!!
Tell that to the 95 percent of the population that are using the OS that is a
failure according to you.

How can XP hope to become a serious OS if it can't install the basic
hardware from a /tighly coupled/ mainstream vendor like Gateway?
Duhhhhhh....

Did your idiot friend attempt to install the software that came with the DVD?
Or maybe he is too stupid to figure out how to make it work.
Why is an /off-the-shelf/ major brand PC with XP Home so hard to use??
It isn't.

You are lying.

Tell us, winTrolls ???


I just did.

Oh yea,,,,hello Bailo....
flatfish+++
Jul 21 '05 #2

P: n/a
mlw
The Road To Utopia wrote:
Here's one for the trolls...a common jibe from them is setting up
audio/video hardware under linux.

Ok, true story: at work today, someone asked me if I could tell him why
his XP Home would play the video from a DVD but not the audio. He had
been searching for an answer for days on support.microsoft.com but found
none. I suggested Google and Gateway. Gateway had nothing, but sure
enough, search for *XP DVD no sound* on Google and Google Groups and
there's a whole passel of articles. Unfortunately, none of the threads
have any resolution!!! Just a bunch of disgrunted Windos XP users,
flailing in the wind. Oh, yea, they mention /codecs/ -- yeah, like the
XP user is supposed to know about arcane technology??????? WHY CAN'T XP
INSTALL SIMPLY AND EASILY LIKE REDHAT, NOVELL/SUSE, GENTOO, DEBIAN ETC
ETC ETC

MR GATE -- YOU ARE A FAILURE IN THE HOME COMPUTING INDUSTRY !!!!!

How can XP hope to become a serious OS if it can't install the basic
hardware from a /tighly coupled/ mainstream vendor like Gateway?

Why is an /off-the-shelf/ major brand PC with XP Home so hard to use??

Tell us, winTrolls ???


As a Linux user I think I can explain what is happening:

There are three sound options on CD/DVD devices, the audio out, digital out,
and digital audio through data bus. If the player is expecting audio data
connected to an audio in, (and it is not connected) then you'll have no
sound. If the player is expecting audio data from digital in, and it is not
configured for digital in or the digital out from the CD/DVD drive is not
connected to the sound card or motherboard, then you'll have no sound. If
the system is expecting audio data through the data bus, it may be that the
player requires an AC5 codec that is not installed.
Jul 21 '05 #3

P: n/a
Then tell the person at work to install Linux, and offer to answer his phone
calls for tech support (free of charge) every time he has a problem.

I tell you, I answer a lot less stupid questions about setting up Windows XP
than I did for Windows 95, 98, and ME combined.

Never had a problem helping people with 2000 because very few *home users*
installed it. I'm glad they didn't, since it didn't support all hardware
out of the box. But this was not MICROSOFT's fault---it was bad NT driver
support---vendors were accustomed to writing crappy VXD Drivers that didn't
work half the time, and it took a while before they learned to write crappy
WinNT drivers that didn't work half the time.

And so many programs that used to work on 98 and ME which did things like
dereferencing null pointers suddently DIDN'T work on Windows XP, since XP
protected against memory access outside of a process's allocated area. For
example, is it Microsoft's fault that Final Fantasy 7 crashes on Windows
2000 because they dereference an invalid pointer? Certainly not. It's
Eidos's fault, and they don't even provide their OWN fix (somebody else had
to hack it). Many driver problems are caused by such bugs, and many driver
programmers had to learn how to do things the *more* correct way in NT.
Once again this can hardly be Microsoft's fault. I think the fact that I've
never had to download motherboard or hard disk drivers ahead of time to
install XP says something about its out-of-the-box hardware support, even
with my very obscure RAID controller.

At least Microsoft is trying to fix such stupid bugs in OTHER PEOPLE'S
software by taking away the programmer's right to manage their own memory
and instead forcing them to rely on a garbage collector. I'm not sure if
this is the best solution in all cases (certainly not for device drivers),
but it can't be all bad. Of course, then programmers do things like
copying-and-pasting code that ignores IDisposable on classes that handle
precious unmanaged resources, but at least there won't be any crashes
because some overworked programmer forgot to initialize a pointer in code he
wrote at 3:00AM.

As for Linux, I gave up on trying to get sound to work, but I wasn't all
that interested in getting it to work anyway. I'm sure I could have done
it...but it wasn't worth my time to figure it out. Still it has NEVER been
a problem on XP.. In fact, both my onboard AC97 and my PCI sound card work
fine simultaneously.... With earlier OSs I had to download drivers. How is
this not an improvement?

However, I was successful with FreeBSD, and it ceratinly isn't the easiest
OS to configure. In fact, despite the simple text-mode installation UI, it
was quite pleasurable to install.

You're just countering an argument about poor hardware support in Linux in
many more important areas with a case of XP not supporting something as
frivolous as audio in a DVD. I suppose the world is going to end because
Gateway or whoever made John Bob's computer didn't bother to configure it or
build it properly. I'm willing to bet this is a driver issue---which once
again isn't REALLY Microsoft's fault. If it was, I'm sure there'd be an
updated driver on Windows Update before too long---hell they try to get me
to update mine all the time when I'm using newer ones from the vendor that
work.

Anyway...

Feeding the Linux Trolls,

Matthew W. Jackson

"The Road To Utopia" <pa*******@bakers.man> wrote in message
news:Jw******************@newsread1.news.pas.earth link.net...
Here's one for the trolls...a common jibe from them is setting up
audio/video hardware under linux.

Ok, true story: at work today, someone asked me if I could tell him why
his XP Home would play the video from a DVD but not the audio. He had
been searching for an answer for days on support.microsoft.com but found
none. I suggested Google and Gateway. Gateway had nothing, but sure
enough, search for *XP DVD no sound* on Google and Google Groups and
there's a whole passel of articles. Unfortunately, none of the threads
have any resolution!!! Just a bunch of disgrunted Windos XP users,
flailing in the wind. Oh, yea, they mention /codecs/ -- yeah, like the
XP user is supposed to know about arcane technology??????? WHY CAN'T XP
INSTALL SIMPLY AND EASILY LIKE REDHAT, NOVELL/SUSE, GENTOO, DEBIAN ETC
ETC ETC

MR GATE -- YOU ARE A FAILURE IN THE HOME COMPUTING INDUSTRY !!!!!

How can XP hope to become a serious OS if it can't install the basic
hardware from a /tighly coupled/ mainstream vendor like Gateway?

Why is an /off-the-shelf/ major brand PC with XP Home so hard to use??

Tell us, winTrolls ???

Jul 21 '05 #4

P: n/a
Matthew W. Jackson wrote:
Then tell the person at work to install Linux, and offer to answer his phone
calls for tech support (free of charge) every time he has a problem.
Good idea. Then he'll never call me.
At least Microsoft is trying to fix such stupid bugs in OTHER PEOPLE'S
software by taking away the programmer's right to manage their own memory
and instead forcing them to rely on a garbage collector. I'm not sure if
This is Media Player 9, on a Gateway machine, pre-installed, all
guidelined hardware, from a major vendor with relationships with
Microsoft. The only guilty parties are Microsoft, Microsoft and Microsoft.
this is the best solution in all cases (certainly not for device drivers),
but it can't be all bad. Of course, then programmers do things like
copying-and-pasting code that ignores IDisposable on classes that handle
precious unmanaged resources, but at least there won't be any crashes
because some overworked programmer forgot to initialize a pointer in code he
wrote at 3:00AM.
So you're saying the Microsoft programmers who wrote Media Player are
forgetting to dereference pointers! Hah!

As for Linux, I gave up on trying to get sound to work, but I wasn't all
that interested in getting it to work anyway.
You get what you wish for...
it...but it wasn't worth my time to figure it out. Still it has NEVER been
a problem on XP..
Yeah, but for this user and many others ( as I said, Google produces
/quite/ a few ) it *is* a problem....how come when a WinTrol finds some
arcane high end 3rd party board that was made last Sunday and finds that
"Linux can run it" he comes into COLA and rants for post after post --
yet here is a MAINSTREAM HARDWARE PART from a MAJOR VENDOR with the
MICROSOFT GUIDELINED and WRITTEN application MEDIA PLAYER 9 --- and the
whole bunch of it, can't produce sound from a DVD --- it belies the very
heart of any argument for CSS ----

However, I was successful with FreeBSD, and it ceratinly isn't the easiest
OS to configure. In fact, despite the simple text-mode installation UI, it
was quite pleasurable to install.
I have the greatest respect for FreeBSD -- _BUT_ I also suspect that
mentioning /BSD/ in the context of Linux is now more often done as a
/troll/ response rather than by serious users of BSD. Yet, another jab
by the Henchmen of Mr. Gate, who cannot produce SOUND from a DVD even
though Mr. Gate and his so-called /developers/ have been working on
multimedia for longer than Linux has existed !!!!!

You're just countering an argument about poor hardware support in Linux in
many more important areas with a case of XP not supporting something as


No -- I'm saying that bringing an argument about Linux configuration
into COLA by Mr. Gate's trolls and then saying, /that would never happen
in CSS/ is absolutely, patently, and most egregiously /_*FALSE*_/

Jul 21 '05 #5

P: n/a
I'm not denying the fact that it's happening.

I'm not saying that it will never happen.

I'm also not saying that it's okay that it does happen, and that Microsoft
has no responsibility to make it right. If in a few months there still
isn't a patch from Microsoft or Gateway, you can tell me I told you so.
Just send me an email and I'll be glad to praise your
all-knowing-Linux-pushing-CSS-bashing forsight. And if Microsoft goes
bankrupt because 1% of its users can't watch DVDs, then I'll do more than
that.

I'm just saying that the fact that this happened does not mean that
Microsoft has failed to write a good operating system or good software.

So they have guidelined hardware, and they provide tested drivers that are
supposed to work out of the box. In this one case, they don't work. All
the guidelines and testing in the world won't prevent problems from
happening. This is true of both open-source and closed-source software.
They have a way to make everything work out of the box---it's called the
X-Box. And I'm sure everyone (both Windows and Linux user) would
<sarcasm>LOVE</sarcasm> to throw out their PCs for a closed piece of
hardware tightly coupled with a closed operating system and encrypted
software discs.

I'm not defending closed-source software. I've been advocating that
Microsoft open their Windows source for years....if for no other reason than
to quiet complaints from OSS advocates that a bug such as not being able to
play audio on a DVD is the end of the world. Show me a better case of
hardware failure....show me Media Player corrupting files. This still seems
rather frivolous to me.

It's not like there's not a workaround, either. I would personally suggest
trying a software DVD decoder. My brother had to do this for a long time in
Windows XP---not because of Microsoft and their closed source software and
their shortsidedness, but because of ATI's crappy drivers. In fact, my
brother had to BUY a new driver CD to get a DVD codec from them, since his
old driver CD didn't qualify him for the newest version of the said DVD
codec. I suspect two things 1) stupid policies from the MPAA regarding
copy-protection and whatnot on DVDs and 2) bad initial drivers from ATI
which required a complete rewrite which was not covered under the original
license for the aforementioned stupid patented codec.

And Microsoft and ATI work closely together! Whose problem is this, I ask
you? My first answer is the organization that owns the patents on DVD
codecs. My second is ATI. In a distant last place would be Microsoft.

I also suspect the real root of the problem you mentioned is *also* related
to DVD's stupid protection schemes. I mean, if the codecs were open and
people were allowed to write software to access DVDs without relying on
licensing stupid algorithms that were reverse engineered at nearly day one,
this wouldn't be an issue. Once again, I would place the OEM at fault in
the first place. They really should test something like the ability to play
DVDs on a PC marketed as being able to play DVDs. If I were building a
system for somebody and this didn't work I would certainly try switching out
the sound card, even if the first sound card was in fact certified by
Microsoft. Certification is meaningless to me anyway---but at least they
are attempting to control the chaos that is the hardware market.

And it would be easier to find alternative programs than Windows Media
Player. I sure as hell don't use it. It's not because I don't like the
program, and it's not that it doesn't work. It's that I prefer another
program, which happens to be open source. However the fact that it's OSS
didn't persuade me one way or another. I use what I like as long as it
works.

Oh, and as for my sound card that didn't work in Linux---it was by no means
obscure. It was an old SoundBlaster AWE64. I don't even remember if it was
plug-and-play or not, but seeing as the SB16 hardware had been around a
while I suspected that sound would work out of the box on any OS I tried.
Heck, even Windows 3.11 had minimal support for it out of the box. But I'm
not trying to say that the fact that I couldn't get this card to Linux is a
fault of the Linux developers. I mean, I AM still running Linux on that
machine, so it isn't a deal-breaker to me. I'm saying that there will
always be hardware configuration problems....unless you feel like writing an
Artificially Intelligent All-Purpose Hardware Driver. (God help us all if
you do).

And I *AM* using my real name and my real email address in my posts (even if
they are obfuscated to prevent automatic spamming). Maybe this is because I
expect much less hate-mail for my views. Still, I'd be glad to take this
discussion elsewhere.....I'm all for a good argument.

Unless there is a dummy top-level domain....then I stand corrected.

--Matthew W. Jackson

"Fred Sanford" <la****@you.dummy> wrote in message
news:G7*****************@newsread2.news.pas.earthl ink.net...
Matthew W. Jackson wrote:
Then tell the person at work to install Linux, and offer to answer his phone calls for tech support (free of charge) every time he has a problem.
Good idea. Then he'll never call me.
At least Microsoft is trying to fix such stupid bugs in OTHER PEOPLE'S
software by taking away the programmer's right to manage their own memory and instead forcing them to rely on a garbage collector. I'm not sure if
This is Media Player 9, on a Gateway machine, pre-installed, all
guidelined hardware, from a major vendor with relationships with
Microsoft. The only guilty parties are Microsoft, Microsoft and Microsoft.
this is the best solution in all cases (certainly not for device

drivers), but it can't be all bad. Of course, then programmers do things like
copying-and-pasting code that ignores IDisposable on classes that handle
precious unmanaged resources, but at least there won't be any crashes
because some overworked programmer forgot to initialize a pointer in code he wrote at 3:00AM.


So you're saying the Microsoft programmers who wrote Media Player are
forgetting to dereference pointers! Hah!

As for Linux, I gave up on trying to get sound to work, but I wasn't all
that interested in getting it to work anyway.


You get what you wish for...
it...but it wasn't worth my time to figure it out. Still it has NEVER been a problem on XP..


Yeah, but for this user and many others ( as I said, Google produces
/quite/ a few ) it *is* a problem....how come when a WinTrol finds some
arcane high end 3rd party board that was made last Sunday and finds that
"Linux can run it" he comes into COLA and rants for post after post --
yet here is a MAINSTREAM HARDWARE PART from a MAJOR VENDOR with the
MICROSOFT GUIDELINED and WRITTEN application MEDIA PLAYER 9 --- and the
whole bunch of it, can't produce sound from a DVD --- it belies the very
heart of any argument for CSS ----

However, I was successful with FreeBSD, and it ceratinly isn't the easiest OS to configure. In fact, despite the simple text-mode installation UI, it was quite pleasurable to install.


I have the greatest respect for FreeBSD -- _BUT_ I also suspect that
mentioning /BSD/ in the context of Linux is now more often done as a
/troll/ response rather than by serious users of BSD. Yet, another jab
by the Henchmen of Mr. Gate, who cannot produce SOUND from a DVD even
though Mr. Gate and his so-called /developers/ have been working on
multimedia for longer than Linux has existed !!!!!

You're just countering an argument about poor hardware support in Linux in many more important areas with a case of XP not supporting something as


No -- I'm saying that bringing an argument about Linux configuration
into COLA by Mr. Gate's trolls and then saying, /that would never happen
in CSS/ is absolutely, patently, and most egregiously /_*FALSE*_/

Jul 21 '05 #6

P: n/a
Matthew W. Jackson wrote:

And I *AM* using my real name and my real email address in my posts (even if
they are obfuscated to prevent automatic spamming). Maybe this is because I
Me too. I'm Fred Sanford, a 68 year old junk dealer who lives with his
son, Lamont in Watts. Occasionally, I feel like dying, and I clutch my
heart and say /Elizabeth/ (my dead wife) *I'm coming to join ya*

Then Grady Wilson shows up, and Julio sticks his head in my door,
bringing his goat with him.

expect much less hate-mail for my views. Still, I'd be glad to take this
discussion elsewhere.....I'm all for a good argument.

Jul 21 '05 #7

P: n/a
If you have anything intelligent things to add we should take this to
another newsgroup or to email.

I see you posted it in comp.os.linux.advocacy. That might be a better place
but it's not really neutral turf, and it will certainly end up in a long
flame war that gets nowhere and accomplishes anything. I'm not much of a
fan of any advocacy groups, even for products I actually like. So if you
wish to carry this on in a more appropriate place (and I don't think
seattle.general is appropriate either) then let me know when and where.

I've already broken too many of my own rules responding to the intial
flame-bait. This is a tehcnical newsgroup, and arguing over something as
frivolous as a few computers not playing DVD audio in a .NET programming
newsgroup is as stupid as arguing over the correct placement of curly braces
(anywhere).

Still, I'm never going to convince you of anything, and you're never going
to convince me of anything either. So if nothing else just keep my email
address and let me know in...say....May if the problem in question has been
fixed. I think that, considering the actual size of the Windows XP
codebase, that should give Microsoft plenty of time to fix the problem.
I'll gladly eat humble pie if it is proven that this is in fact Microsoft's
fault (and not a driver which slipped through testing), and they do not do
anything to fix it.

--Matthew W. Jackson

"Fred Sanford" <la****@you.dummy> wrote in message
news:tc*****************@newsread2.news.pas.earthl ink.net...
Matthew W. Jackson wrote:

And I *AM* using my real name and my real email address in my posts (even if they are obfuscated to prevent automatic spamming). Maybe this is because I

Me too. I'm Fred Sanford, a 68 year old junk dealer who lives with his
son, Lamont in Watts. Occasionally, I feel like dying, and I clutch my
heart and say /Elizabeth/ (my dead wife) *I'm coming to join ya*

Then Grady Wilson shows up, and Julio sticks his head in my door,
bringing his goat with him.

expect much less hate-mail for my views. Still, I'd be glad to take

this discussion elsewhere.....I'm all for a good argument.

Jul 21 '05 #8

P: n/a
Hi Matthew W. Jackson ,
( I see you're in microsoft.public.dotnet.general )
Re: Why code Crashes ,
You comment ,
" And so many programs that used to work on 98 and ME
which did things like dereferencing null pointers
suddenly DIDN'T work on Windows XP ,
since XP protected against
memory access outside of a process's allocated area " .

This pisses me off ....
Whenever I release code to customers ,
( i.e. whenever I'm not testing or debugging )
it should Never die just because I dereferenced
a protected address . ( Such as *P , where P == 0 )

Archaic line-oriented debuggers and macros also piss me off .

P.S. Here's a funny aside from Dictionary.COM ,
" At first sight ,
the word ' dereference ' might be thought to mean
' to cause to stop referring '
but its meaning is well established in jargon "
_ http://dictionary.reference.com/search?q=dereference
Jul 21 '05 #9

P: n/a
Why crashes?

What if the pointer you are dereferencing is something other than NULL?
This is often the case in two situations: Failure to initialize a pointer to
the address of an ACTUAL object on the heap, and deleting an object but
keeping the pointer around.

In these cases, a crash is necessary. Why?

Okay for reading, the program may get unexpected results. However, if
someone tries to WRITE to that pointer, you could have a potential problem.
Windows 9X would basically let a program write over whatever memory it
wanted. This includes the operating system's own memory.

Are you saying this is the behavior you WANT from programs with these bugs?

Or are you saying that it's these bugs that piss you off? Yes, it should
never die because you dereferenced a pointer to memory that doesn't belong
to your application, but that's because you should not dereference a pointer
that does not belong to your application.

Or else, one could do this:

int* p = NULL;
while(true)
{
*p = 0;
p++;
}

So are you saying you don't want this code to crash? You'd rather have the
program zero out all memory?

Windows NT, 2000 and XP certainly wouldn't allow this to happen..

Or did I miss something?

"Jeff Relf" <Me@Privacy.NET> wrote in message
news:1o***************@x.Jeff.Relf...
Hi Matthew W. Jackson ,
( I see you're in microsoft.public.dotnet.general )
Re: Why code Crashes ,
You comment ,
" And so many programs that used to work on 98 and ME
which did things like dereferencing null pointers
suddenly DIDN'T work on Windows XP ,
since XP protected against
memory access outside of a process's allocated area " .

This pisses me off ....
Whenever I release code to customers ,
( i.e. whenever I'm not testing or debugging )
it should Never die just because I dereferenced
a protected address . ( Such as *P , where P == 0 )

Archaic line-oriented debuggers and macros also piss me off .

P.S. Here's a funny aside from Dictionary.COM ,
" At first sight ,
the word ' dereference ' might be thought to mean
' to cause to stop referring '
but its meaning is well established in jargon "
_ http://dictionary.reference.com/search?q=dereference

Jul 21 '05 #10

P: n/a
Hi Matthew W. Jackson ,
Re: My comment ,
" Whenever I release code to customers ,
( i.e. whenever I'm not testing or debugging )
it should Never die just because I dereferenced
a protected address .
( Such as *P , where P == 0 ) " ,
You ask ,
" So are you saying you don't want this code to crash ? "

Imagine for second , if you can ,
that a customer was using your code .
Do you Ever want that code to crash ? !
( Or would you rather
that it continued as best as it could ? )

Continuing , You ask ,
" You'd rather have the program zero out all memory ? "

I said that the address was protected ,
so that wouldn't happen .

Hmm ... I'm running Win98 only ,
I wonder if " Released " code like that
in Windows XP would would do fine or not ? ?
In Windows 98 it crashes .
Jul 21 '05 #11

P: n/a
Jeff Relf wrote:
Continuing , You ask ,
" You'd rather have the program zero out all memory ? "


Isn't that the job of the Operating System to decide.

If it doesn't -- then it's not doing it's job...

Jul 21 '05 #12

P: n/a
Hi John Bailo ,
Re: My comment ,
" Whenever I release code to customers ,
( i.e. whenever I'm not testing or debugging )
it should Never die just because I dereferenced
a protected address .
( Such as *P , where P == 0 ) " ,
You ask ,
" If it doesn't -- then it's not doing it's job " .

First and foremost , It's job is to Not crash !

I don't have a Windows XP system here with me ,
For all I know it would Not crash or halt .
( In " Release mode " that is ,
and Not inside any debugger )

Jul 21 '05 #13

P: n/a
It certainly does crash in XP under release mode.

If it does crash in Windows 98 it's because it overwrote something that
Windows needed to run properly. Possibly part of the heap. I'm not sure as
it depends on too many things.

My point is it's not good code that should be allowed to run. If you don't
want it to crash your system then you should provide exception handlers.
I'm pretty sure an Access Violation error can be caught.

Then again it shouldn't be happening. Even in an unmanaged language like
C++ one can take care to not have any access violations. With the STL it's
even easier as you don't have to worry as much about dynamic allocation.

--Matthew W. Jackson
"Jeff Relf" <Me@Privacy.NET> wrote in message
news:50***************@x.Jeff.Relf...
Hi John Bailo ,
Re: My comment ,
" Whenever I release code to customers ,
( i.e. whenever I'm not testing or debugging )
it should Never die just because I dereferenced
a protected address .
( Such as *P , where P == 0 ) " ,
You ask ,
" If it doesn't -- then it's not doing it's job " .

First and foremost , It's job is to Not crash !

I don't have a Windows XP system here with me ,
For all I know it would Not crash or halt .
( In " Release mode " that is ,
and Not inside any debugger )

Jul 21 '05 #14

P: n/a
Hi Matthew W. Jackson ,
Re: char *P = 0; *P = 1;
You say ,
" It certainly does crash in XP under release mode " .

You didn't say whether you ran it inside a debugger or not ,
there's a big difference , you know .

Jul 21 '05 #15

P: n/a
It crashes either way.

With a debugger I get a nice Access Violation message.

Without one I get a very cryptic error, without any explicit mention of
Access violation.

Not even XP's application compatibility mode can change this...it crashes on
the exact same line of code:

mov dword ptr [eax],0

Even reading from a pointer outside a program's allocated area results in an
Access Violation. This has to do with security, although a smart
DLL-Injection can get around this.

My question is, are there any OS's (other than DOS---I'm talking modern)
where this kind of program would be allowed to run? Am I missing something?
Does Linux not protect against access violations? Or does it just ignore
the writing.

I'm still under the impression that allowing the writing but not doing
anything is bad because the program is still in an *unexpected state.* I
mean, the program was expecting to write its value somewhere. And when it
happens to use the wrong address, for whatever reason, something is going to
be wrong in the logic of the program. If there isn't an immediate crash,
there could be unexpected silent problems as the program continues to
execute.

This is the purpose of error-checking, be it with return codes or structured
exception handling--and I suspect that anyone who wants a program to be able
to read and write from any address without any feedback from the OS is the
same kind of person who ignores all HRESULTS in Win32 programming, who
catches and eats exceptions in Java just to satisfy the checked exception
requirements, or who uses constructs like On Error Resume Next in VB code
without ever checking Error codes.

Sure, none of us want our programs to crash, but in this case if it *didn't*
crash how would we ever find out that the program is doing something wrong?
(Short of making end users run with some kind of
background-logging-debugger).

--Matthew W. Jackson

"Jeff Relf" <Me@Privacy.NET> wrote in message
news:74**************@x.Jeff.Relf...
Hi Matthew W. Jackson ,
Re: char *P = 0; *P = 1;
You say ,
" It certainly does crash in XP under release mode " .

You didn't say whether you ran it inside a debugger or not ,
there's a big difference , you know .

Jul 21 '05 #16

P: n/a


"Matthew W. Jackson" wrote:

It crashes either way.

With a debugger I get a nice Access Violation message.

Without one I get a very cryptic error, without any explicit mention of
Access violation.

Not even XP's application compatibility mode can change this...it crashes on
the exact same line of code:

mov dword ptr [eax],0

Even reading from a pointer outside a program's allocated area results in an
Access Violation. This has to do with security, although a smart
DLL-Injection can get around this.

My question is, are there any OS's (other than DOS---I'm talking modern)
where this kind of program would be allowed to run? Am I missing something?
I'm not exactly sure of the context of your question, but OpenVMS
won't let it run. Access Violation errors are checked due to
having 5 ring levels of cpu operation.
The new AMD64 has 4 rings, which I feel is adequate enough to
prevent programs from going outside any set memory boundaries by
the sysadmin.
Does Linux not protect against access violations? Or does it just ignore
the writing.

You don't get an access violation message... you get a core file
written so that you can debug your program with.
I'm still under the impression that allowing the writing but not doing
anything is bad because the program is still in an *unexpected state.* I
mean, the program was expecting to write its value somewhere. And when it
happens to use the wrong address, for whatever reason, something is going to
be wrong in the logic of the program. If there isn't an immediate crash,
there could be unexpected silent problems as the program continues to
execute.

If this is in context with XP, then your assumption is correct.
This is the purpose of error-checking, be it with return codes or structured
exception handling--and I suspect that anyone who wants a program to be able
to read and write from any address without any feedback from the OS is the
same kind of person who ignores all HRESULTS in Win32 programming, who
catches and eats exceptions in Java just to satisfy the checked exception
requirements, or who uses constructs like On Error Resume Next in VB code
without ever checking Error codes.

Sure, none of us want our programs to crash, but in this case if it *didn't*
crash how would we ever find out that the program is doing something wrong?
(Short of making end users run with some kind of
background-logging-debugger).

--Matthew W. Jackson

"Jeff Relf" <Me@Privacy.NET> wrote in message
news:74**************@x.Jeff.Relf...
Hi Matthew W. Jackson ,
Re: char *P = 0; *P = 1;
You say ,
" It certainly does crash in XP under release mode " .

You didn't say whether you ran it inside a debugger or not ,
there's a big difference , you know .

Jul 21 '05 #17

P: n/a
Hi Matthew W. Jackson ,
" Sure , none of us want our programs to crash ,
but in this case if it * didn't * crash
how would we ever find out
that the program is doing something wrong ? "

Jesus Fucking Christ ! !

I don't want my paying customers to be my testers ...

Get it ?

If I decide to plop a char *P = 0; *P = 1;
into my code somewhere ,
I'd expect that code to keep running ...

Because , with customers , that's priority One .
Jul 21 '05 #18

P: n/a
Jeff Relf wrote:
If I decide to plop a char *P = 0; *P = 1;
into my code somewhere ,
I'd expect that code to keep running ...

Because , with customers , that's priority One .


If you're customers are so great, how come they are not paying you to
code, only to do /documentation/ for the old code. You're not a
programmer, you're a doc-writer. Live with it.

Obviously, the customer wants to convert to Linux and java.
Jul 21 '05 #19

P: n/a
[ I'm reposting this , I use Individual.NET ,
J.A. Bailo on Earthlink saw it , but I never did ? ! ]

Hi Matthew W. Jackson ,
" Sure , none of us want our programs to crash ,
but in this case if it * didn't * crash
how would we ever find out
that the program is doing something wrong ? "

Jesus Fucking Christ ! !

I don't want my paying customers to be my testers ...

Get it ?

If I decide to plop a char *P = 0; *P = 1;
into my code somewhere ,
I'd expect that code to keep running ...

Because , with customers , that's priority One .
Jul 21 '05 #20

P: n/a
Hi John Bailo ,
Re: Nothing ,
You ask ,
" If you're customers are so great ,
how come they are not paying you to code ? " .

heh ... I forgot to tell you ...
They're even calling it a " Retainer " these days .

For a long time now , I've been paid to do nearly nothing .

" I used to make a lot of money Not growing corn ,
but now I don't grow tobacco ...
because there's a lot more money in it "
_ Some comedian .
Jul 21 '05 #21

P: n/a
Then write an exception handler, and log the exception to a file somewhere.

I'M saying that if your code does do something like that, then it's ALMOST
ABSOLUTELY CERTAINLY going to have a logic error. Even if you prevent the
program from crashing, how can you be sure it's executing properly?

Simplified Example to Establish a Point:

Contact* myContact;
myContact->age = 21;

Is your code executing properly?

IF the OS ignores the access violation, then the Age value will most
certainly be garbage. What if it happened to be a negative number? What if
some code written by another progammer then crashes or corrupts a data file
because that programmer didn't ever expect a negative age?

What do you tell your customer when your program is getting incorrect
results? What if this was a financial application? What if they were
depending on correct results, and assumed that because your program did not
give an error that everything was okay.

With proper exception handling, you can GRACEFULLY handle the access
violation, so the program continues to execute. There is still a problem,
but it won't be a show stopper. Also, you can warn the user that something
may have gone wrong and they MIGHT want to check the results. Better yet,
they can send you a report of the problem so MAYBE you can fix it in Version
2. As a user, I sure as hell prefer to be notified when a program might be
doing something wrong.

What about buffer overruns? If the invalid pointer happened to be pointing
INSIDE your application's allocated memory, it wouldn't generate an Access
violation anyway. If some hacker figured out the bug, they could certainly
exploit your software to execute malicious code.

An access violation is still a sign of something NOT WORKING PROPERLY.
Whether or not your program crashes is up to you as a programmer. It's just
that the Windows XP operating system by default will halt the application.
Linux chooses to log the error. But what end-user would check the log? How
would you ever know your program DID have a bug? I know users aren't beta
testing for you, but how on earth do you fix a problem if you or your
customer don't even know about it?

Just ignoring an error does not make it go away.

--Matthew W. Jackson

"Jeff Relf" <Me@Privacy.NET> wrote in message
news:1u***************@x.Jeff.Relf...
[ I'm reposting this , I use Individual.NET ,
J.A. Bailo on Earthlink saw it , but I never did ? ! ]

Hi Matthew W. Jackson ,
" Sure , none of us want our programs to crash ,
but in this case if it * didn't * crash
how would we ever find out
that the program is doing something wrong ? "

Jesus Fucking Christ ! !

I don't want my paying customers to be my testers ...

Get it ?

If I decide to plop a char *P = 0; *P = 1;
into my code somewhere ,
I'd expect that code to keep running ...

Because , with customers , that's priority One .

Jul 21 '05 #22

P: n/a
Jeff Relf wrote:
I don't want my paying customers to be my testers ...


Yeah, that's Bill Gate job.
Jul 21 '05 #23

This discussion thread is closed

Replies have been disabled for this discussion.