FS#55999 - [hedgewars] update of physfs to 3.0.0 breaks hedgewars

Attached to Project: Community Packages
Opened by Stefan Biereigel (thasti) - Sunday, 15 October 2017, 14:50 GMT
Last edited by Sergej Pupykin (sergej) - Friday, 15 December 2017, 15:16 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sergej Pupykin (sergej)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:
After system upgrade, which updated physfs-2.0.3-3 to physfs-3.0.0-2 entering games is no longer possible. When trying to play a game, the game engine fails to startup, an error message is displayed and the user is returned to the previous screen.


Additional info:
Downgrading physfs to 2.0.3-3 solved the problem, games can be entered again.

Steps to reproduce:
* Launch hedgewars
* Press left menu button (single player mode)
* Press upper left menu button (quick match)
* See error message
This task depends upon

Closed by  Sergej Pupykin (sergej)
Friday, 15 December 2017, 15:16 GMT
Reason for closing:  Fixed
Additional comments about closing:  package updated
Comment by Doug Newgard (Scimmia) - Sunday, 15 October 2017, 15:06 GMT
"An error message is displayed"

And you didn't think it was important enough to include?
Comment by Stefan Biereigel (thasti) - Sunday, 15 October 2017, 15:31 GMT
I'm sorry - it's as generic as it gets:

"The game engine could not be started
Path: /usr/bin/hwengine
Error code: 1"

Comment by vasya (vasya) - Tuesday, 17 October 2017, 19:58 GMT
OK, some more details guys.

1. As already said, the bug first appeared after upgrading physfs some days ago. If you downgrade physfs, it starts working normally.
2. If you re-compile the dependant package (hedgewars), the bug is no longer present.

For me, this feels like an ABI breakage from physfs. I don't know whether other packages dependent on physfs might need re-compiling or not.
Comment by vasya (vasya) - Tuesday, 17 October 2017, 20:13 GMT
So, obviously, what I propose is to re-build hedgewars. Maybe other physfs-dependent packages, too (this I don't know).
Comment by Antonio Rojas (arojas) - Tuesday, 17 October 2017, 20:19 GMT
physfs 3.0 should be binary compatible with previous versions [1] and neverball works fine without recompiling. I suppose hedgewars does some kind of version checking at runtime.

[1] https://icculus.org/pipermail/physfs/2017-September/001247.html
Comment by vasya (vasya) - Tuesday, 17 October 2017, 20:27 GMT
@arojas, it should be, but is it [ABI compatible]? Also, why does re-compiling fix things? You expect this could be because physfs version gets compiled in to hedgewars binaries, and a run-time check is made afterwards?

In any case, hedgewars needs rebuilding, that's for sure. The thing in question is whether other dependant packages should be re-compiled, if I get things correctly.
Comment by Fabio Redaelli (Marte2007) - Wednesday, 18 October 2017, 08:10 GMT
Calling hwengine from command line directly (to play a replay file) in GDB shows the real error:

Attempting to play demo file "test.hwd"
Hedgewars engine 0.9.22-r11265 (4c4f22cc3fa4) with protocol #51
Init SDL... ok
Init SDL_ttf... ok
Init SDL_image... ok
Loading /Graphics/hwengine.png [flags: 8]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6c96f99 in PHYSFS_read () from /usr/bin/../lib/libphysfs.so.1

The engine is actually crashing with a segmentation fault, it's not a version check.
Comment by Matthias Blaicher (mabl) - Thursday, 07 December 2017, 14:55 GMT
Since this bug is fixed by a rebuild and there has been a new version of hedgewars since mid-november, I'd propose to just update the package and everything will be fine :-)

Loading...