MPE patches still available, just customized
April 7, 2014
Last week a 3000 manager was probing for the cause of a Command Interface CI error on a jobstream. In the course of the quest, an MPE expert made an important point: Patches to repair such MPE/iX bugs are still available. Especially from the seven companies which licensed HP's source code for the HP 3000s.
This mention of MPE bug repair was a reminder, actually, that Hewlett-Packard set the internals knowledge of MPE free back in 2010. Read-only rights to the operating system source code went out to seven companies worldwide, including some support providers such as Pivital Solutions and Allegro Consultants.
The latter's Stan Sieler was watching a 3000 newsgroup thread about the error winding up. Tracy Johnson, the curator of the 3000 that hosts the EMPIRE game and a former secretary to OpenMPE, had pointed out that his 3000 sometimes waits longer than expected after a PAUSE in a jobstream.
I nearly always put a CONTINUE statement before a PAUSE in any job. Over the years I have discovered that sometimes the CPU waits "longer" than the specified pause and fails with an error.
A lively newsgroup discussion of 28 messages ensued. It was by far the biggest exchange of tech advice on the newsgroup in 2014, so far. Sieler took note of what's likely to be broken in MPE/iX 7.5, after an HP engineer had made his analysis of might need a workaround. Patches and workarounds are a continuing part of the 3000 manager's life, even here in the second decade of the 3000's Afterlife. You can get 'em if you want 'em.
Enter the third party supporters, the companies I call independent support providers. They know the 3000 as well as anybody left at HP, so long as they're a party to the source code for the operating system. In many cases, a binary patch isn't what a customer wants. Such a thing has to be tested, and a lot of production 3000s are under lockdown today. Changes are not invited.
But in the case of an MPE/iX jobstream PAUSE error, there's always a chance for a fix. HP's Jim Hawkins looked at Johnson's problem and ranked the causes Nos. 1-4. Number 4 was "possible MPE/iX bug."
Sieler said that it looked like this was a genuine MPE/iX flaw. What to do, now that the MPE/iX lab at HP -- which once included Hawkins -- has gone dark? Sieler pointed to patching.
After analyzing hxpause, the executor responsible for implementing the CI PAUSE command, I suspect there is a bug in the MPE/iX internal routine "pausey", which hxpause uses. The bug appears to be triggerable by :BREAKJOB/:RESUMEJOB, but I have not characterized precisely what triggers it. It is, however, apparently the result of the equivalent of an uninitialized variable.
I believe Allegro could develop a patch, should a customer be interested in it.
Patches beyond the lifespan of an HP lab are a touchy topic. A binary patch, as Allegro's Steve Cooper describes this kind of assignment, is likely to live its life in just one HP 3000 installation. It's a creation to be tested, like any patch.
And now it seems that patches are not only a for-pay item, but something to be guarded. HP even pressed a lawsuit against an independent company when the vendor observed that its patches were being distributed by the indie. No money changed hands in the suit settlement, but the support company said it would stop redistributing HP's patches.
This kind of protective culture from systems vendors is endemic by now, according to Source Direct's Bill Hassell. "This is a hot topic, both for customers as well as third party support organizations," he reported. "There have been very strong reactions from customers to recent statements about firmware restrictions." Hassell, well-known as an HP-UX expert among former Interex user group members, pointed to a handful of articles from HP's own blog and the industry press such as ZDNet, or one from PC World.
But the first one Hassell pointed at was the message from HP's own Mary McCoy, VP of Support for HP Servers, Technology Services. It's titled Customers for Life. In essence, the February posting says HP's firmware only gets an upgrade for "customers with a valid warranty, Care Pack Service, or support agreement."
We know this is a change from how we’ve done business in the past; however, this aligns with industry best practices and is the right decision for our customers and partners. This decision reinforces our goal to provide access to the latest HP firmware, which is valuable intellectual property, for our customers who have chosen to maximize and protect their IT investments.
In the face of this, and other HP announcements such as ProLiant patch availability, the customers who are commenting at HP's website are not happy. One noted that "the customer segment who will suffer the most from this revision in HP firmware availability will be the small and medium businesses performing their own in-house IT support." Some say the pay-for-patch mandate is only going to drive them to other vendors for small business servers. HP asserts that every vendor is doing this by now.
Enter the indie patching potential for MPE/iX. Binary patches are much more of a possibility when source code is in the hands of a support company. As far as I know, the source for HP-UX, or any other proprietary Unix, isn't in the wild, and the same can be said for Windows. Linux source is always available, of course. Nobody is going to be tagged as a Customer for Life when they choose Linux.
But that's also true of MPE/iX. Enter an indie support relationship and you get the benefits of that vendor's expertise, based upon the level of their understanding of MPE. Leave that relationship and you're not penalized. You're just on the hunt now for another support vendor of equal caliber.
A support company's caliber is measured by the way it conducts its business practices, not just what it knows how to create or fix. This vendor lock-in is something familiar to a 3000 owner. But it was technology, not business decisions, which enforced such lock-in during the 20th Century. The indie companies have a patch for the current era's lock-in error.