Jeff, Daniel,
Thanks for weighing in here. To provide some more information:
- I tried the chown/chmod commands suggested by Jeff, including some interim
reboots of both the client and the server, but the problem persisted. Here is
what appeared with the NetBeans development environment running on the Windows
client - NetBeans is using some convoluted arguments, but I can reproduce the
problem doing simple command-line commits from a suitable project tree built
outside of NetBeans:
(some newlines inserted for clarity)
==[IDE]== Aug 5, 2026, 1:37:07 PM Preparing Commit...
==[IDE]== Aug 5, 2026, 1:37:09 PM Preparing Commit... finished.
==[IDE]== Aug 5, 2026, 1:37:13 PM Committing...
commit --force-log -F
C:\Users\phil\AppData\Local\Temp\vcs-1785951411537\vcs-1785951433994\svn_16404019375185975522
--targets
C:\Users\phil\AppData\Local\Temp\vcs-1785951411537\vcs-1785951433994\svn_372745134647644105
--config-dir C:\Users\phil\AppData\Roaming\NetBeans\29\config\svn\config
--non-interactive --username philmarks
--password ******
svn: E000001: Commit failed (details follow):
svn: E000001: Can't write '/var/svn/NetBeansProjects/db/txn-current' atomically
==[IDE]== Aug 5, 2026, 1:37:20 PM Committing... finished.
- I had previously run some similar chown/chmod commands suggested in the
Ubuntu subversion community Wiki, on both the LTS 24.04 and 26.04 servers -
they ran without error in both, but only produced the desired results in the
former:
$ cd /home/svn
$ sudo chown -R www-data:subversion myproject
$ sudo chmod -R g+rws myproject
- To Daniel's point, I had tried the other day to look into the AppArmor
environment, but it was a bit beyond my ancient Linux/Unix knowledge. I ran a
bunch of commands to provide you with a bit more information, including the -Z
option to ls (sorry if the results look a bit choppy). The question marks after
the group name appear to be the sole new information produced by -Z:
$ ls -alZ /var/svn/NetBeansProjects
total 32
drwxrwsr-x 6 www-data subversion ? 4096 Aug 4 11:38 .
drwxr-xr-x 3 root root ? 4096 Aug 4 11:37 ..
-rw-rwSr-- 1 www-data subversion ? 246 Aug 4 11:38 README.txt
drwxrwsr-x 2 www-data subversion ? 4096 Aug 4 11:38 conf
drwxrwsr-x 6 www-data subversion ? 4096 Aug 5 13:37 db
-rw-rwSr-- 1 www-data subversion ? 2 Aug 4 11:38 format
drwxrwsr-x 2 www-data subversion ? 4096 Aug 4 11:38 hooks
drwxrwsr-x 2 www-data subversion ? 4096 Aug 4 11:38 locks
total 68
$ ls -alZ /var/svn/NetBeansProjects/db
drwxrwsr-x 6 www-data subversion ? 4096 Aug 5 13:37 .
drwxrwsr-x 6 www-data subversion ? 4096 Aug 4 11:38 ..
-rw-rwSr-- 1 www-data subversion ? 2 Aug 4 14:30 current
-rw-rwSr-- 1 www-data subversion ? 41 Aug 4 11:38 format
-rw-rwSr-- 1 www-data subversion ? 5 Aug 4 11:38 fs-type
-rw-rwSr-- 1 www-data subversion ? 10835 Aug 4 11:38 fsfs.conf
-rw-rwSr-- 1 www-data subversion ? 2 Aug 4 11:38 min-unpacked-rev
-rw-rwSr-- 1 www-data subversion ? 8192 Aug 4 14:30 rep-cache.db
-rw-rw-r-- 1 www-data subversion ? 0 Aug 4 14:30 rep-cache.db-journal
drwxrwsr-x 3 www-data subversion ? 4096 Aug 4 11:38 revprops
drwxrwsr-x 3 www-data subversion ? 4096 Aug 4 11:38 revs
drwxrwsr-x 2 www-data subversion ? 4096 Aug 4 14:30 transactions
-rw-rwSr-- 1 www-data subversion ? 2 Aug 4 14:30 txn-current
-rw-rwSr-- 1 www-data subversion ? 0 Aug 4 11:38 txn-current-lock
drwxrwsr-x 2 www-data subversion ? 4096 Aug 4 14:30 txn-protorevs
-rw-rwSr-- 1 www-data subversion ? 74 Aug 4 11:38 uuid
-rw-rwSr-- 1 www-data subversion ? 0 Aug 4 11:38 write-lock
$ getent group subversion
subversion:x:1002:www-data,phil
$ getent group www-data
www-data:x:33:phil
$ cat /etc/apache2/dav_svn.passwd
philmarks:$apr1$qQTMuFXy$UUecFm.JGgP9FDxE7GHU6/
$ cat /etc/subversion/passwd
philmarks:$apr1$AHboqPhe$Gm5w8a2BSJBxKUxHHGFC6.
phil:$apr1$alKGx5Mq$w2mlJm2c.Z10oz8lkseMh/
philip:$apr1$tSpsAsJ5$cMmszgMwIzWv1S7vSeemZ1
- Note that the username passed from the client environment with the commits is
philmarks, rather than phil (which is the admin user on the server). I was
under the impression that the usernames passed to Apache and the local
subversion usernames were in different spaces (/etc/apache2/dav_svn.passwd and
/etc/subversion/passwd respectively). In any event, user philmarks is present
in both files with the same password, so I don't think that can be the problem
- the test server, where things work as expected, is set up the same way.
Please let me know if there's any information I can provide that might help.
Phil
-----Original Message-----
From: Jeffrey Walton <[email protected]>
Sent: Wednesday, August 5, 2026 12:28 PM
To: [email protected]
Cc: [email protected]
Subject: Re: Can't write '/var/svn/NetBeansProjects/db/txn-current' atomically
On Wed, Aug 5, 2026 at 12:23 PM Daniel Sahlberg <[email protected]>
wrote:
>
> ons 5 aug. 2026 kl. 17:49 skrev Jeffrey Walton <[email protected]>:
>>
>> On Wed, Aug 5, 2026 at 11:30 AM falco philmarks.net <[email protected]>
>> wrote:
>> >
>> > Is anyone else experiencing problems with repository changes (e.g.,
>> > commits) submitted over https to server running Apache2 on Ubuntu LTS
>> > 26.04?
>> >
>> > When trying to commit changes remotely, or add new projects to a
>> > repository, the following error messages are returned:
>> >
>> > E000001: Commit failed (details follow):
>> > E000001: Can't write '/var/svn/NetBeansProjects/db/txn-current'
>> > atomically
>> >
>> > And I find the following lines in the Apache error log:
>> >
>> > [Tue Aug 04 14:43:00.903971 2026] [:error] [pid 9352:tid 9369]
>> > [client 10.1.0.26:57765] Can't write
>> > '/var/svn/NetBeansProjects/db/txn-current' atomically [500, #1]
>> > [Tue Aug 04 14:43:00.903980 2026] [:error] [pid 9352:tid 9369]
>> > [client 10.1.0.26:57765] Can't set permissions on
>> > '/var/svn/NetBeansProjects/db/svn-2iqlzz' [500, #1] [Tue Aug 04
>> > 14:43:00.903988 2026] [:error] [pid 9352:tid 9369] [client
>> > 10.1.0.26:57765] Can't set permissions on
>> > '/var/svn/NetBeansProjects/db/svn-2iqlzz': Operation not permitted
>> > [500, #1]
>> >
>> > At first glance this looks like a simple permissions problem, and I have
>> > reviewed numerous internet postings showing similar (though not identical)
>> > error messages. But I have looked very closely at the settings for all
>> > the relevant files and made sure that they are owned by www-data and
>> > within a group named “subversion” group that includes both www-data and my
>> > own personal ID on the server.
>> >
>> > I have no problem adding projects or making commits locally on the server
>> > in question (repository access via file:/// …..). I have no problems
>> > viewing the repository from a Windows 11 machine using the Tortoise SVN
>> > repository browser. I have no problems checking out a project into
>> > NetBeans on the same Windows client, or onto a different client machine
>> > that runs Ubuntu LTS 24.04.
>> >
>> >
>> > Before setting up the environment on the 26.04 machine that reports the
>> > errors, I tried a dry run on a parallel testing environment on another
>> > server machine that also happens to run Ubuntu LTS 24.04 (i.e., this is a
>> > different machine from the 24.04 client mentioned in the previous
>> > paragraph). That test environment experiences no problems with remote
>> > changes – in particular, commits sent via https from NetBeans instances
>> > running on client machines function as expected. There are of course
>> > version level differences in the Apache and subversion software on these
>> > two servers, but when I compare the Apache and dav_svn config files
>> > between them I see no significant differences; likewise the permissions
>> > settings on the files in the two repositories.
>> >
>> > At this stage the repository concerned is not in production mode and does
>> > not contain anything that I cannot afford to lose. So I have also tried
>> > deleting and recreating it from scratch, as well as uninstalling and
>> > reinstalling Apache and subversion and related packages on the 26.04 LTS
>> > machine intended as the long-term host.
>> >
>> > Does anyone have any suggestions as to what I should try next?
>> >
>> > Any help would be appreciated.
>>
>> I think you need to issue the following commands:
>>
>> sudo chown -R www-data:subversion /var/svn/NetBeansProjects
>> sudo chmod -R ug+rwX /var/svn/NetBeansProjects
>>
>> And then see if the problem is still present.
>>
>> Also, does your subversion group include the same principals as the
>> www-data group?
>
> Any chance that SELinux is doing its magic?
At first, I thought that smelled of SELinux, too. But he said Ubuntu, and
Ubuntu uses AppArmor.
Fedora and Red Hat would use SELinux, and `ls -alZ` would be one of my goto
tools.
Jeff