473,322 Members | 1,703 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,322 software developers and data experts.

bus error

Dear all,

I was going through peter van der linden's book expert C programming
there i found the following section on bus error

a few years ago bus errors were also generated if a memory parity
error was detected.These days memory chips are so reliable , and so
well protected by error detection and correction circuitry, that
parity errors are almost un heard of at the application programming
level.

how true is the above explanation and that can any one give example
code for generating memory parity error ?
a bus error can also be generated by referencing a memory that do not
physically exists

i tried this example:-

int *p = (int*)(-3);
*p =17;

but i am getting only segmentation fault.

what could be proper example for the above statements

Nov 30 '07 #1
6 3279
so**********@gmail.com wrote:
Dear all,

I was going through peter van der linden's book expert C programming
there i found the following section on bus error

a few years ago bus errors were also generated if a memory parity
error was detected.These days memory chips are so reliable , and so
well protected by error detection and correction circuitry, that
parity errors are almost un heard of at the application programming
level.

how true is the above explanation and that can any one give example
code for generating memory parity error ?
For general computer questions like this try <news:alt.comp.hardwareor
<news:comp.sys.ibm.pc.hardware.*>. This has nothing much to do with
Standard C.
a bus error can also be generated by referencing a memory that do not
physically exists
Under certain system's yes. Such details are always architecture
specific, so you cannot generalise.
i tried this example:-

int *p = (int*)(-3);
*p =17;

but i am getting only segmentation fault.

what could be proper example for the above statements
<OT>
I suppose a misalinged attempt at access might generate a bus error.
</OT>

Nov 30 '07 #2
so**********@gmail.com wrote:
>
I was going through peter van der linden's book expert C programming
there i found the following section on bus error

a few years ago bus errors were also generated if a memory parity
error was detected.These days memory chips are so reliable , and so
well protected by error detection and correction circuitry, that
parity errors are almost un heard of at the application programming
level.

how true is the above explanation and that can any one give example
code for generating memory parity error ?
Parity systems only detect _some_ memory errors, and do not
correct. Good modern systems use ECC, which corrects single bit
errors immediately, and detects at least double bit errors, and
probably most bigger errors. Lousy modern systems omit the ECC.

ECC protects against such things as cosmic rays. Systematic errors
are rare, and detectable through such things as memtest86. But
random events, fixed by ECC, can cause total destruction, and the
evils may happen much later when all backups are fouled.

BTW, is your shift key broken?

--
Chuck F (cbfalconer at maineline dot net)
<http://cbfalconer.home.att.net>
Try the download section.

--
Posted via a free Usenet account from http://www.teranews.com

Nov 30 '07 #3
In article <2c**********************************@i12g2000prf. googlegroups.com>,
<so**********@gmail.comwrote:
>a few years ago bus errors were also generated if a memory parity
error was detected.These days memory chips are so reliable , and so
well protected by error detection and correction circuitry, that
parity errors are almost un heard of at the application programming
level.
Actually, the vast majority of modern computers do not have any error
detection of this kind for their main memory. Modern memory is less
susceptible to errors because of improvements in chip packaging which
have reduced the rate of errors due to alpha particles.

-- Richartd
--
"Consideration shall be given to the need for as many as 32 characters
in some alphabets" - X3.4, 1963.
Nov 30 '07 #4
so**********@gmail.com wrote:
Dear all,

a few years ago bus errors were also generated if a memory parity
error was detected.These days memory chips are so reliable , and so
well protected by error detection and correction circuitry, that
parity errors are almost un heard of at the application programming
level.

how true is the above explanation and that can any one give example
code for generating memory parity error ?
This isn't a C question. you need to find a better place to ask. Google
for instance...
Dec 1 '07 #5
[sorry being OT, but I do have a weak spot for faults]

CBFalconer wrote:
so**********@gmail.com wrote:
>I was going through peter van der linden's book expert C programming
there i found the following section on bus error
On bus error, just take the train. :)

Parity systems only detect _some_ memory errors, and do not
The point, is that parity bit detect *all* single bit errors, in fact
parity detect all odd bit errors... right?
correct. Good modern systems use ECC, which corrects single bit
errors immediately, and detects at least double bit errors, and
probably most bigger errors.
Good systems, or let say expensive systems, do far more than that.
Recovering *only* from single bit errors, is low-end server stuff. :)

IBM S/390 mainframes protect against memory failures by design, no chip
affect more than a single bit in the ECC code. Hence, IBM mainframes can
protect against memory chip failures, even in the case that every bit in
a chip fails. That is, the ECC logic can fix hardware fault of a memory
chip, without loss of data.

