> -----Original Message-----
> From: Joel Low [mailto:joel_at_joelsplace.sg]
> Sent: zondag 23 oktober 2011 10:15
> To: Subversion Developers' List (dev_at_subversion.apache.org)
> Subject: RE: Infinite loop on when using svn blame
>
> > -----Original Message-----
> > From: Joel Low [mailto:joel_at_joelsplace.sg]
> > Sent: Sunday, 23 October, 2011 4:05 PM
> > To: Subversion Developers' List (dev_at_subversion.apache.org)
> > Subject: Infinite loop on when using svn blame
> >
> > Hello List,
> >
> > I've got an infinite loop when running svn blame over file:/// on my
> > own SVN binaries (Windows, x64, VS 2008)
> >
> > I'm not sure if it is caused by my repository (it's public -- the
> > Eraser SourceForge repository, repository can be rsynced from
> > SourceForge servers) Trying to run blame from TortoiseSVN seems to work
> > fine, so I did some debugging.
> >
> > It seems that there's an infinite loop in find_identical_prefix
> > (diff_file.c:379, svn 1.7.1 tag), specifically within the ifdefs in
> > SVN_UNALIGNED_ACCESS_IS_OK between lines 417 and 455. I disabled
> the
> > whole block since the comment in svn_types.h details that
> > SVN_UNALIGNED_ACCESS_IS_OK is an optimisation opportunity define
> and
> > rebuilt; the blame runs successfully then.
>
> Sorry for the noise. The definition of apr_uintptr_t is important: WIN32
is
> defined in the MSVC project files, but APR detects x64 purely by defines
(in
> this case WIN64) which the project files do not define. Defining WIN64
(and
> WIN32) in all projects seems to have fixed the problem.
Which apr version did you use?
Apr 1.3.X checks for WIN64, but 1.4.X checks for _WIN64 and WIN64.
I think we don't define WIN64 in our build, but _WIN64 is automatically
added by the Microsoft C++ compiler for x64 builds.
Bert
Received on 2011-10-24 14:22:59 CEST