[BNU] Comments on recent posts...

  • From: "Joseph Lee" <joseph.lee22590@xxxxxxxxx>
  • To: <braillenote@xxxxxxxxxxxxx>
  • Date: Mon, 11 Nov 2013 10:56:35 -0800

Hi folks,

Hope you're enjoying your holiday here in the united States.

Just wanted to comment on some recent messages posted on this list:

.        KeySoft 9.4: Greg mentioned (in the phone session, which will be
posted today) that KeySoft 9.4 includes a number of bug fixes in addition to
Nemeth support. We don't know what these fixes are until we get our hands on
the software later this year. Speaking of release dates, a number of
evidences points to a near release.

.        Application errors: I'm sorry to inform that these will never go
away unless code rewrite is done. These messages are presented when
something critically goes wrong in KeySoft (and often it does). It may be
caused by number of issues, but the one I, Alex and others are interested in
is illegal operations where KeySoft says to itself, "hey, I want some memory
location or want to do something cool," but then the operating system says,
"oh, no you don't." (it has various names, including illegal operation,
memory access violation, exceptions somewhere and so on) I'll not go into
details on how programs communicate with operating systems (called system
calls, inter-process communication and so on, which are way off topic), but
know that hunting down this problem is a major task.

.        Exception commands: This is caused by a number of things. The most
prominent is data and memory access violation where KeySoft wants to access
some memory that it does not have access to or has become corrupted. In
programming, there is a concept of memory access and pointer where a program
such as KeySoft would look at a certain section of memory (typically RAM)
and read from or write stuff there.

In our scenario, the conversation between KeySoft and the OS could go
something like this:

KeySoft: Sir, I want to access certain memory section in RAM.

CE: Let's see. Which memory?

KeySoft: The address 0xaa.

CE: Yes, it is free. Go ahead and do stuff with it and let me know when
you're done.

The above was a typical scenario (in computing ,memory addresses, or
locations are written in hexadecimal digits). However, the below scenario
would cause memory exception:

Keysoft: Sir, I need to read something from RAM.

CE: Which address?

KeySoft: Zero please.

CE: Huh? Did I hear you right?

KeySoft: Yes.

CE: Well, you don't have access to that location, so your request is denied.
(then CE says to the memory manager) um, memory manager, can you raise an
exception against keysoft.exe saying that memory access violation has
occurred?

KeySoft: What? (however, it complies, saying to the user) I got an exception
when attempting to read a NULL address (a.k.a. access violation reading 0;
the address of 0 is usually termed NULL or NILL in some computer science
circles, meaning not allowed or undefined).

In some other cases, KeySoft may say address other than zero, and this
points to somewhere on RAM or flash disk sector that it couldn't access. The
usual culprits are either KeySoft attempting to access the invalid memory
location (as you saw above), or the place where KeySoft looks for stuff in
flash disk is no longer valid (perhaps data has been erased, not what
KeySoft was expecting, etc.). This problem becomes frequent with age,
particularly if you've been using KeyMail for a long time or have been using
flash disk for a lot of purposes such as recordings.

Hope the above conversation helps (personally, I now find that explaining
concepts with conversations helps a lot; and Alex, I hope I didn't miss
anything important(.

Cheers,

Joseph

 

 

Other related posts:

  • » [BNU] Comments on recent posts... - Joseph Lee