HP Nonstop (former Tandem Computers) mainframes did protection via
lockstep, is case of HW faults, redundant HW took over the processing.
The principle here, as I understand it, was that computations was
performed in parallel and checked, whenever there was a disagreement,
the module was marked faulty, and processing moved elsewhere from the
last check-point state.

Likewise, various high-end servers, provide extended protection e.g.
chipkill (IBM), chipspare (HP), Extended ECC (Sun/Fijutsi) etc..
These days, Intel Itanium2 CPUs comes with a number of RAS features,
including lock-step technology for both sockets and core. I have tried
reading Intels CPU manuals, without finding much information about these
interesting features.

Both AMD64 and IA-64 has 4 protection rings, while the most popular OS
kernels utilize only two (user and kernel space). Utilizing all the 4
rings, will make future kernels more robust and secure.
ECC protects against such things as cosmic rays. Systematic errors
are rare, and detectable through such things as memtest86. But
random events, fixed by ECC, can cause total destruction, and the
evils may happen much later when all backups are fouled.
HW faults will bring most low-end systems down, correcting single-bit
failures was perhaps sufficient in the past, we do move forward. :)

--
Tor <bw****@wvtqvm.vw | tr i-za-h a-z>
Dec 2 '07 #6
Tor Rustad wrote:
CBFalconer wrote:
.... snip ...
>
[sorry being OT, but I do have a weak spot for faults]
>Parity systems only detect _some_ memory errors, and do not

The point, is that parity bit detect *all* single bit errors, in
fact parity detect all odd bit errors... right?
>correct. Good modern systems use ECC, which corrects single bit
errors immediately, and detects at least double bit errors, and
probably most bigger errors.

Good systems, or let say expensive systems, do far more than that.
Recovering *only* from single bit errors, is low-end server stuff. :)

IBM S/390 mainframes protect against memory failures by design, no
chip affect more than a single bit in the ECC code. Hence, IBM
mainframes can protect against memory chip failures, even in the
case that every bit in a chip fails. That is, the ECC logic can fix
hardware fault of a memory chip, without loss of data.
All that requires is using the cheapest available chips with ECC,
i.e. N x 1 bit memory chips. 2 bit wide can be just as cheap,
because they lose one address pin and gain one data pin. Anything
wider costs pins.

--
Chuck F (cbfalconer at maineline dot net)
<http://cbfalconer.home.att.net>
Try the download section.

--
Posted via a free Usenet account from http://www.teranews.com

Dec 2 '07 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: AIM | last post by:
Error in msvc in building inheritance.obj to build hello.pyd Hello, I am trying to build the boost 1.31.0 sample extension hello.cpp. I can not compile the file inheritance.cpp because the two...
2
by: Gregory | last post by:
Hi, One of the disadvantages of using error handling with error codes instead of exception handling is that error codes retuned from a function can be forgotten to check thus leading to...
13
by: deko | last post by:
I use this convention frequently: Exit_Here: Exit Sub HandleErr: Select Case Err.Number Case 3163 Resume Next Case 3376 Resume Next
7
by: p | last post by:
WE had a Crystal 8 WebApp using vs 2002 which we upgraded to VS2003. I also have Crystal 9 pro on my development machine. The web app runs fine on my dev machine but am having problems deploying....
3
by: Manuel | last post by:
I'm trying to compile glut 3.7.6 (dowbloaded from official site)using devc++. So I've imported the glut32.dsp into devc++, included manually some headers, and start to compile. It return a very...
0
by: bazzer | last post by:
hey, im trying to access a microsoft access database from an ASP.NET web application in visual basic 2003.NET. i get the following error when i try running it: Server Error in...
1
by: developer | last post by:
Hi All I have made a .NET project. the files included are borland c++ files that i am migrate to VC++ .NET I am using Microsoft Visual C++ .NET 2003. the compilation goes through properly,...
0
by: mchuc7719 | last post by:
Hello, I have a Vb.Net 2005 ClassLibrary, when I try to compile using MSBee, only get errors. Before I to run the command line, I open in notepad the .vbproj and I was add the next line: ...
2
hyperpau
by: hyperpau | last post by:
Before anything else, I am not a very technical expert when it comes to VBA coding. I learned most of what I know by the excellent Access/VBA forum from bytes.com (formerly thescripts.com). Ergo, I...
0
hyperpau
by: hyperpau | last post by:
Before anything else, I am not a very technical expert when it comes to VBA coding. I learned most of what I know by the excellent Access/VBA forum from bytes.com (formerly thescripts.com). Ergo, I...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.