[SRU] FSVS - not able to commit changes to remote HTTP SVN repo

Bug #1875642 reported by Dariusz Kolasinski
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
fsvs (Ubuntu)
Fix Released
Undecided
Ph. Marek
Focal
Fix Released
Medium
Unassigned
Jammy
Fix Released
Medium
Unassigned
Lunar
Won't Fix
Medium
Unassigned
Mantic
Fix Released
Medium
Unassigned

Bug Description

[ Impact ]

If the user is using fsvs with SVN via http then fsvs is completely unusable as it will fail to commit to SVN.
With the affected versions of fsvs, the user will see the following error message when they try to commit:

 An error occurred: The filesystem editor completion process was not followed (160050)
  in ci__work: editor->close_edit: Closing editor with directories or files open

And, as a result fsvs fails to commit changes to HTTP SVN repo.

[ Test Plan ]

 * login as root and use the following steps:
   - apt-get install apache2 libapache2-mod-svn fsvs
   - mkdir -p /home/REPO/REPO-svn/svn/
   - cd /home/REPO/REPO-svn/svn/
   - svnadmin create test
   - find /home/REPO -exec chown www-data:www-data {} \;
   - htpasswd -c /home/REPO/REPO-svn/.htpasswd.svn root (set a password in this step)
   - cat >/etc/apache2/mods-available/svn.conf <<EOF
        <Location /svn/>
                ### SVN ###
                DAV svn
                SVNParentPath /home/REPO/REPO-svn/svn/
                AuthUserFile /home/REPO/REPO-svn/.htpasswd.svn
                Require valid-user
                AuthType Basic
                AuthName "SVN reposity"

                AuthBasicProvider file
        </Location>
    EOF
    - ln -s /etc/apache2/mods-available/svn.conf /etc/apache2/mods-enabled/svn.conf
    - systemctl restart apache2.service
    - cd /home/ubuntu/
    - fsvs urls http://localhost/svn/test
    - fsvs
    - fsvs commit -mstart

[ Where problems could occur ]

 * The upstream patch is closing the root_baton at the end of the commit which SVN expects fsvs to do. The root_baton is not used after the point where is now being closed so has little chance of regression due to this. Also, it does not change any other code and so user should not see any change in behaviour.

[ Other Info ]

 * The problem exists in versions before v1.2.12 and so Noble is fixed. But Focal, Jammy, Lunar and Mantic are still affected.

[ Original Bug Description ]

After upgrading one of my machines to Ubuntu 20.04 fsvs stopped working. I`m not able to commit changes to remote repo provided by libapache2-mod-svn. I`ve tried to reproduce it by installing apache2+mod-svn+svn locally and the result is the same.

SVN client works fine.

||/ Name Version Architecture Description
+++-==============-=============-============-============================================
ii fsvs 1.2.7-1build2 amd64 Full system versioning with metadata support
ii subversion 1.13.0-3 amd64 Advanced version control system

Fresh SVN repo, fresh fsvs config and fresh apache2+svn install (all on the same box):
Apache config:
        <Location /svn/>
                ### SVN ###
                DAV svn
                SVNParentPath /home/REPO/REPO-svn/svn/
                AuthzSVNAccessFile /home/REPO/REPO-svn/.htaccess-svn.svn
                AuthUserFile /home/REPO/REPO-svn/.htpasswd.svn
                Require valid-user
                AuthType Basic
                AuthName "SVN reposity"

                AuthBasicProvider file
        </Location>

Result (quick and dirty):

root@BOX /home/REPO/REPO-svn/svn # svnadmin create test
root@BOX /home/REPO/REPO-svn/svn # find /home/REPO -exec chown www-data:www-data {} \;
root@BOX /home/REPO/REPO-svn/svn # cd /home/bummer
root@BOX /home/bummer # fsvs urls http://localhost/svn/test
root@BOX /home/bummer # fsvs
N... dir apcupsd
N... 2344 apcupsd/multimon.conf
N... 387 apcupsd/offbattery
N... 12656 apcupsd/apcupsd.conf
N... 377 apcupsd/commfailure
N... 1052 apcupsd/ups-monitor
N... 352 apcupsd/onbattery
N... 617 apcupsd/killpower
N... 13238 apcupsd/apcupsd.conf.dpkg-dist
N... 416 apcupsd/commok
N... 662 apcupsd/hosts.conf
N... 4007 apcupsd/apccontrol
N... 388 apcupsd/changeme
.mC. dir .
root@BOX /home/bummer # fsvs commit -mstart
[... user login here ...]

