For future reference - I narrowed the problem down to some issue with the toolchain / linker being used on this platform.
The tables declared in JudyXTables.c would have weird values in them at runtime - ie. not the values which they were declared to have at compile time. I assume the linker was doing something wrong with resolving the 'extern' references to them. So I worked around it by patching libjudy to generate accessor functions for these arrays and to use these functions to access the values from them, rather than accessing the arrays directly via extern. See attached if anyone is interested. -----Original Message----- From: Alex Murray [mailto:[email protected]] Sent: Tuesday, 2 August 2016 2:04 PM To: judy Subject: RE: Weird results on a particular ARM platform As a follow-up - I've been able to run the Judy1LCheck test on the platform and it also fails almost immediately with: Judy1LCheck -n1000000 -S0 -B32 Judy1LCheck 32 Bit version Total Pop Total Ins New Ins Total Del J1MU/I JLMU/I Error: JudyLGet failed - Index missing, population = 0, file='Judy1LCheck.c', 'function='TestJudyIns', line 539 Error: JudyLGet failed - Index missing, population = 0, file='Judy1LCheck.c', 'function='TestJudyIns', line 539 Which confirms the original issue - and also rules out corruption due to other code etc. Any further ideas would be really appreciated ☺ Thanks Alex -----Original Message----- From: Alex Murray Sent: Tuesday, 2 August 2016 1:42 PM To: judy Subject: RE: Weird results on a particular ARM platform Hi John Thanks for the suggestions - unfortunately there is no file-system on this platform - so I'm going to have a go at getting the existing Judy tests running on it first to see if that turns up anything. Cheers Alex -----Original Message----- From: john skaller [mailto:[email protected]] Sent: Tuesday, 2 August 2016 1:20 PM To: judy Subject: Re: Weird results on a particular ARM platform [BTW your Alex email address bounced] Here is an idea, might help, don’t know: For every Judy access, add code the writes the operation and data to a file. Now, write a new program that just reads the file and repeats the operations. [If have actually done this] There are two outcomes: (a) the results differ (the test program works) (b) both fail If the results differ, it is other code in your product corrupting Judy. If the test program also fails, then its a bug in Judy (for that processor at least). — john skaller [email protected] http://felix-lang.org ------------------------------------------------------------------------------ _______________________________________________ Judy-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/judy-devel ______________________________________________________________________ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________ This communication may contain confidential or copyright information. If you are not an intended recipient, you must not keep, forward, copy, use, save or rely on this communication, and any such action is unauthorized and prohibited. If you have received this communication in error, please reply to this email to notify the sender of its incorrect delivery and then delete both the original message and your reply. ------------------------------------------------------------------------------ _______________________________________________ Judy-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/judy-devel ______________________________________________________________________ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________ This communication may contain confidential or copyright information. If you are not an intended recipient, you must not keep, forward, copy, use, save or rely on this communication, and any such action is unauthorized and prohibited. If you have received this communication in error, please reply to this email to notify the sender of its incorrect delivery and then delete both the original message and your reply.
0001-use-accessors-for-array-access.patch
Description: 0001-use-accessors-for-array-access.patch
------------------------------------------------------------------------------
_______________________________________________ Judy-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/judy-devel
