protracker refuses to run due to incorrect ABI check

Bug #1769693 reported by Matjam on 2018-05-07
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
protracker (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
Unassigned

Bug Description

[Impact]

 * Backport upstream fix for overzealous version check on SDL lib

 * Without that fix the tool isn't usable at all in Bionic.

[Test Case]

 * Install and run the program
   $ protracker

[Regression Potential]

 * This only disables a check that was broken, but since we backported as-
   upstream it now doesn't check at all for the SDL versions anymore.
   In theory that could break it in some cases, but Linux dependencies are
   proper ABI versioned anyway so that should not be a real issue.

[Other Info]

 * While a no-change rebuild would fix the immediate error, any later push
   to SDL would break it again, so use the real fix.

---

protracker refuses to start with the following message:

    The loaded SDL2 library is not the expected version, the program will terminate.

    Loaded library version:2.0.8
    Required (compiled with) version: 2.0.7

This is in Ubuntu 18.04.

Matjam (chrome) wrote :
Matjam (chrome) on 2018-05-08
description: updated
Hans Joachim Desserud (hjd) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better.

I can confirm this issue as I get the same error message when attempting to run protracker 2.3d.r92-1 on Ubuntu 18.04.

When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs.

Changed in protracker (Ubuntu):
status: New → Confirmed
tags: added: bionic
Lenin (gagarin) wrote :

I can confirm that too! A rebuild fixed it for me...

Robie Basak (racb) wrote :

Looks like the program is being overzealous about microrelease bumps. The correct way to fix this would be to remove the check upstream, since the only thing it should be checking is that the soname is acceptable and this is done automatically by the linker.

If it isn't already reported upstream, somebody should report it there.

tags: added: needs-upstream-report
Changed in protracker (Ubuntu):
status: Confirmed → Triaged
summary: - protracker does not run due to SDL2 library version
+ protracker refuses to run due to incorrect ABI check
Robie Basak (racb) wrote :

To be clear, we absolutely can fix this in Ubuntu including its stable releases. I just think that the right fix would be to fix the check rather than rebuild the package, as that would leave the package open to future breakage again if, for example, SDL is updated with a microrelease update.

Lenin (gagarin) wrote :

I'm copy pasting your answer to their #protracker irc (ircnet) channel.

Lenin (gagarin) wrote :

Robie: please fix it, I think there won't be that many microreleases. If you have a patch for the code, I am willing to add it. Or go ahead a patch yourself, I can take the patch from ubuntu patch tracker...

Robie Basak (racb) wrote :

Sorry, I don't have the time to take this on. I'm happy to help and guide some other volunteer though, since that will help build the community of developers who can help fix this kind of thing.

Lenin (gagarin) wrote :

Well I know how to fix it, just rebuild it :) Can I help somehow? I'm also on irc... (tarzeau)

Robie Basak (racb) wrote :

I'm unwilling to sponsor a straight rebuild as then users will get the expectation that the package will work, and we know that it'll stop working again in the case of a microrelease update. It'd be a temporary fix only, and I don't think that matches user expectations for a stable release given that we know what the proper fix should be.

Other Ubuntu developers' opinions may differ on this and I'd be happy to hear them and defer to consensus if it turns out to be different from my opinion.

If you'd like to help, please get a proper fix landed upstream. Once that's done, I'd be happy to point you through the process of getting the fix cherry-picked in Ubuntu.

Journeyman (jman-f) wrote :

I agree that the correct fix should be to remove the "patch level" check from the startup code.

I tried opening a ticket on the developer sourceforge page, hoping the maintainer will notice:
https://sourceforge.net/p/protracker/support-requests/3/

Since I don't want to pollute my workstation with a lot of -dev packages just to recompile protracker, as a workaround I keep at hand the older SDL version and I install it with:

sudo dpkg -i libsdl2-2.0-0_2.0.7+dfsg1-2ubuntu1_amd64.deb

(not the ideal solution, though as every system upgrade if not careful will reinstall the latest one)

Olav Sørensen (8bitbubsy) wrote :

This was fixed A LONG time ago, so you are basically arguing over outdated code. This is what happens when someone decides to make an official Debian/Ubuntu package of a beta program with small changes happening all the time without major releases. I was sceptical to this to begin with, but I let him do it because why not. I kinda start to regret that, as stuff is now getting forwarded to me instead of the package maintainer...

Journeyman (jman-f) wrote :

Olav,

