APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Finally solved FACTS crashing issue

© October 2004 Tony Lawrence

I've been trying to solve a customer's bbx2 problem for two years. We've had all kinds of "experts", all kinds of advice, and all along I have felt it had to be the application or bbx rather than the OS or any equipment problems.

What was happening was that the application (FACTS) would randomly "blow up" - it would turn on transparent print on the terminals (actually terminal emulators) and lock up solid, sending anything on the screen to the users printer if they had one and just locking up otherwise. This was variously blamed on the file system, the terminal emulator, OS tuning and more, but nothing fixed it.

It shouldn't have taken this long to discover the root of the problem, because it simply was lack of terminal definitions in the config.bbx file. That file has "alias" entries that look like this:

alias TF /dev/ttyi1b term
alias TG /dev/ttyi1c term
alias TH /dev/ttyi1d term
alias TI /dev/ttyi1e term
alias TJ /dev/ttyi1j term
alias TK /dev/ttyi1g term
alias TL /dev/ttyp4 term
alias TM /dev/ttyp6 term
alias TN /dev/ttyp2 term
alias TO /dev/ttyp3 term
alias TP /dev/ttyp0 term
alias TQ /dev/ttyi1m term
alias TR /dev/ttyi1n term

Interestingly, you see "ttyi" entries in there, but two years ago we switched them to a complete network setup, so now all users are on pseudo tty's - ttyp1, ttyp2 etc. Unfortunately, at the same time we had also upgraded hardware and the OS, so this important detail got forgotten. The problem came when they had enough people logged in that the ttyp assigned wasn't defined by an alias. The clues to that were there all along, and it is amazing I kept missing it, but the fix at least was simple: change the unneeded ttyi entries to define more ttyp devices. The crashing was random because it depended on how many people tried to login - a number that was usually low enough to be satisfied by the existing configuration.

I had felt some time back that pseudo tty's were involved, so I had increased the number and made sure they were defined in /etc/ttytype, but had never looked at the config.bbx file (I don't know much about bbx and was relying on other people for that).

All fixed now. Great relief all around.

Got something to add? Send me email.

(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> Finally solved FACTS crashing issue

Inexpensive and informative Apple related e-books:

Take Control of Pages

Take Control of Preview

iOS 10: A Take Control Crash Course

Take Control of Automating Your Mac

Take Control of the Mac Command Line with Terminal, Second Edition

More Articles by © Tony Lawrence

---October 27, 2004

Out of curiosity, what does that program do?

- Bruce Garlock

---October 27, 2004

It's an accounting/inventory app.


The terminal config of BBx is one its major weaknesses (that and the development tools, which are surprisingly primitive).

BBx was one of several Business BASIC environments to be developed in the early 1980's to run on UNIX. Most of these were produced by ex-MAI Systems programmers, who modeled their creations after MAI's BB4 BASIC dialect. Over time, each digressed in various ways, but not enough to be totally alien to each other. In general, if one knows BB4 (or later versions BB86 and BB90) one can program in BBx, Thoroughbred, Providex or several others. Of all of them, I have long considered Thoroughbred's Dictionary IV package to be the overall best.


Printer Friendly Version

Have you tried Searching this site?

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

Printer Friendly Version

The best of us would rather be popular than right. (Mark Twain)

Linux posts

Troubleshooting posts

This post tagged:





Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode