Hi all, I am reaching out to try to debug the following issue.
** The problem: A number of files have changed in my working copy and I want to compare them to their last tracked version. For most files, 'svn diff' works properly. But, for some, the following error occurs: svn: E000022: Can't set position pointer in file '<path-to-working-copy>/.svn/pristine/X/Y.svn-base': Invalid argument ** The system and setup: I am using subversion to track a GNU Make working directory. All failing files derive from each other. The files are large (~8GB) text files, UTF8-encoded. 64bits Ubuntu No disk space issues UTF8 locale #### $ svn --version svn, version 1.8.8 (r1568071) compiled Aug 13 2014, 17:12:39 on x86_64-pc-linux-gnu Copyright (C) 2013 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.3 - handles 'http' scheme - handles 'https' scheme #### The working copy is of a local repository, accessed via a file:/// url #### $ svn info Path: . Working Copy Root Path: /ebs/work-dir-user/customer_prod URL: file:///ebs/svn/customer_prod/trunk Relative URL: ^/trunk Repository Root: file:///ebs/svn/customer_prod Repository UUID: a0ade1eb-bcc5-4d34-8c82-3eed75bd546e Revision: 30 Node Kind: directory Schedule: normal Last Changed Author: user Last Changed Rev: 30 Last Changed Date: 2015-06-06 04:43:43 +0000 (Sat, 06 Jun 2015) #### ** What I have considered so far: E000022 seems related to file encoding, but I thoroughly verified that all affected files are UTF8-encoded: #### $ locale LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=en_US.UTF-8 $ ipython Python 2.7.6 (default, Mar 22 2014, 22:59:56) Type "copyright", "credits" or "license" for more information. IPython 2.0.0 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In [1]: import io In [2]: with io.open('customer_prod/.svn/pristine/58/58ddfcd83dfa0be685f556c98d5d9e4ad1421226.svn-base', mode='rt', encoding='utf8', errors='strict') as fh: db = True while db: db = fh.read(100000000) ...: In [3]: with io.open('customer_prod/CUSTOMER/2-digest-pipeline/results/usages.json', mode='rt', encoding='utf8', errors='strict') as fh: db = True while db: db = fh.read(100000000) ...: In [4]: #### I have found reports of 'svn: E000022: Can't set position pointer in file' errors, but not associated with the last part of the message 'Invalid Argument'. Also, they referenced repository subversion files, while my issue refers to working copy, pristine files. svnadmin verify <path/to/repo> succeeds. All failing files and related error messages: #### $ svn diff CUSTOMER/2-digest-pipeline/results/usages.json svn: E000022: Can't set position pointer in file '/ebs/work-dir-user/customer_prod/.svn/pristine/58/58ddfcd83dfa0be685f556c98d5d9e4ad1421226.svn-base': Invalid argument $ svn diff CUSTOMER/3-product-import-pipeline/results/usages.csv svn: E000022: Can't set position pointer in file '/ebs/work-dir-user/customer_prod/.svn/pristine/5e/5ee6db03a036c9341d02713d97a8db88dd687408.svn-base': Invalid argument $ svn diff CUSTOMER/3-product-import-pipeline/temporary/usages.csv svn: E000022: Can't set position pointer in file '/ebs/work-dir-user/customer_prod/.svn/pristine/c6/c64e88fce198c62b54e6d518384c9793ea01d7ab.svn-base': Invalid argument $ svn diff CUSTOMER/3-product-import-pipeline/temporary/usages.normalize_headers svn: E000022: Can't set position pointer in file '/ebs/work-dir-user/customer_prod/.svn/pristine/74/74dda3975fc416ca4c3dcbfae084f4c7f6b08158.svn-base': Invalid argument $ svn diff CUSTOMER/3-product-import-pipeline/temporary/usages.ascii.json svn: E000022: Can't set position pointer in file '/ebs/work-dir-user/customer_prod/.svn/pristine/58/58ddfcd83dfa0be685f556c98d5d9e4ad1421226.svn-base': Invalid argument $ svn diff CUSTOMER/3-product-import-pipeline/temporary/usages.with_account_id svn: E000022: Can't set position pointer in file '/ebs/work-dir-user/customer_prod/.svn/pristine/52/521ebd70fa7bb2dbcd7b33066b13d94e804c67e4.svn-base': Invalid argument $ svn diff CUSTOMER/3-product-import-pipeline/temporary/usages.clean_schema svn: E000022: Can't set position pointer in file '/ebs/work-dir-user/customer_prod/.svn/pristine/14/14bc017e24ae1f05bdeff13cce5224e2c9bb9db7.svn-base': Invalid argument $ svn diff CUSTOMER/5-combine-data-pipeline/results/usages.csv svn: E000022: Can't set position pointer in file '/ebs/work-dir-user/customer_prod/.svn/pristine/5e/5ee6db03a036c9341d02713d97a8db88dd687408.svn-base': Invalid argument #### I would appreciate any pointer and suggestion in how to debug this issue further. Thank you Pierre