Dear Users... (A thread for Sysadmin, Technical Support, and Help Desk people)

Status
Not open for further replies.
It's not an abend, the final "A" indicates action required. In the sysgen it was specified that when the system was IPLed the operator would be asked for some extra info, commonly which pack to IPL from. Via an IEA101A message which was one I did recognise. This is saying the reply to the original message was incomplete. From a non-master console such as SDSF you'd look for these with the "d r,r" command. Bloody hell I remember more than I thought but I did have to look up the 116.
 
Can you make this change?

No, that change would require a major update to the SOE for the entire department and all our agencies.

Okay, so can you make the change?

No.

How can I escalate this?

This change is not going to be made.

But we need the change to be made.

There is no circumstance under which this change will be made.

Okay, so how do we get the change made?

We don't. It's not going to happen. We will not be making this change.

Okay, but...
 
It's not an abend, the final "A" indicates action required. In the sysgen it was specified that when the system was IPLed the operator would be asked for some extra info, commonly which pack to IPL from. Via an IEA101A message which was one I did recognise. This is saying the reply to the original message was incomplete. From a non-master console such as SDSF you'd look for these with the "d r,r" command. Bloody hell I remember more than I thought but I did have to look up the 116.

I bow to your better memory and greater expertise. I was just a lowly programmer (both FORTRAN and COBOL if you must ask). My JCL skills only ever extended to setting the parameters for datasets (including channel and device separation for sorts).
 
You know one of the aspects of this job that I really do love? Detective work.

Just had one of the T1s call for a consult on a call they had. A web developer was asking which of two client-facing pages he should be editing. One site had -0 at the end of the URL, the other didn't.

My first response was WTF he should know which page he should be modifying, he's the developer. It didn't seem exactly in scope for what the Service Desk was able to do. But both sites were published in production, and one had slightly different information on it than the other, so I had an idea how to proceed.

I simply followed links from the home page to see which version of the site was actually being linked to. It was the -0 version, btw. I recall when I was a content manager, I'd publish pages in production, but unlinked from anywhere, for testing purposes. Presumably this is what happened in this case. But solving this minor mystery just gave me a buzz - it was great, and things like that are why I still like this job despite all of its annoyances.
 
You know one of the aspects of this job that I really do love? Detective work.

Just had one of the T1s call for a consult on a call they had. A web developer was asking which of two client-facing pages he should be editing. One site had -0 at the end of the URL, the other didn't.

My first response was WTF he should know which page he should be modifying, he's the developer. It didn't seem exactly in scope for what the Service Desk was able to do. But both sites were published in production, and one had slightly different information on it than the other, so I had an idea how to proceed.

I simply followed links from the home page to see which version of the site was actually being linked to. It was the -0 version, btw. I recall when I was a content manager, I'd publish pages in production, but unlinked from anywhere, for testing purposes. Presumably this is what happened in this case. But solving this minor mystery just gave me a buzz - it was great, and things like that are why I still like this job despite all of its annoyances.
And best of all, he got you to do his job for him, while he got paid for it.

DEFINITE win. For him.
 
One of my greatest triumphs was a several-day investigation that culminated in my discovering that an incremental value was maxing out the bit register. It was a lot more complicated than just overflowing a table. That was an amazing bit of detective work.
 
You know one of the aspects of this job that I really do love? Detective work.

Just had one of the T1s call for a consult on a call they had. A web developer was asking which of two client-facing pages he should be editing. One site had -0 at the end of the URL, the other didn't.

My first response was WTF he should know which page he should be modifying, he's the developer. It didn't seem exactly in scope for what the Service Desk was able to do. But both sites were published in production, and one had slightly different information on it than the other, so I had an idea how to proceed.

I simply followed links from the home page to see which version of the site was actually being linked to. It was the -0 version, btw. I recall when I was a content manager, I'd publish pages in production, but unlinked from anywhere, for testing purposes. Presumably this is what happened in this case. But solving this minor mystery just gave me a buzz - it was great, and things like that are why I still like this job despite all of its annoyances.

My favorite sort of detective work was when I could solve the mystery and prove, completely and beyond doubt, with hard evidence, that the problem was caused by the person who complained about it doing something they knew they shouldn't do. The application in question was a crappy ancient one with tons of flaws, but one thing it had going for it was an insanely in-depth set of audit tables. If you knew how to read them you could trace back every user's interaction with every important part of the program going back decades. Twice I even had to pull ancient audit data and write out in plain English what the entries meant, for use by the legal team in cases. Those must not have reached court because I wasn't called to testify, but that was a possibility.
 
One of my greatest triumphs was a several-day investigation that culminated in my discovering that an incremental value was maxing out the bit register. It was a lot more complicated than just overflowing a table. That was an amazing bit of detective work.