thanks for your quick answer to my ticket on sourceforge, I was unaware of all the backlog concerning this Ubuntu bug.

In my strict personal opinion, in this case the bug is a showstopper for users, so a package rebuild is appropriate. Further, other microrelease from the main project - possibly not stable enough to warrant package quality - should be more closely evaluated before packaging.

Olav Sørensen (8bitbubsy) wrote :

Yes, I agree to that. If anything, this package should be updated more often, same on the Debian side.

Lenin (gagarin) wrote :

On Debian it's being updated often. It's just how stable releases work, they don't get updates of the version, nothing hinders maintainers to add cherry picked patches to it though. Olav, don't be upset, I think some Protracker users on Linux are happy to have it, even if it's not as much as macOS and Windows users...

Robie Basak (racb) wrote :

> This was fixed A LONG time ago, so you are basically arguing over outdated code.

I did say that we can cherry-pick the fix once it is upstream. If someone can volunteer to provide a fix for that, we can land the fix both development and stable releases of Ubuntu and the problem will be permanently gone.

> In my strict personal opinion, in this case the bug is a showstopper for users, so a package rebuild is appropriate.

No, a cherry-pick of the actual proper fix is appropriate.

There's no point arguing over anything. The route to a proper fix is clear and I described it many comments ago. If someone can volunteer to prepare that, then great.

Robie Basak (racb) wrote :

> If anything, this package should be updated more often, same on the Debian side.

Looks like it is updated regularly already. There is an Ubuntu release every six months that includes these updates, and https://wiki.ubuntu.com/StableReleaseUpdates describes the policy on what we will update following a release. If you want updates outside these policies, then it'd be more appropriate for someone to package this as a snap (https://snapcraft.io/).

Olav Sørensen (8bitbubsy) wrote :

This program *needs* to be updated more than every six month, who thought that was a good idea for a beta program?? I fix stuff all the time, this belongs to a system where it's updated often, and people update it through apt-get or something.

Robie Basak (racb) wrote :

> This program *needs* to be updated more than every six month...

I suggest you look into snaps then. You'll have direct control of updates and Ubuntu users will be able to consume the app directly through the Software Centre.

Journeyman (jman-f) wrote :

This is a debdiff for Bionic applicable to protracker_2.3d.r92. I built this in pbuilder
and it builds successfully, and I installed it, the patch works as intended.

Updates the sources to latest r126.

The attachment "Updates the sources to latest r126" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Robie Basak (racb) wrote :
Download full text (3.7 KiB)

Thank you for volunteering your time to get this bug fixed.

Your diff, with the quilt patch you added, looks functional and does roughly what you intended. However, as you expected there are a number of things that need fixing, which I've described in more detail below. I think the list is quite long only because you're jumping in at the deep end by trying to update to a newer release and you're drowning in all the complications that entail. I think it'd be much simpler for your first update if you aim to fix just this particular bug first.

To make progress, I suggest that you focus just on this particular bug ("protracker refuses to run due to incorrect ABI check"), and don't attempt to update Bionic to a newer release, which is much harder all round - from technical, policy and process perpsectives. Please figure out the minimal patch that stops protracker refusing to run due to the incorrect ABI check, and follow the documented SRU procedure (https://wiki.ubuntu.com/StableReleaseUpdates#Procedure) with just that fix in mind.

Here's a review of the debdiff you attached in comment 20. Keep in mind that many of these will disappear if you try to simply fix this bug rather than try to update everything else at once.

Noise is introduced in other debian patches (your debdiff changes all the other files in debian/patches/!). Please don't refresh unrelated patches unless necessary. When refreshing, please use quilt settings described at https://wiki.debian.org/UsingQuilt to minimise noise.

There's a bunch of line ending noise introduced in your new 00-update-upstream-r126.patch file. I don't know if this was in the upstream code, but if it was not then it's inappropriate to add here.

We don't update to new upstreams revisions using quilt. We use a new orig tarball instead. This is too complex to explain directly here, but as I'm proposing that you don't attempt this for your first update, I suggest you don't worry about it for now.

Changelog bug references needs to be in the form "LP: #1769693" for tooling to pick it up correctly.

Changelog entry should say "bionic" instead of "unstable" for an update to bionic.

When introducing an Ubuntu delta, please run "update-maintainer" to fix the Maintainer fields in debian/control.