Committing to http://localhost/svn/test
N... dir apcupsd
N... 2344 apcupsd/multimon.conf
N... 387 apcupsd/offbattery
N... 12656 apcupsd/apcupsd.conf
N... 377 apcupsd/commfailure
N... 1052 apcupsd/ups-monitor
N... 352 apcupsd/onbattery
N... 617 apcupsd/killpower
N... 13238 apcupsd/apcupsd.conf.dpkg-dist
N... 416 apcupsd/commok
N... 662 apcupsd/hosts.conf
N... 4007 apcupsd/apccontrol
N... 388 apcupsd/changeme

An error occurred: The filesystem editor completion process was not followed (160050)
  in ci__work: editor->close_edit: Closing editor with directories or files open
root@BOX /home/bummer #

Revision history for this message
Dariusz Kolasinski (offcer) wrote :

Tried fsvs-1.2.9 - same effect. I guess something changed in subversion libraries.

Revision history for this message
Ph. Marek (ph-marek) wrote :

Sorry, I only just now stumbled upon the launchpad bugs.

If that still persists, would you please send a debug log? Just run the same "fsvs" command with "-d", and redirect into a file. Thank you!

Changed in fsvs (Ubuntu):
assignee: nobody → Ph. Marek (ph-marek)
status: New → Incomplete
Revision history for this message
Dariusz Kolasinski (offcer) wrote :

This bug probably still exists. I`m moving my 18.04 machines to 20.04 and I`m migrating to etckeeper (because of this bug). I currently don`t have any 20.04 machine with fsvs to generate this report and to confirm this bug still exists.

I`ve checked my old notes and found this may be connected to this bug: https://svn.haxx.se/dev/archive-2018-01/0057.shtml But I`m not 100% sure.

Revision history for this message
Ph. Marek (ph-marek) wrote :

I think I found the problem -- a double-open.

https://github.com/phmarek/fsvs/commit/f39cc00b3200bcd7874faf4de15479dfa3e6762a

No idea how the code got duplicated here, though - and the old (svn) history is lost...

Changed in fsvs (Ubuntu):
status: Incomplete → Fix Committed
Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

This has been fixed in v1.2.11 and so Noble is fixed. But Focal, Jammy, Lunar and Mantic are still affected. I will try to reproduce locally and open SRU for it.

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote (last edit ):

I can reproduce the problem now and this is still seen on noble.

# dpkg -l | grep fsvs
ii fsvs 1.2.11-1 amd64 Full system versioning with metadata support

# fsvs commit -mstart
Authentication realm: <http://localhost:80> SVN reposity
Password for 'root': ****

Committing to http://localhost/svn/test
N... 13 .bash_history
N... 220 .bash_logout
N... 3771 .bashrc
N... dir .cache
N... 0 .cache/motd.legal-displayed
N... 807 .profile
N... dir .ssh
N... 0 .ssh/authorized_keys
N... 0 .sudo_as_admin_successful

An error occurred: The filesystem editor completion process was not followed (160050)
  in ci__work: editor->close_edit: Closing editor with directories or files open

I can not add upstream link to the bug, but I have now opened an issue at https://github.com/phmarek/fsvs/issues/18

Changed in fsvs (Ubuntu):
status: Fix Committed → New
Revision history for this message
Ph. Marek (ph-marek) wrote :

Tagged 1.2.12.

Changed in fsvs (Ubuntu):
status: New → Fix Released
summary: - FSVS - not able to commit changes to remote HTTP SVN repo
+ [SRU] FSVS - not able to commit changes to remote HTTP SVN repo
description: updated
Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

debdiff attached for Mantic.

Revision history for this message
Simon Quigley (tsimonq2) wrote :

Uploaded to the Mantic queue; Sudip indicated there will be diffs for the rest of the releases sometime today.

Thanks for your help!

Changed in fsvs (Ubuntu Mantic):
assignee: nobody → Sudip Mukherjee (sudipmuk)
Changed in fsvs (Ubuntu Lunar):
assignee: nobody → Sudip Mukherjee (sudipmuk)
Changed in fsvs (Ubuntu Jammy):
assignee: nobody → Sudip Mukherjee (sudipmuk)
Changed in fsvs (Ubuntu Focal):
assignee: nobody → Sudip Mukherjee (sudipmuk)
importance: Undecided → Medium
Changed in fsvs (Ubuntu Jammy):
importance: Undecided → Medium
Changed in fsvs (Ubuntu Lunar):
importance: Undecided → Medium
Changed in fsvs (Ubuntu Mantic):
importance: Undecided → Medium
status: New → In Progress
Changed in fsvs (Ubuntu Lunar):
status: New → Confirmed
Changed in fsvs (Ubuntu Jammy):
status: New → Confirmed
Changed in fsvs (Ubuntu Focal):
status: New → Confirmed
Revision history for this message
Simon Quigley (tsimonq2) wrote :

