From: Atul S. <atu...@ya...> - 2009-07-28 13:42:23
|
Hello, I am facing issues with 64 bit Judy compilation on solaris. Compiled it with --enable-64bit option in configure script. Tried Jud1 and JudyL test code with 64 bit libraries but getting SEG Fault in j__udy1AllocJLW function. Reading ld.so.1 Reading libc.so.1 program terminated by signal SEGV (no mapping at the fault address) 0xfffffd7fff2fff2c: t_delete+0x000c: movq 0x0000000000000020(%rdi),%rax Current function is j__udy1AllocJLW 456 Pjlw_t Pjlw = (Pjlw_t) MALLOC(JudyMalloc, Words, Words); (dbx) where [1] t_delete(0x0, 0x0, 0x1000000, 0x0, 0x0, 0xfffffd7fff387b80), at 0xfffffd7fff2fff2c [2] realfree(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2ffcbe [3] _malloc_unlocked(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2ff745 [4] malloc(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2ff53d =>[5] j__udy1AllocJLW(Pop1 = 0), line 456 in "Judy1MallocIF.c" [6] Judy1Set(PPArray = 0xfffffd7fffdfe8a0, Index = 20U, PJError = 0xfffffd7fffdfe870), line 1789 in "Judy1Set.c" [7] main(), line 17 in "testCode.c" Could you please suggest what might be the cause here Thanks in advance for your help. Regards, Atul See the Web's breaking stories, chosen by people like you. Check out Yahoo! Buzz. http://in.buzz.yahoo.com/ |
From: Atul S. <atu...@ya...> - 2009-07-28 13:45:13
|
I am facing issues with 64 bit Judy compilation on solaris. Compiled it with --enable-64bit option in configure script. Tried Jud1 and JudyL test code with 64 bit libraries but getting SEG Fault in j__udy1AllocJLW function. Reading ld.so.1 Reading libc.so.1 program terminated by signal SEGV (no mapping at the fault address) 0xfffffd7fff2fff2c: t_delete+0x000c: movq 0x0000000000000020(%rdi),%rax Current function is j__udy1AllocJLW 456 Pjlw_t Pjlw = (Pjlw_t) MALLOC(JudyMalloc, Words, Words); (dbx) where [1] t_delete(0x0, 0x0, 0x1000000, 0x0, 0x0, 0xfffffd7fff387b80), at 0xfffffd7fff2fff2c [2] realfree(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2ffcbe [3] _malloc_unlocked(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2ff745 [4] malloc(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2ff53d =>[5] j__udy1AllocJLW(Pop1 = 0), line 456 in "Judy1MallocIF.c" [6] Judy1Set(PPArray = 0xfffffd7fffdfe8a0, Index = 20U, PJError = 0xfffffd7fffdfe870), line 1789 in "Judy1Set.c" [7] main(), line 17 in "testCode.c" Could you please suggest what might be the cause here Thanks in advance for your help. Regards, Atul ________________________________ Looking for local information? Find it on Yahoo! Local See the Web's breaking stories, chosen by people like you. Check out Yahoo! Buzz. http://in.buzz.yahoo.com/ |
From: Alan S. <aj...@fr...> - 2009-07-28 20:56:03
|
Atul et al, no idea, hoping Doug or someone else will come forth with an answer. I can tell you libJudy has never had a memory problem (at least not the original 2002 version in SourceForge), and when using it recently at a job, I ran Purify on it and it was clean, other than a weird non-bug having to do with how it handles irrelevant bits in bytes. Any chance you have a bad malloc() library? Alan Silverstein |
From: Atul S. <atu...@ya...> - 2009-07-29 05:52:38
|
Thanks Alan for your prompt reply. Judy worked perfectly fine for me with 32 bit compilation. This is the first time i am compiling it for 64 bit on solaris. So wanted to check if somebody has already compiled and using it on 64 bit platform. I have also checked with UMEM and i found no leaks with 32 bit libraries, but with 64 bit it shows heap corruption. Also tried changing offset variable (which is declared as int) in Judy1Set.c to Word_t. It fixed the issue but the final results (bit counts) are not OK. Regards, Atul Shridhar ________________________________ From: Alan Silverstein <aj...@fr...> To: atu...@ya...; jud...@li... Sent: Wednesday, 29 July, 2009 2:12:29 AM Subject: Re: 64bit Judy library issue Atul et al, no idea, hoping Doug or someone else will come forth with an answer. I can tell you libJudy has never had a memory problem (at least not the original 2002 version in SourceForge), and when using it recently at a job, I ran Purify on it and it was clean, other than a weird non-bug having to do with how it handles irrelevant bits in bytes. Any chance you have a bad malloc() library? Alan Silverstein Love Cricket? Check out live scores, photos, video highlights and more. Click here http://cricket.yahoo.com |
From: Alan S. <aj...@fr...> - 2009-07-29 18:01:54
|
Atul et al, > Judy worked perfectly fine for me with 32 bit compilation. > > This is the first time i am compiling it for 64 bit on solaris. So > wanted to check if somebody has already compiled and using it on 64 > bit platform. Hmm... I don't recall trying it on Solaris at all back when we developed it... Hopefully someone else on this list will have more to say. > I have also checked with UMEM and i found no leaks with 32 bit > libraries, but with 64 bit it shows heap corruption. Also tried > changing offset variable (which is declared as int) in Judy1Set.c to > Word_t. It fixed the issue but the final results (bit counts) are not > OK. Weird. Now, libJudy does some odd things with bits and bytes, but we tried to ensure it was generic and safe as possible, following the C language rules, although as you can see in some of the comments it says, "modern compilers do this or do that" with an expectation about performance of the assembly code. Of course int is signed and Word_t is unsigned, but offhand I can only guess why that would make a difference. I haven't looked into the source code in years. I hope Doug is listening. Alan |