Re: [HACKERS] PostGreSQL v6.2.1 for Linux Alpha
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] PostGreSQL v6.2.1 for Linux Alpha |
Дата | |
Msg-id | 199802121421.JAA24242@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] PostGreSQL v6.2.1 for Linux Alpha ("Kenji T. Hollis" <khollis@Gawain.Houston-InterWeb.COM>) |
Ответы |
Re: [HACKERS] PostGreSQL v6.2.1 for Linux Alpha
Re: [HACKERS] PostGreSQL v6.2.1 for Linux Alpha |
Список | pgsql-hackers |
> > Bruce: > > > backend/catalog/index.c:298: func_error("BuildFuncTupleDesc", > > funcname, nargs, argtypes); > > > > The function he is having trouble with is one that gets created by > > initdb for use in an index. Must be failing there somehow, but without > > initdb completing, you can't easily debug to see what is in the pg_proc > > table. > > That's the line that's the problem. It seems to find the other routines > that it needs from the hash table, but this seems to be the culprit in > both v6.2.1, and the 6.3beta that I'm trying. > > I spent a good day working on finding the problem, and found that this was > where it lied. Further study showed it was in hash_getnext, but I didn't > have time to debug hash_getnext. Again, I will say that the problems with initdb are usually very complicated to debug. It seems like you have gotten pretty far. For me, it is just a challenge to get initdb running inside a debugger because there is so much shell script startup before the postgres process runs. Take a look at utils/hash/hashfn.c:tag_hash. Is there a problem in that code for your platform. Is the hash getting set, or is it falling through the case statements? This code is clearly broken for sizeof(int) > 4, but I think your ints are 4, and longs are 8. I bet somewhere we are using a long where we should be using an int, and that is why only your platform is seeing it. Is this true about long vs. int. I can review our use of longs to see if there are problems. -- Bruce Momjian maillist@candle.pha.pa.us
В списке pgsql-hackers по дате отправления: