[Pkg-haskell-maintainers] Bug#744920: State of Haskell on sparc?

Patrick Baggett baggett.patrick at gmail.com
Tue Apr 29 15:31:26 UTC 2014


A quick google result shows this source file is likely where the issue
actually exists:

http://hackage.haskell.org/package/cryptohash-0.4/src/cbits/md5.c


md5_update() -> md5_do_chunk().

This uses the macro cpu_to_le32_array(), which in turn comes to
array_swap32():

static inline void array_swap32(uint32_t *d, uint32_t *s, uint32_t nb)
{
	while (nb--)
		*d++ = swap32(*s++);
}

This loads a uint32_t from *s, swaps the byte order, then stores into *d.
If either *s or *d are not aligned pointers (i.e. low 2 bits of address are
0), then SPARC will generate a SIGBUS and crash. I would bet money that
patching this function will resolve the issue (and probably other issues if
this function is used elsewhere). I can write up a patch for it, but I'm
not sure how to get it accepted upstream.

Patrick




On Tue, Apr 29, 2014 at 10:08 AM, Joachim Breitner <nomeata at debian.org>wrote:

> [Taking a few lists of the CC, no need to spam everyone.]
>
> Dear Patrick,
>
> Am Dienstag, den 29.04.2014, 09:41 -0500 schrieb Patrick Baggett:
>
> > I'd like to look into the TLS failures. Bus errors usually mean
> > "misaligned data" which aren't very difficult to fix once you see the
> > source code. Is there a bug report for the SPARC failure? Help me
> > reproduce it on my local machine and I think I should be able to fix
> > it soon!
>
> that would be great! But note that you might have to dive into the depth
> of the Haskell compiler GHC.
>
> To reproduce, simply try to build haskell-tls. I was able to reproduce
> it on the porter machine.
>
> I filed https://bugs.debian.org/744920 and
> https://ghc.haskell.org/trac/ghc/ticket/9002 for them.
>
> Greetings,
> Joachim
>
>
> --
> Joachim "nomeata" Breitner
> Debian Developer
>   nomeata at debian.org | ICQ# 74513189 | GPG-Keyid: F0FBF51F
>   JID: nomeata at joachim-breitner.de | http://people.debian.org/~nomeata
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-haskell-maintainers/attachments/20140429/460dfdbd/attachment-0001.html>


More information about the Pkg-haskell-maintainers mailing list