subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre Mariani <pierre.mari...@gmail.com>
Subject Diffing some files results in error E000022: Can't set position pointer in file xx.svn-base: Invalid argument
Date Fri, 12 Jun 2015 20:51:54 GMT
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

Mime
View raw message