Skip to main content

[archive] Internal Error #45

  • February 16, 2009
  • 3 replies
  • 0 views

Dominique Sacre
Forum|alt.badge.img+2

[Migrated content. Thread originally posted on 13 February 2009]

We have been converting our system to 8.1 and during that I have run accross a couple of odd issues. The following is something that I can explain and I think can be replicated.

The following code, which I agree is in error casuses a very odd issue...
if ed-end-loc-no = spaces or high-values or zero
move high-values to ed-end-loc-no.
else
move ws-end-loc-no to end-loc.

The last 2 lines were supposed to be deleted and I had missed that. However, the side effect I got from this unmatched else is the issue.

That error produces a "Memory access violation" and then causes an error on the in the code 20 or so lines later with an Internal error #45.

The kicker is this compeltely stops the compile, it does not check the remaining code.

Had the unmatched else and this internal error been the only issues I may have been able to figure it out, but I had several errors so it really was not obvious what was going on and the fact that the compiler stops in the middle of the code is confusing.

Is this a bug? ...or is there an explanation as to why the compiler would give up this way?

3 replies

Dominique Sacre
Forum|alt.badge.img+2

[Migrated content. Thread originally posted on 13 February 2009]

We have been converting our system to 8.1 and during that I have run accross a couple of odd issues. The following is something that I can explain and I think can be replicated.

The following code, which I agree is in error casuses a very odd issue...
if ed-end-loc-no = spaces or high-values or zero
move high-values to ed-end-loc-no.
else
move ws-end-loc-no to end-loc.

The last 2 lines were supposed to be deleted and I had missed that. However, the side effect I got from this unmatched else is the issue.

That error produces a "Memory access violation" and then causes an error on the in the code 20 or so lines later with an Internal error #45.

The kicker is this compeltely stops the compile, it does not check the remaining code.

Had the unmatched else and this internal error been the only issues I may have been able to figure it out, but I had several errors so it really was not obvious what was going on and the fact that the compiler stops in the middle of the code is confusing.

Is this a bug? ...or is there an explanation as to why the compiler would give up this way?
I think this should be reported to technical support. While source format constructs that differ from legal syntax may cause unexpected behavior, memory access violation is not one that should be.

Dominique Sacre
Forum|alt.badge.img+2

[Migrated content. Thread originally posted on 13 February 2009]

We have been converting our system to 8.1 and during that I have run accross a couple of odd issues. The following is something that I can explain and I think can be replicated.

The following code, which I agree is in error casuses a very odd issue...
if ed-end-loc-no = spaces or high-values or zero
move high-values to ed-end-loc-no.
else
move ws-end-loc-no to end-loc.

The last 2 lines were supposed to be deleted and I had missed that. However, the side effect I got from this unmatched else is the issue.

That error produces a "Memory access violation" and then causes an error on the in the code 20 or so lines later with an Internal error #45.

The kicker is this compeltely stops the compile, it does not check the remaining code.

Had the unmatched else and this internal error been the only issues I may have been able to figure it out, but I had several errors so it really was not obvious what was going on and the fact that the compiler stops in the middle of the code is confusing.

Is this a bug? ...or is there an explanation as to why the compiler would give up this way?
I think this should be reported to technical support. While source format constructs that differ from legal syntax may cause unexpected behavior, memory access violation is not one that should be.

Dominique Sacre
Forum|alt.badge.img+2

[Migrated content. Thread originally posted on 13 February 2009]

We have been converting our system to 8.1 and during that I have run accross a couple of odd issues. The following is something that I can explain and I think can be replicated.

The following code, which I agree is in error casuses a very odd issue...
if ed-end-loc-no = spaces or high-values or zero
move high-values to ed-end-loc-no.
else
move ws-end-loc-no to end-loc.

The last 2 lines were supposed to be deleted and I had missed that. However, the side effect I got from this unmatched else is the issue.

That error produces a "Memory access violation" and then causes an error on the in the code 20 or so lines later with an Internal error #45.

The kicker is this compeltely stops the compile, it does not check the remaining code.

Had the unmatched else and this internal error been the only issues I may have been able to figure it out, but I had several errors so it really was not obvious what was going on and the fact that the compiler stops in the middle of the code is confusing.

Is this a bug? ...or is there an explanation as to why the compiler would give up this way?
I have sent this to support.

As I explained to them, the biggest problem with this was that my focus changed to trying to figure out what I could have done to cause a memory violation instead of fixing syntax errors. Had I focused on the errors it noted I would have figured out and corrected the problem.

A compile causing a memory access violation error and stopping the compile process is just confusing.