Magic Mailing List |
|
From: Conrad H Ziesler (cziesler AT eecs DOT umich.edu) Date: Sat Sep 21 2002 - 19:23:53 EDT
hi, theres a simple to fix bug in the router and netlist code that causes random bus-errors/segfaults after fixing it, i successfully did final core-to pads channel routing for a 10mm^2 0.25um chip. its in the usage of the function HeapAdd() from utils/heap.c in all of the various modules that routing related i just ended up doing grep -R "HeapAdd" to catch them all the code calls it with an integer ptr arguemnt. int bug; HeapAdd(&glMazeHeap, &bug, (char *) new); but HeapAdd is looking for a union heUnion * and copies more than one int's worth of data from the ptr, causing intermittant bus-erros on Solaris. anyhow changing all of those calls to { union heUnion tmpkey; tmpkey.hu_int=dist; HeapAdd(&glMazeHeap, &tmpkey, (char *) new); } fixes the problem. --conrad
|
|