Svn segmentation fault on fresh (10.15) install

I’ve just moved to macOS 10.15 Catalina, discovered to my dismay that svn is no longer included, and so I installed homebrew, and then used that to install subversion.

It seems to have gone OK, but when I try to use it, I get a segmentation fault.

√ ~ % which svn                                                                                                                                                                              
/usr/local/bin/svn
√ ~ % svn --version                                                                                                                                                                          
svn, version 1.14.0 (r1876290)
   compiled Jul  4 2020, 21:17:27 on x86_64-apple-darwin19.5.0

Copyright (C) 2020 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.9 (compiled with 1.3.9)
  - handles 'http' scheme
  - handles 'https' scheme

The following authentication credential caches are available:

* Mac OS X Keychain

√ ~ % cd svnrepo/ilysia/notes                                                                                                                                                                
√ notes % svn st                                                                                                                                                                         
    zsh: segmentation fault  svn st

I am at a loss. There don’t appear to be any options for the subversion installation. Any idea how to track this down? Has anyone else managed to get the svn install to work?

What does brew config and brew doctor say?

Please see this (likely related) issue here, in particular my comment: https://github.com/Homebrew/homebrew-core/issues/52490#issuecomment-678917257

As I (and other maintainers) can’t reproduce this bug it would be good if our users could help us figure this issue out and propose a patch.

% brew config                                                                                                                                                                  
HOMEBREW_VERSION: 2.4.16
ORIGIN: https://github.com/Homebrew/brew
HEAD: 2a4c9f610e69b9fed1eec61ac2c53e4b11a32e4c
Last commit: 27 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: ecd5cd57f60892fa8257448f8fe93ec2f53a3b47
Core tap last commit: 22 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_EDITOR: pico
HOMEBREW_MAKE_JOBS: 16
CPU: 16-core 64-bit kabylake
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
Clang: 11.0 build 1103
Git: 2.24.3 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 10.15.6-x86_64
CLT: 11.5.0.0.1.1588476445
Xcode: N/A
% brew doctor                                                                                                                                                                     Your system is ready to brew.

It’s not clear to me how that’s related; I’m not using git in any way.

Today I did a fresh svn checkout of the entire repo (it’s quite large). That completed successfully, and a svn update appears to work in any directory. But svn status either (1) immediately dies with a segmentation fault, or (2) reports absurd results where most of the files it downloaded (and which are, in fact, right there) have a “!” status, and it lists a “?” status on nonexistent files with weird names like H?\85?\C0?\84?\92.

I’m not 100% certain this is always true, but so far it appears that if I do svn status in a directory with no subdirectories, I get failure (1); and if I do it in a directory with at least one subdirectory, I get failure (2).

I would be delighted to help you track this down. What can I do?

In case it’s helpful to see what the absurd output looks like:

√ art-sources % ls -la                                                                                                                            17:49:42
total 0
drwxr-xr-x  4 jstrout  staff  128 Sep  7 17:47 .
drwxr-xr-x  4 jstrout  staff  128 Sep  7 17:47 ..
drwxr-xr-x  8 jstrout  staff  256 Sep  7 17:47 .svn
drwxr-xr-x  5 jstrout  staff  160 Sep  7 17:47 cheetah3D
√ art-sources % ls -la cheetah3D                                                                                                                  17:49:44
total 88
drwxr-xr-x  5 jstrout  staff    160 Sep  7 17:47 .
drwxr-xr-x  4 jstrout  staff    128 Sep  7 17:47 ..
-rw-r--r--  1 jstrout  staff  12398 Sep  7 17:47 KeyCapDblWide.jas
-rw-r--r--  1 jstrout  staff  11980 Sep  7 17:47 KeyCapRound.jas
-rw-r--r--  1 jstrout  staff  12398 Sep  7 17:47 KeyCapSpacebar.jas
√ art-sources % svn st                                                                                                                            17:49:47
?       H?\85?\C0?\84?\92
!       cheetah3D
?       cheetah3D/H?\85?\C0?\84?\92
!       cheetah3D/KeyCapDblWide.jas
!       cheetah3D/KeyCapRound.jas
!       cheetah3D/KeyCapSpacebar.jas
√ art-sources %