Tony Butt <tony.butt_at_cea.com.au> writes:
> On Tue, 2012-08-21 at 12:08 +0100, Daniel Shahaf wrote:
>> Daniel Shahaf wrote on Tue, Aug 21, 2012 at 12:01:28 +0100:
>> > You copy and paste the error message into the email for us.
>>
>> I meant to say: "You forgot to copy"
> I found the correct ulimit setting to enable core dumps, and was able to
> use that to obtain a stack trace - see attached.
>
> According to gdb, the failing function call is this memcmp(), called
> from svn_dirent_skip_ancestor().
>
> 1440 if (0 != memcmp(parent_dirent, child_dirent, len))
> 1441 return NULL; /* parent_dirent is no ancestor of child_dirent */
>
> The string arguments are evident from the stack trace.
> parent_dirent=0xb47faeb0 "/auspar/trunk/Modules/VirtualShip/Trunk/RadarGeometry/RadarGeometryManager/Trunk/Test/TestApplication/Build/Win32-x86-MULTI/DevelopmentShared.gpj"
> child_dirent=0xb468ef80 "/auspar/trunk/Modules/VirtualShip/Trunk/RadarGeometry/RadarGeometryManager/Trunk/Test/TestApplication/Build/Win32-x86-MULTI"
> len == 147
>
> Strangely enough, parent and child seem to back back to front. I am
> assuming the memcmp is running off the end of child_dirent, and causing
> my failure.
The code appears to assume that child_dirent is a longer string than
parent_dirent. It really should not be making that assumption.
--
Philip
Received on 2012-08-23 10:29:17 CEST