Version string should be 2.3d.r92-1.1 for a bugfix update to Bionic, or 2.3d.r126-0ubuntu0.18.04.1 for a full upstream version bump to Bionic.

SRU process needs to be followed either way, but is much more complex for an upstream version update. Please familarise yourself with the SRU documentation page (https://wiki.ubuntu.com/StableReleaseUpdates). Then make sure that your proposed upload meets all the requirements, make sure you've detailed how it does so for your reviewer in any grey areas, and make sure you've followed the SRU procedure fully.

Fixes going to a stable release need to be fixed in the development release first. You can't leave Cosmic on r122 but put Bionic on r126, for example, since that will cause users to regress when they upgrade. This applies for bug fixes too, but in that case it's only the specific bug fixes you're applying to Bionic that need to go into Cosmic first. Olav says in comment 12 ...

Read more...

Journeyman (jman-f) wrote :

This is a debdiff for Bionic applicable to protracker_2.3d.r92. I built this in pbuilder
and it builds successfully, and I installed it, the patch works as intended.

@racb thank you *so much* for the detailed comment, it was really interesting and helpful to read; thanks for taking the time to write it.

I've removed all the code not relevant to the patch itself and I think I've fixed all the other comments. In no particular order:
* This time I should not have refreshed the other patches
* I've also passed the patch file through "dos2unix" to remove the Windows CRLF noise
* Cosmic has already implemented this patch as the .deb is generated by a more recent tarball - which imo is appropriate for Bionic too, to align the releases.

Robie Basak (racb) wrote :

Just a note to say I haven't forgotten about this. Your latest debdiff looks pretty good and close to what I'm expecting for this bug. I'm not supposed to both sponsor and SRU-review, so I'm actively looking to find someone who can do the sponsorship part here.

Hi,
1. I'm able to reproduce the reported error in a Container (needs ssh -XY obviously)
2. I did some cleanup on the patch (headers) which was otherwise good
3. a further small cleanup on the version number to match the needs for an SRU [1]
4. I built it in a ppa [2] and tested it successfully from there.

With that in place I think it is fine to be sponsored for the SRU Teams evaluation which I did.

FYI: I'm blocked at another issue later on, but that might be due to ma unreal testbed. The reported bug here is solved. Maybe one with a real system for it can give the PPA or at least -proposed a shot for verification.

[1]: https://wiki.ubuntu.com/SecurityTeam/UpdatePreparation
[2]: https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/3348

description: updated

Also added an SRU Template to the bug, all done - waiting for the SRU Teams opinion now.

Journeyman (jman-f) wrote :

Thanks @paelzer and @racb for the follow-up.

I've installed the package from your CI build [0] and it seems to work for me.

[0]: https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/3348

Great Journeyman,
next thing will be a post here by the SRU Team once they got to review it.
That will be a final call for testing from -proposed pocket then.
And once that is good and it has passed the aging period it will be officially released.

Hello Matjam, or anyone else affected,

Accepted protracker into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/protracker/2.3d.r92-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 and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. 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!

Changed in protracker (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed verification-needed-bionic

Spun up a VM with 18.04 Desktop and verified from proposed.
Starting now -> setting verified.

FYI: I beg your pardon, since it was in a VM UI session I have no easy copy&paste of the upgrade log that I usually would add.

tags: added: verification-done verification-done-bionic
removed: verification-needed verification-needed-bionic

Installed the package from -proposed, can confirm that the application now
works.

On Fri, Aug 10, 2018 at 3:21 AM,  Christian Ehrhardt  <
<email address hidden>> wrote:

> Spun up a VM with 18.04 Desktop and verified from proposed.
> Starting now -> setting verified.
>
> FYI: I beg your pardon, since it was in a VM UI session I have no easy
> copy&paste of the upgrade log that I usually would add.
>
> ** Tags removed: verification-needed verification-needed-bionic
> ** Tags added: verification-done verification-done-bionic
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1769693
>
> Title:
> protracker refuses to run due to incorrect ABI check
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/protracker/+
> bug/1769693/+subscriptions
>

The verification of the Stable Release Update for protracker has completed successfully and the package has now been 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.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package protracker - 2.3d.r92-1ubuntu0.1

---------------
protracker (2.3d.r92-1ubuntu0.1) bionic; urgency=medium

  * Relax on Linux platform check on patch level SDL ABI (LP: #1769693)

 -- Journeyman <email address hidden> Sun, 29 Jul 2018 19:39:09 +0200

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

Other bug subscribers