Tuesday, August 28, 2018

Re: rm ports marked as BROKEN for years?

On 08/28/18 17:08, Martijn van Duren wrote:
> On 08/28/18 22:08, Daniel Dickman wrote:
>>
>>> On Aug 28, 2018, at 3:19 PM, Klemens Nanni <kn@openbsd.org> wrote:
>>>
>>>> On Tue, Aug 28, 2018 at 03:15:14PM -0400, Brian Callahan wrote:
>>>> I removed the BROKEN marker to see what would happen, and it turns out the
>>>> code uses functions that from Py-Pillow that have since been removed. And
>>>> "fixing" it as best I could ran into a different segfault (from pygame it
>>>> looks like).
>>> Given that, OK kn.
>>>
>> ok daniel for this one. i'd also tried to fix this one and failed.
>>
> I just applied the patch below and it runs just fine on my machine.
>
> @daniel: please don't send such reminders so late on a workday, this
> is going to affect my getting up tomorrow morning.
>
> martijn@
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/games/fretsonfire/Makefile,v
> retrieving revision 1.15
> diff -u -p -r1.15 Makefile
> --- Makefile 29 Sep 2015 10:52:12 -0000 1.15
> +++ Makefile 28 Aug 2018 21:06:21 -0000
> @@ -1,6 +1,6 @@
> # $OpenBSD: Makefile,v 1.15 2015/09/29 10:52:12 sthen Exp $
>
> -BROKEN = fails at runtime "python2.7 in free(): error: modified chunk-pointer 0x..."
> +#BROKEN = fails at runtime "python2.7 in free(): error: modified chunk-pointer 0x..."
>
> V = 1.3.110
> COMMENT = guitar hero clone
> Index: patches/patch-src_Texture_py
> ===================================================================
> RCS file: /cvs/ports/games/fretsonfire/patches/patch-src_Texture_py,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-src_Texture_py
> --- patches/patch-src_Texture_py 6 Apr 2014 21:10:25 -0000 1.1
> +++ patches/patch-src_Texture_py 28 Aug 2018 21:06:21 -0000
> @@ -1,6 +1,7 @@
> $OpenBSD: patch-src_Texture_py,v 1.1 2014/04/06 21:10:25 sthen Exp $
> ---- src/Texture.py.orig Sun Apr 6 18:28:33 2014
> -+++ src/Texture.py Sun Apr 6 18:29:48 2014
> +Index: src/Texture.py
> +--- src/Texture.py.orig
> ++++ src/Texture.py
> @@ -24,10 +24,10 @@ from __future__ import division
>
> import Log
> @@ -14,3 +15,12 @@ $OpenBSD: patch-src_Texture_py,v 1.1 201
> from OpenGL.GL import *
> from OpenGL.GLU import *
> from Queue import Queue, Empty
> +@@ -210,7 +210,7 @@ class Texture:
> + """Load the texture from a PIL image"""
> + image = image.transpose(Image.FLIP_TOP_BOTTOM)
> + if image.mode == "RGBA":
> +- string = image.tostring('raw', 'RGBA', 0, -1)
> ++ string = image.tobytes('raw', 'RGBA', 0, -1)
> + self.loadRaw(image.size, string, GL_RGBA, 4)
> + elif image.mode == "RGB":
> + string = image.tostring('raw', 'RGB', 0, -1)

For completeness and the archives, tb and I both independently came up
with similar diffs.
Users of radeon graphics might still encounter a problem, for instance
on my machine with a radeon 6130 I get:

/home/brian $ fretsonfire
radeon: Failed to allocate a buffer:
radeon:    size      : 1431658496 bytes
radeon:    alignment : 8192 bytes
radeon:    domains   : 6
radeon:    flags     : 20
pthread_mutex_destroy on mutex with waiters!
Fatal Python error: (pygame parachute) Segmentation Fault
Abort trap

but it worked for tb on Intel graphics. With that said, I won't stand in
the way of this being fixed in this way, but maybe a note somewhere
would be helpful?

~Brian

No comments:

Post a Comment