[comp.unix.xenix] Does anyone have a working '286 pathalias?

chip@ateng.UUCP (Chip Salzenberg) (07/23/88)

Several people have complained that their copies of pathalias for the '286
have suddenly stopped working.  I am in the same boat.

Does there exist in the world a set of pathalias sources for the '286 that
can correctly process the latest world maps without dumping core?

PLEASE, let us know!
-- 
Chip Salzenberg                <chip@ateng.uu.net> or <uunet!ateng!chip>
A T Engineering                My employer may or may not agree with me.
        You make me wanna break the laws of time and space
                    You make me wanna eat pork

rms@gubba.SPDCC.COM (Rich Sands) (07/23/88)

In article <333@ateng.UUCP> chip@ateng.UUCP (Chip Salzenberg) writes:
>Several people have complained that their copies of pathalias for the '286
>have suddenly stopped working.  I am in the same boat.
>
>Does there exist in the world a set of pathalias sources for the '286 that
>can correctly process the latest world maps without dumping core?
>
>PLEASE, let us know!
>-- 
>Chip Salzenberg                <chip@ateng.uu.net> or <uunet!ateng!chip>
>A T Engineering                My employer may or may not agree with me.
>        You make me wanna break the laws of time and space
>                    You make me wanna eat pork

The world maps have gotten so large that the hash table within pathalias
must be larger than 64k. It is malloced as a contiguous array, and so when
the program calls malloc with some number larger than 64k, malloc gives
back a block of memory that is <size> - 64k big. Pathalias thinks its got a
big chunk of memory and after awhile, does an array access that causes a
segmentation violation.

The solution is to go through pathalias and replace every reference to
the hash table to a function call, and make the table into two separate
arrays when it must be larger than 64k, with the function call grabbing
the appropriate array element from one of the two arrays.  This
technique can be extended to as many pieces as are necessary (though it
will be awhile before a third array is needed in pathalias, I would
guess).  I have done this, as well as changed some constants involving
hash table utilization to favor space efficiency over speed.  The large
array trick I mentioned above further slows the program and is a
disgusting hack, but who cares - it runs at 3:00 am when the machine has
nothing else better to do. 

My changes work on an AT&T 6300+ running Simultask (Sys V). I've never
tried it under Xenix so your milage may vary. If you want the patches,
drop me a line and I'll send them. If I get enough response, I'll post.


-- 
        --  rms

UUCP: {ihnp4,harvard,husc6,linus,ima,bbn,m2c}!spdcc!gubba!rms
Internet: rms@gubba.spdcc.com	Compuserve: 71360,1067	BIX: richsands 

jack@turnkey.TCC.COM (Jack F. Vogel) (07/24/88)

In article <333@ateng.UUCP> chip@ateng.UUCP (Chip Salzenberg) writes:
>Several people have complained that their copies of pathalias for the '286
>have suddenly stopped working.  I am in the same boat.
>Does there exist in the world a set of pathalias sources for the '286 that
>can correctly process the latest world maps without dumping core?
 
Chip (and anyone else in need),

	You can obtain either working source or binary via anonymous uucp
from turnkey. This code was reworked by greg@gryphon.CTS.COM and it works
fine on the existing world maps. The public phone number for turnkey is
714-662-7450. Set up your Systems entry to send an initial return then
login as nuucp, no password. Callins at both 2400 and 1200 (sorry no
'blazer' at this point :-{. If you want just binary request "pathalias.Z"
The source archive is called "palias.tar.Z", it is ready to compile.
Finally, if you are curious about what else is available request the
file 'files' (anonymous logins cannot uux `ls` so don't waste your time).
Oh yes, naturally all the above are in the public directory.

					Best of luck,


-- 
Jack F. Vogel
Turnkey Computer Consultants, Costa Mesa, CA
UUCP: ...{nosc|uunet}!turnkey!jack 
Internet: jack@turnkey.TCC.COM