Removing ubuntu-sponsors until the new diffs come in, feel free to re-subscribe, or just ping me on IRC :)

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

debdiff for Lunar.

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

debdiff for Jammy.

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

debdiff for Focal.

Changed in fsvs (Ubuntu Focal):
assignee: Sudip Mukherjee (sudipmuk) → nobody
Changed in fsvs (Ubuntu Jammy):
assignee: Sudip Mukherjee (sudipmuk) → nobody
Changed in fsvs (Ubuntu Lunar):
assignee: Sudip Mukherjee (sudipmuk) → nobody
Changed in fsvs (Ubuntu Mantic):
status: In Progress → Confirmed
assignee: Sudip Mukherjee (sudipmuk) → nobody
Revision history for this message
Steve Langasek (vorlon) wrote :

> + * Apply upstream patch to close root_baton. (LP: #1875642)

The changelog entries of SRUs are exposed to users in e.g. the UI of update-manager. They should explain the changes in terms that users can understand.

As an Ubuntu developer, *I* don't know what this changelog means.

Please reupload with a changelog entry that's appropriate for an SRU.

Also, it's questionable to me whether this is something that warrants an SRU at all. The bug report is marked importance: medium; has been open for almost 4 years; and is for a package that uses subversion which is effectively obsolete?

Revision history for this message
Steve Langasek (vorlon) wrote : Proposed package upload rejected

An upload of fsvs to mantic-proposed has been rejected from the upload queue for the following reason: "inappropriate changelog entry for an SRU".

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

New debdiff for Mantic attached.

Changed in fsvs (Ubuntu Lunar):
status: Confirmed → Opinion
Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

New debdiff for Jammy.

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

New debdiff for Focal.

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

I have not attached a debdiff for Lunar as it will be EOL in next few days and will not have 7 days time to propagate from proposed. But I can upload the debdiff if needed.

To answer the questions raised by Steve about this SRU, I think this issue should be fixed by a SRU.
My reasons:
1. fsvs has an active upstream who does look for bugs and actively fixes them.
2. subversion is still used and (surprisingly) Noble has a new micro release.
3. Ubuntu still ships SVN so applications which intefaces with SVN should be fixed.
4. imho, its a bad impression if a distro ships software with a known RC bug in a LTS release.

Revision history for this message
Dave Jones (waveform) wrote :

I largely agree with Sudip's analysis that, while subversion is certainly old and probably isn't a good choice for *new* projects, there're still plenty of installations out there and it's not good if users are upgrading and finding their installation breaks. Hence, it's worth fixing. Unfortunately I don't think Steve's point about the changelog being comprehensible to ordinary users is addressed. Previously the message was:

* Apply upstream patch to close root_baton

Now the message is:

* SVN will not commit changes for a http-URL if the root_baton is still open.
  Apply upstream patch to close root_baton properly

But in both cases I'm left with the question ... "what's a baton?!" (and apparently I'm not the first to ask this about SVN's code [1]). I'd suggest maybe changing this to something like:

* SVN fails to commit changes to http-URLs due to unclosed handle

Maybe "handles" is still a bit opaquely coder-speak, but it's a rather more common term than "batons" and seems to be vaguely analogous to batons in SVN (at least from my reading of [1])?

[1]: https://svn.haxx.se/dev/archive-2002-07/0396.shtml

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

Thanks Dave for the changelog idea. So, another attempt now.

Removed old debdiff and attaching new debdiff for Manctic.

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

Removed old debdiff and attaching new debdiff for Jammy.

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

Removed old debdiff and attaching new debdiff for Focal.

Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

The new changelog entry LGTM.

I wonder why the jammy version is 1.2.9-2ubuntu0.22.04.3.1 instead of 1.2.9-2ubuntu0.22.04.1, following the same structure as the one in mantic.

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

I messed up again. :(

Fixed version in debdiff attached.

Revision history for this message
Julian Andres Klode (juliank) wrote :

All sponsored, thank you

Changed in fsvs (Ubuntu Mantic):
status: Confirmed → In Progress
Changed in fsvs (Ubuntu Jammy):
status: Confirmed → In Progress
Changed in fsvs (Ubuntu Focal):
status: Confirmed → In Progress
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Dariusz, or anyone else affected,

Accepted fsvs into mantic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/fsvs/1.2.9-2ubuntu0.23.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-mantic to verification-done-mantic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-mantic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in fsvs (Ubuntu Mantic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-mantic
Changed in fsvs (Ubuntu Jammy):
status: In Progress → Fix Committed
tags: added: verification-needed-jammy
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Dariusz, or anyone else affected,

Accepted fsvs into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/fsvs/1.2.9-2ubuntu0.22.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in fsvs (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Dariusz, or anyone else affected,

Accepted fsvs into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/fsvs/1.2.7-1ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

I can confirm that the fsvs package in mantic-proposed has fixed the bug for me.

Test done:
Installed fsvs from mantic-proposed.
Followed the testplan to setup apache2 and svn.
The final step "fsvs commit -mstart" has worked and gave me the output:

committed revision 1 on 2024-02-09T19:28:36.287137Z as root

Test result: the errors with fsvs has been fixed.

Package tested:

$ $ apt-cache policy fsvs
fsvs:
  Installed: 1.2.9-2ubuntu0.23.10.1
  Candidate: 1.2.9-2ubuntu0.23.10.1
  Version table:
 *** 1.2.9-2ubuntu0.23.10.1 100
        100 http://us.archive.ubuntu.com/ubuntu mantic-proposed/universe amd64 Packages
        100 /var/lib/dpkg/status
     1.2.9-2 500
        500 http://us.archive.ubuntu.com/ubuntu mantic/universe amd64 Packages

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

I can confirm that the fsvs package in jammy-proposed has fixed the bug for me.

Test done:
Installed fsvs from jammy-proposed.
Followed the testplan to setup apache2 and svn.
The final step "fsvs commit -mstart" has worked and gave me the output:

committed revision 1 on 2024-02-09T19:38:32.165275Z as root

Test result: the errors with fsvs has been fixed.

Package tested:

$ apt-cache policy fsvs
fsvs:
  Installed: 1.2.9-2ubuntu0.22.04.1
  Candidate: 1.2.9-2ubuntu0.22.04.1
  Version table:
 *** 1.2.9-2ubuntu0.22.04.1 500
        500 http://gb.archive.ubuntu.com/ubuntu jammy-proposed/universe amd64 Packages
        100 /var/lib/dpkg/status
     1.2.9-2 500
        500 http://gb.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages

Revision history for this message
Sudip Mukherjee (sudipmuk) wrote :

I can confirm that the fsvs package in focal-proposed has fixed the bug for me.

Test done:
Installed fsvs from focal-proposed.
Followed the testplan to setup apache2 and svn.
The final step "fsvs commit -mstart" has worked and gave me the output:

committed revision 1 on 2024-02-09T19:48:46.716801Z as root

Test result: the errors with fsvs has been fixed.

Package tested:

$ apt-cache policy fsvs
fsvs:
  Installed: 1.2.7-1ubuntu0.1
  Candidate: 1.2.7-1ubuntu0.1
  Version table:
 *** 1.2.7-1ubuntu0.1 500
        500 http://gb.archive.ubuntu.com/ubuntu focal-proposed/universe amd64 Packages
        100 /var/lib/dpkg/status
     1.2.7-1build2 500
        500 http://gb.archive.ubuntu.com/ubuntu focal/universe amd64 Packages

tags: added: verification-done verification-done-focal verification-done-jammy verification-done-mantic
removed: verification-needed verification-needed-focal verification-needed-jammy verification-needed-mantic
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package fsvs - 1.2.9-2ubuntu0.23.10.1

---------------
fsvs (1.2.9-2ubuntu0.23.10.1) mantic; urgency=medium

  * SVN fails to commit changes to http-URLs due to unclosed handle.
    Apply upstream patch to close handle properly. (LP: #1875642)

 -- Sudip Mukherjee <email address hidden> Wed, 24 Jan 2024 12:44:02 +0000

Changed in fsvs (Ubuntu Mantic):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for fsvs has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Changed in fsvs (Ubuntu Lunar):
status: Opinion → Won't Fix
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package fsvs - 1.2.9-2ubuntu0.22.04.1

---------------
fsvs (1.2.9-2ubuntu0.22.04.1) jammy; urgency=medium

  * SVN fails to commit changes to http-URLs due to unclosed handle.
    Apply upstream patch to close handle properly. (LP: #1875642)

 -- Sudip Mukherjee <email address hidden> Wed, 24 Jan 2024 12:55:28 +0000

Changed in fsvs (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package fsvs - 1.2.7-1ubuntu0.1

---------------
fsvs (1.2.7-1ubuntu0.1) focal; urgency=medium

  * SVN fails to commit changes to http-URLs due to unclosed handle.
    Apply upstream patch to close handle properly. (LP: #1875642)

 -- Sudip Mukherjee <email address hidden> Wed, 24 Jan 2024 13:01:36 +0000

Changed in fsvs (Ubuntu Focal):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.