Tony Butt <tony.b...@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