Probably an 8-bit register in a system where the most significant bit is a "sign" bit that sends the value negative. I once solved a similar problem where a program crashed in production but not in testing, on a system that had no memory protection at all. It turned out that in production the program loaded higher in memory and the combination of (fixed_address + offset_register) overflowed and the program started writing values before the start of (fixed_address,) which eventually overwrote some critical data and the program went down.
 
Probably an 8-bit register in a system where the most significant bit is a "sign" bit that sends the value negative. I once solved a similar problem where a program crashed in production but not in testing, on a system that had no memory protection at all. It turned out that in production the program loaded higher in memory and the combination of (fixed_address + offset_register) overflowed and the program started writing values before the start of (fixed_address,) which eventually overwrote some critical data and the program went down.

The most infamous case of overflow actually killed people. It was a radiation therapy machine, and apparently used an 8-bit counter for something like the beam intensity. Under certain conditions, it would overflow, with the result that the patient got a serious overdose of the radiation. Don't recall the exact details, though, so it might hard to locate.

(For the non-hardware types: an 8-bit counter can hold either -128 ... 127 or 0 .. 255. Adding the maximums "wraps around", so either 127 + 1 = -128 or 255 + 1 = 0).
 
The most infamous case of overflow actually killed people. It was a radiation therapy machine, and apparently used an 8-bit counter for something like the beam intensity. Under certain conditions, it would overflow, with the result that the patient got a serious overdose of the radiation. Don't recall the exact details, though, so it might hard to locate.

(For the non-hardware types: an 8-bit counter can hold either -128 ... 127 or 0 .. 255. Adding the maximums "wraps around", so either 127 + 1 = -128 or 255 + 1 = 0).

The Therac-25. Horrible business. Still one of the great cautionary tales of computers.

https://en.wikipedia.org/wiki/Therac-25
 
DEV: How do I use your Service?

ME: First, you have to be on the corporate network or VPN. After that, here's [comprehensive documentation] that will walk you through getting started and becoming a power user of Service.

DEV: So I can't use Service from outside the corporate network or VPN?

Why do you think that was the very first thing I said? If it were possible to use it from outside the corp network, don't you think I would have mentioned it at the time?.
 
The most infamous case of overflow actually killed people. It was a radiation therapy machine, and apparently used an 8-bit counter for something like the beam intensity. Under certain conditions, it would overflow, with the result that the patient got a serious overdose of the radiation. Don't recall the exact details, though, so it might hard to locate.

(For the non-hardware types: an 8-bit counter can hold either -128 ... 127 or 0 .. 255. Adding the maximums "wraps around", so either 127 + 1 = -128 or 255 + 1 = 0).

The Therac-25 problems weren't related to an integer overflow, but rather an unusual series of operator keypresses within a short period of time. That plus a lack of hardware interlocks which could have prevented the lethal doses requested by the software led to at least six radiation overdoses and three fatalities.

The first flight of the Ariane-5 rocket was lost due to an integer overflow: The Worst Computer Bugs in History: The Ariane 5 Disaster [bugsnag.com]. A 64-bit floating-point value was fed into a 16-bit integer. This was caught by the processor as an exception and the error handling code generated a value intended to be used for debugging. That value was interpreted as a real (but very incorrect) value and the flight software, thinking the rocket was wildly off-course, attempted an immediate correction. The rocket flipped, tore apart, and exploded.
 
Not at all. I wasn't the one who had to edit the page. He was just confused about which page he should be editing. It took about two minutes of my time.
He couldn't find it himself? Seriously? What sort of web developer IS he? And why are they paying him?

What I means is that if it was easier for him to get you to find the right page than spend a moment of his own brain-time to do that job, then he is getting you to do his job for him.
 
He couldn't find it himself? Seriously? What sort of web developer IS he? And why are they paying him?

What I means is that if it was easier for him to get you to find the right page than spend a moment of his own brain-time to do that job, then he is getting you to do his job for him.
Well like I said it wasn't hard to find the answer, but it was an approach that neither he nor the T1 who called me for the consult had thought of.
 
One of my greatest triumphs was a several-day investigation that culminated in my discovering that an incremental value was maxing out the bit register. It was a lot more complicated than just overflowing a table. That was an amazing bit of detective work.




I am well aware of what overflow means (my first programming was more than 50 years ago, I'm a Computer Science graduate from one of the best places in the world, and I have been working in IT for more than 40 years up until my retirement 1 week ago). My issue was with the very strange phrase highlighted above.





1111 1111
______+1
-------------
x)&% 92b8

Probably an 8-bit register in a system where the most significant bit is a "sign" bit that sends the value negative. I once solved a similar problem where a program crashed in production but not in testing, on a system that had no memory protection at all. It turned out that in production the program loaded higher in memory and the combination of (fixed_address + offset_register) overflowed and the program started writing values before the start of (fixed_address,) which eventually overwrote some critical data and the program went down.
 
Status
Not open for further replies.

Back
Top Bottom