[Radiance-general] multi-processing on SGI Onyx: avlemi bug

Thomas Seebohm [email protected]
Sun, 09 Feb 2003 12:20:18 -0500


We have run Radiance/rpiece again, making sure that we are, in fact, running
the version incorporating Greg's suggested correction in ambient.c but ended
up with the same error:

"rpict inconsistency
address not found in avlemi
rpiece error reading from rpict"

Thomas
--

>
> Message: 1
> Date: Thu, 30 Jan 2003 07:16:41 -0800
> From: Greg Ward <[email protected]>
> To: [email protected]
> Subject: [Radiance-general] Re:  multi-processing on SGI Onyx
> Reply-To: [email protected]
>
> The magic word to change is in src/rt/ambient.c, in the function
> aposcmp(avp1, avp2), which should be corrected to read:
>
> /* GW NOTE 2002/10/3:
>   * I used to compare AMBVAL pointers, but found that this was the
>   * cause of a serious consistency error with gcc, since the optimizer
>   * uses some dangerous trick in pointer subtraction that
>   * assumes pointers differ by exact struct size increments.
>   */
> static int
> aposcmp(avp1, avp2)                     /* compare ambient value
> positions */
> char    **avp1, **avp2;
> {
>          return(*avp1 - *avp2);
> }
>
> ----------
> On another note, I have been following with interest the discussion on
> parallel rendering solutions and alternatives to a working NFS lock
> manager.  I haven't responded because I haven't had anything
> intelligent to add...  It's sounding like the consensus is headed the
> direction of a socket-based client/server solution.  A dreadful pain to
> implement from all I've seen, but perhaps it's best in the long run.
>
> -Greg
>