Bug#991476: redis: insane amount of memory used by the testsuite on s390x

2021-07-25 Thread Aurelien Jarno
Package: redis
Version: 5:6.2.5-1
Severity: serious
X-Debbugs-Cc: debian-s390@lists.debian.org

Since redis version 5:6.2.5-1, the redis-server process on s390x tries
to allocate insane amount of memory, 2560 PiB, causing the build daemon
to OOM just to maintain the page tables of such amount of memory:

| [59125.870223] Out of memory: Killed process 1142100 (redis-server) 
total-vm:2814749767178764kB, anon-rss:0kB, file-rss:8kB, shmem-rss:0kB, 
UID:2952 pgtables:7908616kB oom_score_adj:0

The last message in the build log is:

| [ok]: corrupt payload: OOM in rdbGenericLoadStringObject

Version 5:6.2.4-1 built fine, so it's likely a regression introduced in
the new upstream version.



Re: Problems with the giac package : different failures on buildd and porterbox !?

2020-02-05 Thread Aurelien Jarno
On 2020-01-23 07:52, Julien Puydt wrote:
> Le mercredi 22 janvier 2020 à 21:29 +0100, Julien Puydt a écrit :
> 
> > I wanted to work on it and get meaningful data for upstream, so
> > turned
> > to zelenka, the porterbox for this architecture. I followed the
> > tutorial here https://dsa.debian.org/doc/schroot/ - as I'm already
> > used
> > to do when I get problems with other packages. But this time, the
> > documentation step already fails :
> >   ***   bug in PARI/GP (Segmentation Fault), please report.
> > (repeated quite a few times before the compilation dies)
> > 

s390x is a big-endian architecture. The build failure on ppc64 and
sparc64 are really similar, so I believe the issue is related to
endianness.

> The compiled calculator gives strange results:
> 0>> 1/2.0-1/3
> 5.46834151467e-304
> // Time 0
> 1>> 1/2.0
> 3.64556100978e-304
> // Time 0
> 2>> 1/3
> 1/3
> // Time 0
> 3>> 1/1.
> 3.64556100978e-304
> // Time 0
> 4>> 1.
> 3.64556100978e-304
> // Time 0
> 
> The last example shows that it's not just a computation problem.

That behaviour clearly shows that what is displayed is not the result of
the computation.

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Re: Same procedure as every year: GCC defaults change (GCC 9)

2019-07-27 Thread Aurelien Jarno
On 2019-07-27 17:28, Matthias Klose wrote:
> GCC 9 was released earlier this year, it is now available in Debian
> testing/unstable. I am planning to do the defaults change in mid August, 
> around
> the time of the expected first GCC 9 point release (9.2.0).
> 
> There are only soname changes for rather unused shared libraries (libgo)
> involved, and the gnat defaults change will be handled separately by the 
> Debian
> Ada maintainers.  The fortran module changes look ok according to Alastair
> McKinstry.
> 
> The gcc-9 package still ftbfs on kfreebsd-*.
> 
> We still have local patches for at least the various mips, kfreebsd and hurd

To be more exhaustive, for release architectures there are also patches
concerning the arm target and for other architectures patches concerning
the alpha, ia64 and sparc targets.

> targets.  Please forward these upstream and make sure that these are applied
> upstream.

The two MIPS libffi patches have been accepted upstream (i.e. in the
libffi git repository) 1.5 years ago for one and 4 years ago for the
other. I know there hasn't been any recent libffi release, so what can
be done to sync the gcc repository? Would it be possible to stop using
that outdated embedded copy and use the debian libffi package instead?

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Re: Hurd-i386 and kfreebsd-{i386,amd64} removal

2019-05-25 Thread Aurelien Jarno
On 2019-05-25 13:00, Manuel A. Fernandez Montecelo wrote:
> Hi,
> 
> Em sáb, 25 de mai de 2019 às 10:57, Aurelien Jarno
>  escreveu:
> >
> > kfreebsd-amd64 and kfreebsd-i386 have now been moved to debian-ports. As
> > hurd-i386 has been moved earlier, it means that all the 3 architectures
> > have now been moved.
> 
> Nice :-)
> 
> Not sure who's the admin (I couldn't find the admin address in the
> main pages), but they're not registered in the graphs (while
> powerpcpse, recently removed, still is).
> 
> https://buildd.debian.org/stats/graph-ports-week-big.png

There are still available on the on the main graph:
https://buildd.debian.org/stats/graph-week-big.png

I'll move hurd and kbsd-* plots from the main one to the ports one, but
unless we do not keep the history, it's not a trivial task as it
requires migrating the data from one text database to the other
database.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Re: Hurd-i386 and kfreebsd-{i386,amd64} removal

2019-05-25 Thread Aurelien Jarno
Hi,

On 2019-04-24 12:34, Joerg Jaspert wrote:
> On 15381 March 1977, Aurelien Jarno wrote:
> 
> > > > It would be nice to have a bit more than 2 weeks to do all of that.
> > > Ok. How much? Is 6 or 8 weeks better? I don't think, given how long this
> > > is on the table already, it doesn't make much difference if its 2 or 8.
> > > Just something thats clear defined and not some random, non-clear
> > > "sometime in the future" point.
> > The hurd-i386 architecture has been moved to to debian-ports yesterday.
> > I hope it shows the willingness to do that. Please give us at least 4
> > more weeks to do the remaining kfreebsd-*. That will provide some margin
> > to account for the non-infinite free time to work on that (especially in
> > the freeze period) and possibly to get more disk space for the
> > debian-ports machine.
> 
> Thats ok, end of May is a nice point to take.
> 
> Thanks for the work and the timeframe for the rest!

kfreebsd-amd64 and kfreebsd-i386 have now been moved to debian-ports. As
hurd-i386 has been moved earlier, it means that all the 3 architectures
have now been moved.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Re: Hurd-i386 and kfreebsd-{i386,amd64} removal

2019-04-23 Thread Aurelien Jarno
On 2019-04-13 17:01, Joerg Jaspert wrote:
> On 15371 March 1977, Aurelien Jarno wrote:
> 
> > > How is the move to debian-ports supposed to happen? I won't have the
> > > time to do anything about it within the 2 weeks.
> 
> > The process to inject all packages to debian-ports is to get all the
> > deb, udeb and buildinfo files from the archives (main and debug) and
> > associate them with the .changes files that are hosted on coccia. We'll
> > also need to fetch all the associated GPG keys used to sign the changes
> > files. Then we can inject that in the debian-ports archive.
> 
> > It would be nice to have a bit more than 2 weeks to do all of that.
> 
> Ok. How much? Is 6 or 8 weeks better? I don't think, given how long this
> is on the table already, it doesn't make much difference if its 2 or 8.
> Just something thats clear defined and not some random, non-clear
> "sometime in the future" point.

The hurd-i386 architecture has been moved to to debian-ports yesterday.
I hope it shows the willingness to do that. Please give us at least 4
more weeks to do the remaining kfreebsd-*. That will provide some margin
to account for the non-infinite free time to work on that (especially in
the freeze period) and possibly to get more disk space for the
debian-ports machine.

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Re: Hurd-i386 and kfreebsd-{i386,amd64} removal

2019-04-13 Thread Aurelien Jarno
On 2019-04-12 23:01, Samuel Thibault wrote:
> Hello,
> 
> Joerg Jaspert, le ven. 12 avril 2019 22:48:42 +0200, a ecrit:
> > back in August 2018 we discussed architecture inclusion into
> > unstable/experimental.
> > 
> > Today we had our regular FTPMaster meeting and discussed hurd and both
> > kfreebsd architecture and decided to remove them from unstable and
> > experimental 2 weeks from now.
> 
> Just before the Buster release? That's far from the easiest timing.
> 
> I was hoping to do a non-official relase of Debian Hurd along Buster as
> usual, but a change of archive, which means uploading packages, fixing
> scripts, etc. will take a lot of time, which I simply just will not have
> within the coming two-three months (I am already struggling to find time
> to do what I engaged to). Basically, it means no non-official release of
> Debian Hurd along Buster. Or at best I could just make that non-official
> release now, with all the still pending RC bugs.
> 
> How is the move to debian-ports supposed to happen? I won't have the
> time to do anything about it within the 2 weeks.

The process to inject all packages to debian-ports is to get all the
deb, udeb and buildinfo files from the archives (main and debug) and
associate them with the .changes files that are hosted on coccia. We'll
also need to fetch all the associated GPG keys used to sign the changes
files. Then we can inject that in the debian-ports archive.

It would be nice to have a bit more than 2 weeks to do all of that.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Bug#890780: release-notes: document that s390x now require at least a z196 CPU

2018-02-18 Thread Aurelien Jarno
Package: release-notes
Severity: normal

The s390x baseline ISA has been raised to z196 in buster [1]. This
should be mentioned in the release notes.

I'll try to work on a patch in the next days. I am filling this bug to
make sure I do not forget.

[1] https://lists.debian.org/debian-s390/2018/02/msg8.html



s390x ISA raised to z196

2018-02-18 Thread Aurelien Jarno
Hi all,

Following the RFC on this mailing list[1], the baseline ISA of the s390x
port has been raised z196. This allows Debian to support packages like
rust, go or nodejs, which do not support older ISAs. For now only this
packages are affected, but in the future the default ISA in GCC will
also be raised, so more and more packages will use the corresponding
instructions.

As a consequence people should not upgrade to buster or sid if they have
and older CPU. The change does not affect Stretch, which will still be
supported for a bit more than 2 years.

Regards,
Aurelien

[1] https://lists.debian.org/debian-s390/2018/01/msg00015.html

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Re: Raising the minimum required s390x CPU to z196?

2018-02-06 Thread Aurelien Jarno
On 2018-01-31 15:38, Aurelien Jarno wrote:
> Hi all,
> 
> The Debian s390x port currently officially defaults to the z900 ISA.
> That's what our GCC defaults too, but I wouldn't be surprised if a few
> packages use a slightly newer ISA.
> 
> Unfortunately more and more packages require a newer ISA, usually at
> least z196. This is the case of at least nodejs, go and rustc. It should
> be noted that it's not a question of passing the right flag to GCC, but
> rather these packages have their own JIT compiler which has been written
> for a z196 ISA minimum.
> 
> For go we currently use gccgo instead of golang, which is not really
> an optimal solution and prevents many packages to build. For the same
> reason rustc is not available on s390x, which might become problematic
> soon (for example rsvg will require it soon). Finally recent versions
> of nodejs require at least a z196 CPU, so we have to drop all nodejs
> packages if we want to keep the baseline as z900.
> 
> In my opinion we don't really have any other choice than raising the
> minimum ISA to z196, even if this CPU is less than 7 years old. The
> the only other alternative I can think about would be to have people
> committing to maintain patches lowering the minimum ISA for the above
> packages. I started to work on that for go a few months ago, but
> unfortunately that's a huge work as upstream keeps moving.

Note that both hercules and QEMU are able to simulate a z196 CPU, or at
least the facilities used by the Linux kernel and user land when built
for z196.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Raising the minimum required s390x CPU to z196?

2018-01-31 Thread Aurelien Jarno
Hi all,

The Debian s390x port currently officially defaults to the z900 ISA.
That's what our GCC defaults too, but I wouldn't be surprised if a few
packages use a slightly newer ISA.

Unfortunately more and more packages require a newer ISA, usually at
least z196. This is the case of at least nodejs, go and rustc. It should
be noted that it's not a question of passing the right flag to GCC, but
rather these packages have their own JIT compiler which has been written
for a z196 ISA minimum.

For go we currently use gccgo instead of golang, which is not really
an optimal solution and prevents many packages to build. For the same
reason rustc is not available on s390x, which might become problematic
soon (for example rsvg will require it soon). Finally recent versions
of nodejs require at least a z196 CPU, so we have to drop all nodejs
packages if we want to keep the baseline as z900.

In my opinion we don't really have any other choice than raising the
minimum ISA to z196, even if this CPU is less than 7 years old. The
the only other alternative I can think about would be to have people
committing to maintain patches lowering the minimum ISA for the above
packages. I started to work on that for go a few months ago, but
unfortunately that's a huge work as upstream keeps moving.

The ISA change would be done in testing/unstable and released for
Buster. Stretch would be unchanged in that regard and it will continue
to be supported for 2 more years.

Note also that it means that we would have to get rid of our older
build daemon, zemlinsky.d.o. We would still have 2 buildd daemons in 2
different locations left, which is enough to run the port. However that
would be appreciable to get a third one to fully secure the port.

Any opinion, or alternative solution?

Thanks,
Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Re: Bug#886294: transition: nodejs

2018-01-25 Thread Aurelien Jarno
On 2018-01-24 13:24, Emilio Pozuelo Monfort wrote:
> On 23/01/18 19:21, Jérémy Lal wrote:
> > cc-ing s390x team to ask (re)building nodejs-8.9.3~dfsg-11 on zemlinsky.
> > 
> > but on s390x you're getting
> > illegal instructions on zemlinsky, which is a Z10 mainframe. 
> > Looks
> > like newer
> > node possibly bumped the baseline, or just accidentally 
> > introduced
> > instructions
> > not supported by our baseline.
> > 
> > 
> > Starting investigations about that. Hopefully it's a change that 
> > could
> > have been
> > backward-compatible.
> > 
> > 
> > nodejs/v8 somewhat officially support s390x down to z196.
> > I removed the added march=z196 flag and uploaded it into 
> > nodejs-8.9.3~dfsg-11.
> > It would be wonderful to build it on zemlinsky to see what happens.
> 
> Still fails: https://buildd.debian.org/status/package.php?p=node-srs=sid

I requeued nodejs on zemlinsky and it also failed. After a quick check,
it appears that It uses he load/store on condition 1 facility directly,
ie not in GCC generated code. The change is therefore intentional. This
facility has been introduced with the z196.

> Our baseline is z10, and z196 is newer. So if upstream now requires z196, we
> have three options:

Officially our baseline is still z900.

> - Revert / fix that so upstream works with z10 again
> - Remove nodejs from s390x
> - Bump our baseline
> 
> See go and rustc for similar problems.

Bumping the baseline to z196 looks like the easiest way and as you said,
it would also fix go, rustc and maybe more software. However we discussed
raising the ISA to z10 about one year and a half ago, and the conclusion
was that we still have users with older machines. I'll try to restart
the discussion again.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Bug#685134: Bug#684909: Bug#685134: [s390-tools] please add patch from qemu

2017-10-19 Thread Aurelien Jarno
On 2017-10-19 16:31, Philipp Kern wrote:
> On 10/19/2017 03:06 PM, Michael Tokarev wrote:
> > Debian has much stricter policy wrt blobs (DFSG),
> > and debian builds for more architectures (the firmware,
> > if it is part of qemu-system-s390 package, needs to be
> > built on all architectures where this binary package
> > builts, or it needs to be a separate arch-all package).
> 
> Note that the arch:all autobuilders are amd64. gcc-*-s390x-linux-gnu
> exists in Debian, although only on i386 and amd64. I don't think there's
> a policy today that precludes you from forcing users to build arch:all
> on amd64 for technical reasons.

Indeed that's one option to build it, that's for example the solution
chosen to build slof using gcc-powerpc64-linux-gnu. So far nobody
complained it's buildable only on amd64, i386, ppc64el and x32.

The other alternative is to build a cross-compiler using binutils-source
and gcc-source (that requires that the none or elf os is supported for
this architecture). This has the advantage of ignoring all the flags
that debhelper tries to push that make a firmware to not build or break.
That's the solution chosen for example for openbios.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Bug#685134: Bug#684909: Bug#685134: [s390-tools] please add patch from qemu

2017-10-19 Thread Aurelien Jarno
On 2017-10-19 18:15, Dimitri John Ledkov wrote:
> On 19 October 2017 at 15:31, Philipp Kern <pk...@debian.org> wrote:
> > On 10/19/2017 03:06 PM, Michael Tokarev wrote:
> >> Debian has much stricter policy wrt blobs (DFSG),
> >> and debian builds for more architectures (the firmware,
> >> if it is part of qemu-system-s390 package, needs to be
> >> built on all architectures where this binary package
> >> builts, or it needs to be a separate arch-all package).
> >
> > Note that the arch:all autobuilders are amd64. gcc-*-s390x-linux-gnu
> > exists in Debian, although only on i386 and amd64. I don't think there's
> > a policy today that precludes you from forcing users to build arch:all
> > on amd64 for technical reasons.
> >
> > Kind regards
> > Philipp Kern
> >
> 
> The s390x firmware in question, is built from source, on Ubuntu, on
> every src:qemu upload on the s390x architecture and shipped in an
> arch:s390x package.
> 
> qemu-system-s390x requires to run on the s390x hardware, as it is
> effectively passthrough kvm only, and is not userspace emulated.
> (Does not work on non-s390x machines).

Maybe because Ubuntu decided to build it only on s390x. Debian ships it
built for other architectures and it works perfectly. You can emulate an
s390x with qemu-system-s390x on amd64, arm or mips. This firmware works
too.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Re: binutils: s390x: fails to link systemd binaries using LTO

2017-06-20 Thread Aurelien Jarno
On 2017-06-21 00:21, Michael Biebl wrote:
> Hi Aurelien
> 
> Am 20.06.2017 um 23:56 schrieb Aurelien Jarno:
> > Could you please Cc the s390x porters next time? That would make us
> > notice the issue faster.
> 
> Hm, when filing the bug report I used X-Debbugs-CC and got this
> confirmation:
> 
> As you requested using X-Debbugs-CC, your message was also forwarded to
>   debian-s390@lists.debian.org
> 
> Did this not reach the correct mailing list?

The mailing list is correct. That said, I don't see any track of the
original email in my mbox nor on the web archive. It might also be a
problem with the BTS.
 
> > The problem is related to the fact that gold is not available on s390x.
> > It seems gold is less strict than ld in having to link with each used
> > library. The problem can be fully reproduced on amd64 by using ld instead
> > of gold:
> > 
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -312,7 +312,7 @@ link_test_c = files('tools/meson-link-test.c')
> >  foreach arg : ['-Wl,-z,relro',
> > '-Wl,-z,now',
> > '-pie',
> > -   '-Wl,-fuse-ld=gold',
> > +   '-Wl,-fuse-ld=ld',
> >]
> >  
> >  have = run_command(check_compilation_sh,
> > 
> > 
> > Now to come back to the problem, the test is linked against
> > src/libsystemd/libsystemd.a which uses pthread_sigmask. It looks
> > therefore normal to add -lpthread to link it.
> 
> Thanks for having a look. Will forward this issue to systemd upstream
> after verifying that adding -lpthread fixes the issue.

Thanks.

Regards,
Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Re: binutils: s390x: fails to link systemd binaries using LTO

2017-06-20 Thread Aurelien Jarno
On 2017-06-19 23:50, Michael Biebl wrote:
> On Tue, 30 May 2017 22:21:04 +0200 Michael Biebl <bi...@debian.org> wrote:
> > Package: binutils
> > Version: 2.28-5
> > Severity: normal
> > User: debian-s390@lists.debian.org
> > Usertags: s390x
> > 
> > Hi,
> > 
> > we run into a strange issue when trying to compile systemd git master
> > using meson. The build/link failure is s390x specific so I've CCed the
> > s390x porters mailing list. The problem is easily reproducible on the
> > zelenka porterbox. with the following commands:
> > 
> > sessionid=$(schroot -b -c sid)
> > dd-schroot-cmd -c $sessionid apt-get update
> > dd-schroot-cmd -c $sessionid apt-get upgrade -y
> > dd-schroot-cmd -c $sessionid apt-get build-dep systemd -y
> > dd-schroot-cmd -c $sessionid apt-get install meson git -y
> > schroot -r -c $sessionid
> > git clone https://github.com/systemd/systemd
> > cd systemd
> > export LANG=C.UTF-8
> > meson -Db_lto=true -Dlink-udev-shared=false build
> > ninja -C build
> > 
> > This will lead to a failure to link the systemd-networkd,
> > test-network-tables and test-network binaries. I've attached the
> > relevant excerpt from the build log.
> > 
> > Since this issue seems to be arch specific, this appears to be a problem
> > in the s390x toolchain and not systemd itself.
> > 
> > We would appreciate if the s390(x) porters could have a look.

Could you please Cc the s390x porters next time? That would make us
notice the issue faster.

> Any feedback fro the s390 porters?

The problem is related to the fact that gold is not available on s390x.
It seems gold is less strict than ld in having to link with each used
library. The problem can be fully reproduced on amd64 by using ld instead
of gold:

--- a/meson.build
+++ b/meson.build
@@ -312,7 +312,7 @@ link_test_c = files('tools/meson-link-test.c')
 foreach arg : ['-Wl,-z,relro',
'-Wl,-z,now',
'-pie',
-   '-Wl,-fuse-ld=gold',
+   '-Wl,-fuse-ld=ld',
   ]
 
 have = run_command(check_compilation_sh,


Now to come back to the problem, the test is linked against
src/libsystemd/libsystemd.a which uses pthread_sigmask. It looks
therefore normal to add -lpthread to link it.

Regards,
Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Re: help fixing gitlab-workhorse build failure on s390x

2016-11-04 Thread Aurelien Jarno
Hi,

On 2016-11-04 16:18, Pirate Praveen wrote:
> [cc me on replies from s390 list]
> 
> gitlab-workhorse is blocking gitlab 8.12.3 migration to testing for
> sometime now. I fixed two issues with powerpc build but this issue seems
> hard to crack.
> 
> See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843148 for details
> 
> Any help fixing this issue would be great.

The problem is that the latest version of go introduce a requirement of
a z196 CPU, which is higher than the ISA we use in Debian and for which
we only have one build daemon (zandonai). While technically we can force
packages to not be built on some build daemons (the list might be quite
long for go related packages), we can't really do that practically as it
means we won't be able to offer security packages in time if the build
daemon is down during a few days. In practice the maximum downtime over
the last years has been around one minute, but we can't predict what it
will be in the future.

I have started to modify the go code to lower the required ISA (removing
the use of the DO opcodes), but it's something that takes time. I hope
to finish it in the next weeks or months though, so before the freeze.

In the meantime maybe we can manually force it to be built on zandonai
manually. I also guess we should have a single bug open on the go
package with an "affects" on the other packages.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Re: Porter roll call for Debian Stretch

2016-09-05 Thread Aurelien Jarno
Hi,

On 2016-08-17 22:05, ni...@thykier.net wrote:
> Hi,
> 
> Like last release, we are doing a roll call for porters of all release
> architectures.  If you are an active porter behind one of the [release
> architectures] for the entire lifetime of Debian Stretch (est. end of
> 2020), please respond with a signed email containing the following
> before Friday, the 9th of September:

Just a short reminder about that, given the deadline is approaching. If
I am not mistaken, I am the only one who answered. We need at least 3
porters to have a chance for the s390x port to be released with Stretch.

Thanks,
Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Re: Bug#821347: libsecret porting for s390x

2016-08-28 Thread Aurelien Jarno
On 2016-08-28 18:55, Aurelien Jarno wrote:
> control: tag -1 + patch
> control: tag -1 + upstream
> control: tag -1 + fixed-upstream
> 
> On 2016-08-25 14:16, Aurelien Jarno wrote:
> > I am therefore cloning this bug and reassigning the clone to pygobject.
> > I don't simply reassigning it as the /collection/delete-sync test is
> > also failing, though it seems to not be fully reproducible and seems to
> > also happen on other architectures (mipsel for example).
> 
> I have difficulties to reproduce the /collection/delete-sync failure. It
> seems to happen roughly once every 5 builds, and I have not yet managed
> to reproduce the issue when running only this test. I believe there is
> some race condition or bug in the mock service, which might not be s390x
> specific (it also failed in previous versions on at least armhf, hppa and
> mipsel).

I have been able to reproduce the issue on amd64 by running
test-collection 1000 times in a loop:

| $ for i in $(seq 1 1000) ; do dbus-run-session ./test-collection --verbose ; 
done

I ended up with 39 failures. The failures look like:

| GTest: run: /collection/delete-sync
| (MSG: MESSAGE: Remote error from secret service: 
org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message 
bus without replying)
| ** Message: Remote error from secret service: 
org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message 
bus without replying
| (MSG: FATAL-WARNING: couldn't set SecretCollection Label: Message recipient 
disconnected from message bus without replying)
| 
| ** (test-collection:20959): WARNING **: couldn't set SecretCollection Label: 
Message recipient disconnected from message bus without replying

That said, I haven't been able to reproduce the issue by running only
the delete-sync test 1 times with the following command, both on
amd64 and s390x:

| $ for i in $(seq 1 1) ; do dbus-run-session ./test-collection -p 
/collection/delete-sync --verbose ; done

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Bug#835413: pygobject: wrong enum to hash conversion on 64-bit big endian

2016-08-26 Thread Aurelien Jarno
control: tag -1 + patch

On 2016-08-25 14:16, Aurelien Jarno wrote:
> On 2016-08-25 09:15, Aurelien Jarno wrote:
> > I have tried to debug the issue, and I came to the same conclusion. The
> > problem happens in the test-py-lookup.py test when creating a schema
> > with Secret.Schema.new. The schema is defined in python using a
> > dictionary which is then transformed by gobject-introspection into a
> > to a GHashTable in order to call secret_schema_newv. This hash table
> > maps strings to enum (ie a 32-bit value).
> > 
> > In practice the hash table stores two gpointers, so the 32-bit value
> > has to be converted first to a pointer using GINT_TO_POINTER and when
> > read again converted with GPOINTER_TO_INT. The latter is correctly done
> > in libsecret, but the former doesn't seems to be done in
> > gobject-introspection. Therefore on a 64-bit little endian system, the
> > lower 32 bits are stored correctly, but the high 32 bits are left
> > unchanged as garbage. It's not a problem as GPOINTER_TO_INT just remove
> > this garbage. On a 64-bit big endian system, the value is stored on the
> > higher 32-bits, and the lower 32 bits are left unchanged as garbage.
> > Therefore GPOINTER_TO_INT just trash the value, just leaving the
> > garbage.
> > 
> > By changing the conversion in secret_schema_newv from
> >   type = GPOINTER_TO_INT (value);
> > to
> >   type = (gint)(((unsigned long) value) >> 32);
> > the testsuite is able to pass.
> > 
> > Of course this is not an acceptable patch and now we have to find where
> > in the whole gobject-introspection chain where to add the missing
> > GINT_TO_POINTER conversion.
> 
> The problem is actually in pygobject. enums are represented with a
> GI_TYPE_TAG_INTERFACE type, which corresponds to an "extended
> interface object". They are treated by _pygi_arg_to_hash_pointer (in
> gi/pygi-argument.c) as a pointer instead of a 32-bit value. The correct
> way to do that is to pass a GITypeInfo to the function so that it's
> possible to query the subtype of the GI_TYPE_TAG_INTERFACE type.
> 
> I am therefore cloning this bug and reassigning the clone to pygobject.
> I don't simply reassigning it as the /collection/delete-sync test is
> also failing, though it seems to not be fully reproducible and seems to
> also happen on other architectures (mipsel for example).
> 
> I have a dirty patch that works, I'll work on cleaning it so that it can
> be applied. It might take a few days.

Please find a patch attached. It fixes the test-py-lookup.py test in
libsecret so that it doesn't hang nor fail.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net
From 8dde1d4951b71181193ab5278334eff1d6f998cb Mon Sep 17 00:00:00 2001
From: Aurelien Jarno <aurel...@aurel32.net>
Date: Fri, 26 Aug 2016 12:43:51 +0200
Subject: [PATCH] Fix list/hashtable enum <-> hash conversion on 64-bit big
 endian

glist and ghashtable objects both store pointers. Complex objects are
stored as pointers to the objects, but simpler objects like an integer
value are stored directly as a pointer, using for example the
GINT_TO_POINTER and GPOINTER_TO_INT macros.

This is done in pygobject with the _pygi_hash_pointer_to_arg and
_pygi_arg_to_hash_pointer functions. These functions handle the various
type of objects. However they consider that an enum, represented with the
GI_TYPE_TAG_INTERFACE type (extended interface object), are always a
pointer. This is wrong as it is often a 32-bit value. Therefore on 64-bit
big endian machines, the value is handle with the 2 32-bit parts swapped.

This patches fixes that by changing the second argument of both functions
from GITypeTag to GITypeInfo. This way the interface can be determined,
and the underlying storage type can also be determined. This currently
only handles enum and flags, leaving other types as pointers.
---
 gi/pygi-argument.c  | 32 
 gi/pygi-argument.h  |  4 ++--
 gi/pygi-hashtable.c |  8 
 gi/pygi-list.c  |  8 
 4 files changed, 38 insertions(+), 14 deletions(-)

diff --git a/gi/pygi-argument.c b/gi/pygi-argument.c
index e9bfe3b..db82be5 100644
--- a/gi/pygi-argument.c
+++ b/gi/pygi-argument.c
@@ -85,10 +85,32 @@ pygi_argument_to_gssize (GIArgument *arg_in,
 }
 }
 
+static GITypeTag
+_pygi_get_storage_type (GITypeInfo *type_info)
+{
+GITypeTag type_tag = g_type_info_get_tag (type_info);
+
+if (type_tag == GI_TYPE_TAG_INTERFACE) {
+GIBaseInfo *interface = g_type_info_get_interface (type_info);
+switch (g_base_info_get_type (interface)) {
+case GI_INFO_TYPE_ENUM:
+case GI_INFO_TYPE_FLAGS:
+type_tag = g_enum_i

Re: Bug#821347: libsecret porting for s390x

2016-08-25 Thread Aurelien Jarno
clone 821347 -1
reassign -1 pygobject
retitle -1 pygobject: wrong enum to hash conversion on 64-bit big endian
affects -1 libsecret
block 821347 by -1
thanks

On 2016-08-25 09:15, Aurelien Jarno wrote:
> On 2016-07-27 14:23, Emilio Pozuelo Monfort wrote:
> > On 27/07/16 14:16, Aurelien Jarno wrote:
> > > On 2016-07-10 21:24, Andreas Henriksson wrote:
> > >> Hello Bastian Blank.
> > >>
> > >> On Sun, Jul 10, 2016 at 12:33:12PM +0200, Bastian Blank wrote:
> > >>> On Sun, Jun 26, 2016 at 10:12:31PM +0200, Andreas Henriksson wrote:
> > >>>> I'd like to ask for your help with looking at the problems building
> > >>>> libsecret on s390x. It's currently the only (release-)architecture
> > >>>> not building and blocking testing migration for a long time. :(
> > >>>
> > >>> What was the result of your manual build on the s390x porter machine?
> > >>
> > >> Building on a porter box (zelenka) seems to run into the same issue
> > >> and build gets stuck after:
> > >> PASS: test-collection 27 /collection/search-secrets-async
> > >>
> > >> Same as in:
> > >> https://buildd.debian.org/status/fetch.php?pkg=libsecret=s390x=0.18.5-1=1462961523
> > > 
> > > Note that it also fails the same way on ppc64 and s390x. It therefore
> > > looks like a 64-bit big endian issue. It could be for example a pointer
> > > to an int value casted to a pointer to a long value or vice-versa.
> > 
> > I started to look at this the last weekend. I haven't found the cause yet, 
> > but I
> > believe it's a bug in gobject-introspection, indeed related to 32 vs 64 bit
> > values. I will try to look at it some more in the next few days.
> 
> I have tried to debug the issue, and I came to the same conclusion. The
> problem happens in the test-py-lookup.py test when creating a schema
> with Secret.Schema.new. The schema is defined in python using a
> dictionary which is then transformed by gobject-introspection into a
> to a GHashTable in order to call secret_schema_newv. This hash table
> maps strings to enum (ie a 32-bit value).
> 
> In practice the hash table stores two gpointers, so the 32-bit value
> has to be converted first to a pointer using GINT_TO_POINTER and when
> read again converted with GPOINTER_TO_INT. The latter is correctly done
> in libsecret, but the former doesn't seems to be done in
> gobject-introspection. Therefore on a 64-bit little endian system, the
> lower 32 bits are stored correctly, but the high 32 bits are left
> unchanged as garbage. It's not a problem as GPOINTER_TO_INT just remove
> this garbage. On a 64-bit big endian system, the value is stored on the
> higher 32-bits, and the lower 32 bits are left unchanged as garbage.
> Therefore GPOINTER_TO_INT just trash the value, just leaving the
> garbage.
> 
> By changing the conversion in secret_schema_newv from
>   type = GPOINTER_TO_INT (value);
> to
>   type = (gint)(((unsigned long) value) >> 32);
> the testsuite is able to pass.
> 
> Of course this is not an acceptable patch and now we have to find where
> in the whole gobject-introspection chain where to add the missing
> GINT_TO_POINTER conversion.

The problem is actually in pygobject. enums are represented with a
GI_TYPE_TAG_INTERFACE type, which corresponds to an "extended
interface object". They are treated by _pygi_arg_to_hash_pointer (in
gi/pygi-argument.c) as a pointer instead of a 32-bit value. The correct
way to do that is to pass a GITypeInfo to the function so that it's
possible to query the subtype of the GI_TYPE_TAG_INTERFACE type.

I am therefore cloning this bug and reassigning the clone to pygobject.
I don't simply reassigning it as the /collection/delete-sync test is
also failing, though it seems to not be fully reproducible and seems to
also happen on other architectures (mipsel for example).

I have a dirty patch that works, I'll work on cleaning it so that it can
be applied. It might take a few days.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Re: Z3 build on s390x

2016-07-27 Thread Aurelien Jarno
On 2016-07-21 22:36, Fabian Wolff wrote:
> Dear s390x porters,
> 
> recently, I did two NMUs for the z3 package to help resolve some
> release-critical bugs and consequently have it enter testing again.
> 
> The latter goal seems to have been obstructed by an unexpected build
> failure on s390x [1]. All other release architectures build the
> package just fine.
> 
> In fact, the Ubuntu s390x build servers built the exact same package
> successfully, too [2], which makes me wonder whether this might be an
> issue not with the package itself but with the buildd infrastructure,
> especially after finding out libsecret has a very similar problem
> [3].
> 
> Since I am not a DD myself, I do not have access to any porter
> machines, which is why I would like to ask for help with identifying
> and hopefully fixing the problem.
> 

It build successfully after a give-back, so it's likely a transient
issue in the testsuite.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Re: libsecret porting for s390x

2016-07-27 Thread Aurelien Jarno
On 2016-07-10 21:24, Andreas Henriksson wrote:
> Hello Bastian Blank.
> 
> On Sun, Jul 10, 2016 at 12:33:12PM +0200, Bastian Blank wrote:
> > On Sun, Jun 26, 2016 at 10:12:31PM +0200, Andreas Henriksson wrote:
> > > I'd like to ask for your help with looking at the problems building
> > > libsecret on s390x. It's currently the only (release-)architecture
> > > not building and blocking testing migration for a long time. :(
> > 
> > What was the result of your manual build on the s390x porter machine?
> 
> Building on a porter box (zelenka) seems to run into the same issue
> and build gets stuck after:
> PASS: test-collection 27 /collection/search-secrets-async
> 
> Same as in:
> https://buildd.debian.org/status/fetch.php?pkg=libsecret=s390x=0.18.5-1=1462961523

Note that it also fails the same way on ppc64 and s390x. It therefore
looks like a 64-bit big endian issue. It could be for example a pointer
to an int value casted to a pointer to a long value or vice-versa.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Upgrading the minimum required s390x CPU to z10?

2016-05-31 Thread Aurelien Jarno
Hi all,

The Debian s390x port currently defaults to the z900 instruction set. It 
appears that an increasing but small number of packages use z10 assembly 
code, and need to be patched to be built on Debian. I therefore wonder if
it is time to switch the default ISA to z10 (which is the maximum we can 
do with out current build daemons and porterbox). Of course that will be
done in testing/unstable, so people using older machines can still use
jessie.

Any opinion on that?

Aurelien


-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Re: Bug#669944: fixed in mozjs 1.8.5-1.0.0+dfsg-4.4

2015-11-08 Thread Aurelien Jarno
On 2015-11-09 00:22, Aurelien Jarno wrote:
> On 2015-11-08 19:22, John Paul Adrian Glaubitz wrote:
> > Source: mozjs
> > Source-Version: 1.8.5-1.0.0+dfsg-4.4
> > 
> > We believe that the bug you reported is fixed in the latest version of
> > mozjs, which is due to be installed in the Debian FTP archive.
> > 
> > A summary of the changes between this version and the previous one is
> > attached.
> > 
> > Thank you for reporting the bug, which will now be closed.  If you
> > have further comments please address them to 669...@bugs.debian.org,
> > and the maintainer will reopen the bug report if appropriate.
> > 
> > Debian distribution maintenance software
> > pp.
> > John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> (supplier of 
> > updated mozjs package)
> > 
> > (This message was generated automatically at their request; if you
> > believe that there is a problem with it please contact the archive
> > administrators by mailing ftpmas...@ftp-master.debian.org)
> > 
> > 
> > -BEGIN PGP SIGNED MESSAGE-
> > Hash: SHA256
> > 
> > Format: 1.8
> > Date: Sun, 08 Nov 2015 19:30:45 +0100
> > Source: mozjs
> > Binary: libmozjs185-1.0 libmozjs185-dev
> > Architecture: source amd64
> > Version: 1.8.5-1.0.0+dfsg-4.4
> > Distribution: unstable
> > Urgency: medium
> > Maintainer: Chris Coulson <chrisccoul...@ubuntu.com>
> > Changed-By: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de>
> > Description:
> >  libmozjs185-1.0 - Spidermonkey javascript engine
> >  libmozjs185-dev - Spidermonkey javascript library - development headers
> > Closes: 669944
> > Changes:
> >  mozjs (1.8.5-1.0.0+dfsg-4.4) unstable; urgency=medium
> >  .
> >* Non-maintainer upload.
> >* Add disable-nanojit-on-sparc64.patch to disable nanojit on sparc64
> >  where it is currently unsupported and needs to be ported first.
> >* Update debian/libmozjs185-1.0.symbols for alpha, powerpcspe, ppc64
> >  sh4 and sparc64 (Closes: #669944).
> 
> This NMU changed the symbols file for s390x, so it now fails to build
> there [1] now. s390x has been changed into s390:
> - (arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64 !mips64el !ppc64el 
> !s390x)_ZN2js10TypedArray14prop_getBufferEP9JSContextP8JSObjectiPNS_5ValueE@Base
>  1.8.5-1.0.0+dfsg
> lueE@Base 1.8.5-1.0.0+dfsg
> + (arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64 !mips64el !ppc64 
> !ppc64el !s390 
> !sparc64)_ZN2js10TypedArray14prop_getBufferEP9JSContextP8JSObjectiPNS_5ValueE@Base
>  1.8.5-1.0.0+dfsg
> 
> Could you please do another NMU to fix that? Thanks in advance.

Oh, I have just seen you already fixed that. Thanks and sorry for the
noise.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Re: Bug#669944: fixed in mozjs 1.8.5-1.0.0+dfsg-4.4

2015-11-08 Thread Aurelien Jarno
On 2015-11-08 19:22, John Paul Adrian Glaubitz wrote:
> Source: mozjs
> Source-Version: 1.8.5-1.0.0+dfsg-4.4
> 
> We believe that the bug you reported is fixed in the latest version of
> mozjs, which is due to be installed in the Debian FTP archive.
> 
> A summary of the changes between this version and the previous one is
> attached.
> 
> Thank you for reporting the bug, which will now be closed.  If you
> have further comments please address them to 669...@bugs.debian.org,
> and the maintainer will reopen the bug report if appropriate.
> 
> Debian distribution maintenance software
> pp.
> John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> (supplier of updated 
> mozjs package)
> 
> (This message was generated automatically at their request; if you
> believe that there is a problem with it please contact the archive
> administrators by mailing ftpmas...@ftp-master.debian.org)
> 
> 
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
> 
> Format: 1.8
> Date: Sun, 08 Nov 2015 19:30:45 +0100
> Source: mozjs
> Binary: libmozjs185-1.0 libmozjs185-dev
> Architecture: source amd64
> Version: 1.8.5-1.0.0+dfsg-4.4
> Distribution: unstable
> Urgency: medium
> Maintainer: Chris Coulson <chrisccoul...@ubuntu.com>
> Changed-By: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de>
> Description:
>  libmozjs185-1.0 - Spidermonkey javascript engine
>  libmozjs185-dev - Spidermonkey javascript library - development headers
> Closes: 669944
> Changes:
>  mozjs (1.8.5-1.0.0+dfsg-4.4) unstable; urgency=medium
>  .
>* Non-maintainer upload.
>* Add disable-nanojit-on-sparc64.patch to disable nanojit on sparc64
>  where it is currently unsupported and needs to be ported first.
>* Update debian/libmozjs185-1.0.symbols for alpha, powerpcspe, ppc64
>  sh4 and sparc64 (Closes: #669944).

This NMU changed the symbols file for s390x, so it now fails to build
there [1] now. s390x has been changed into s390:
- (arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64 !mips64el !ppc64el 
!s390x)_ZN2js10TypedArray14prop_getBufferEP9JSContextP8JSObjectiPNS_5ValueE@Base
 1.8.5-1.0.0+dfsg
lueE@Base 1.8.5-1.0.0+dfsg
+ (arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !mips64 !mips64el !ppc64 
!ppc64el !s390 
!sparc64)_ZN2js10TypedArray14prop_getBufferEP9JSContextP8JSObjectiPNS_5ValueE@Base
 1.8.5-1.0.0+dfsg

Could you please do another NMU to fix that? Thanks in advance.

Aurelien

[1] 
https://buildd.debian.org/status/fetch.php?pkg=mozjs=s390x=1.8.5-1.0.0%2Bdfsg-4.4=1447011515

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Re: sh4 missing on packages.debian.org

2014-09-06 Thread Aurelien Jarno
On Fri, Sep 05, 2014 at 07:04:50PM +0200, John Paul Adrian Glaubitz wrote:
 Hi Aurelien!

Hi,

 I just noticed that there seems to be something wrong with
 packages.debian.org regarding sh4. Many packages are not
 listed there as available even though they are built and
 installed.
 
 For example, src:glibc, has been fully built on sh4, yet:
 
  https://packages.debian.org/sid/libc6
 
 It's not there. It's also not installable anymore:
 
 yamato:~# apt-cache policy libc6
 libc6:
   Installed: 2.19-9
   Candidate: 2.19-9
   Version table:
  *** 2.19-9 0
 100 /var/lib/dpkg/status
 yamato:~#
 
 yamato:~# cat /etc/apt/sources.list
 deb http://ftp.debian-ports.org/debian/ unstable main
 deb http://ftp.debian-ports.org/debian/ unreleased main
 yamato:~#
 
 Do you know what could be wrong?

This morning it seems the Packages list is fine, and that the packages
correctly appear on package.d.o. I guess there was a small glitch in the
previous install run.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140906065849.gd22...@hall.aurel32.net



Re: Bug#759870: gcc-4.9: Compiles zsh endlessly on s390x (maybe sigjmp_buf related)

2014-09-03 Thread Aurelien Jarno
On Sun, Aug 31, 2014 at 12:39:12AM +0200, Axel Beckert wrote:
 Control: retitle -1 gcc-4.9: Compiles zsh endlessly with 
 -fstack-protector-strong on s390x
 
 Hi,
 
 Matthias Klose wrote:
  if it's just zsh, then it's not serious.
 
 I doubt that it's only zsh.
 
  Apparently there are some stability issues with some s390 machines,
 
 Looks rather like a regression than stability issues to me. It fails
 _always_ with gcc-4.9 and default buildflags on s390x. But works fine
 with gcc-4.8:
 
 $ debuild -eCC=gcc-4.8 
 -eDEB_BUILD_MAINT_OPTIONS=hardening=-stackprotectorstrong -uc -us -B
 
 (Had to remove stackprotectorstrong as it doesn't seem to be available
 with gcc-4.8.)
 
  CC'ing the s390 porters.
 
 JFTR: I already X-Debbugs-Cc'ed them.
 
 I was able to to reproduce it in a sid chroot of zelenka, too. gcc-4.9
 hangs at this position:
 
 […].0.5-dev-2/obj/Src → gcc -c -I. -I../Src -I../../Src -I../../Src/Zle 
 -I../../Src -D_FORTIFY_SOURCE=2 -Q -DHAVE_CONFIG_H -g -O2 
 -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -o 
 builtin.o ../../Src/builtin.c
  gnu_dev_major gnu_dev_minor gnu_dev_makedev read pread pread64 readlink 
 readlinkat getcwd getwd confstr getgroups ttyname_r getlogin_r gethostname 
 getdomainname getchar fgetc_unlocked getc_unlocked getchar_unlocked putchar 
 fputc_unlocked putc_unlocked putchar_unlocked getline feof_unlocked 
 ferror_unlocked sprintf vsprintf snprintf vsnprintf fprintf printf vprintf 
 vfprintf dprintf vdprintf asprintf __asprintf obstack_printf vasprintf 
 obstack_vprintf fgets fread fgets_unlocked fread_unlocked tolower toupper 
 stat lstat fstat fstatat mknod mknodat stat64 lstat64 fstat64 fstatat64 
 __sigismember __sigaddset __sigdelset atoi atol atoll bsearch atof realpath 
 ptsname_r wctomb mbstowcs wcstombs __strcspn_c1 __strcspn_c2 __strcspn_c3 
 __strspn_c1 __strspn_c2 __strspn_c3 __strpbrk_c2 __strpbrk_c3 __strtok_r_1c 
 __strsep_1c __strsep_2c __strsep_3c memcpy memmove mempcpy memset bcopy bzero 
 strcpy stpcpy strncpy stpncpy strcat strncat open open64 openat openat64 
 btowc wctob mbrlen wmemcpy wmemmove wmempcpy wmemset wcscpy wcpcpy wcsncpy 
 wcpncpy wcscat wcsncat swprintf vswprintf wprintf fwprintf vwprintf vfwprintf 
 fgetws fgetws_unlocked wcrtomb mbsrtowcs wcsrtombs mbsnrtowcs wcsnrtombs 
 createbuiltintable printbuiltinnode freebuiltinnode init_builtins new_optarg 
 execbuiltin bin_enable bin_set bin_pwd bin_dirs set_pwd_env bin_cd 
 cd_get_dest cd_do_chdir cd_able_vars cd_try_chdir cd_new_pwd printdirstack 
 fixdir printqt printif bin_fc fcgetcomm fcsubs fclist fcedit getasg 
 typeset_setbase typeset_setwidth typeset_single bin_typeset eval_autoload 
 listusermathfunc bin_functions mkautofn bin_unset bin_whence bin_hash 
 bin_unhash bin_alias bin_true bin_false bin_print bin_shift bin_getopts 
 bin_break checkjobs zexit bin_dot eval bin_emulate bin_eval bin_read zread 
 testlex bin_test bin_times bin_trap bin_ttyctl bin_let bin_umask bin_notavail
 Analyzing compilation unit
 Performing interprocedural optimizations
  *free_lang_data visibility early_local_cleanups *free_inline_summary 
 whole-program profile_estimate devirt cp inline pure-const 
 static-varAssembling functions:
  bin_true bin_false testlex bin_enable bin_set listusermathfunc bin_dirs 
 bin_unhash fclist bin_unset bin_whence bin_shift bin_let bin_getopts bin_dot 
 eval bin_emulate bin_eval bin_times bin_trap bin_umask printbuiltinnode 
 bin_ttyctl freebuiltinnode bin_pwd typeset_setwidth.isra.4 
 typeset_setbase.isra.5 fcgetcomm bin_fc typeset_single.isra.7 getasg bin_hash 
 bin_alias bin_print zread bin_read bin_test createbuiltintable init_builtins 
 execbuiltin set_pwd_env cd_able_vars fixdir
 
 As waldi noticed, it suffices to replace -fstack-protector-strong by
 -fstack-protector (which was necessary for compiling with gcc-4.8 anyways) 
 and it does no more go into the endless loop:
 
 […].0.5-dev-2/obj/Src → gcc -c -I. -I../Src -I../../Src -I../../Src/Zle 
 -I../../Src -D_FORTIFY_SOURCE=2  -DHAVE_CONFIG_H -g -O2 -fstack-protector 
 -Wformat -Werror=format-security -Wall -g -o builtin.o ../../Src/builtin.c
 
 HTH
 
 I'll likely use
 DEB_BUILD_MAINT_OPTIONS=hardening=-stackprotectorstrong to get zsh
 building on s390x again for now, but I still think endless loops like
 this one are a bug in the compiler.
 
 With this workaround, I'm also ok with the lowered severity as there
 is a workaround which likely also works for other affected packages.
 

Please note that the problem is fixed in upstream trunk as well as in
the gcc-snapshot debian package. I'll try to identify the commit fixing
it.

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


--
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140903161335.gg15...@hall.aurel32.net



Re: Handling s390 libc ABI change in Debian

2014-07-15 Thread Aurelien Jarno
On Tue, Jul 15, 2014 at 09:21:30AM +0200, Philipp Kern wrote:
 On Tue, Jul 15, 2014 at 07:18:39AM +0200, Aurelien Jarno wrote:
  I can follow up with a list affected packages, but we are slowly
  discovering them one by one, so it might takes time. So far we have:
  
  * Mixing modules/libraries built with pre-2.19 and 2.19 libc
  - perl
  - libpng 
  
  * Using libc 2.19 without rebuilding anything:
  - gauche
  - mono
 
 I think it's pretty important for perl to keep working as much as is
 required for the system to upgrade itself. I'd be a bit less concerned
 (aside already broken binary compatibility) if the base system keeps
 working during the upgrade.

It might not be easy to ensure the upgrade process works correctly. For
example in mono case, as soon as a new libc is installed, mono stops
working, and installing/upgrading a mono package would fail as mono is
called in the postinst (this is bug#751171). We have to avoid this by
using strict dependencies to make sure the packages are installed in the
right order, but we can't guarantee to detect and handle all cases. That
means some upgrades might break.

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140715075003.gd32...@hall.aurel32.net



Re: Handling s390 libc ABI change in Debian

2014-07-15 Thread Aurelien Jarno
On Tue, Jul 15, 2014 at 03:49:04AM -0400, Carlos O'Donell wrote:
 On Tue, Jul 15, 2014 at 1:18 AM, Aurelien Jarno aure...@debian.org wrote:
  On Mon, Jul 14, 2014 at 11:14:42PM -0400, Carlos O'Donell wrote:
  On Mon, Jul 14, 2014 at 4:36 PM, Aurelien Jarno aure...@debian.org wrote:
   glibc 2.19 has changed the libc ABI on s390, more specifically the
   setjmp/longjmp functions [1] [2]. Symbol versioning is used to handle
   some cases, but it doesn't work when a jmp_buf variable is embedded
   into a structure, as it changes the size of the structure. The result
   is that mixing programs or libraries built with 2.18 with ones built
   with 2.19 do not work anymore, usually they end up with a segmentation
   fault. Some persons from this list have experienced that with perl.
 
  That is not true. This is an over generalization of the problem. You
  can use libraries built with 2.18 and 2.19 and they work just fine.
 
  I agree I probably a bit over exaggerated here, but the problem is real,
  breakages do happen, and some persons on this mailing list have already
  experienced them.
 
  The extent of the problem in correct language is listed here:
  https://sourceware.org/glibc/wiki/Release/2.19#Packaging_Changes
 
  This seems to minimize the problem, listing only perl. In practice we
  have seen much more breakages, part of them being due to the change of
  the __pthread_unwind_buf_t struct.
 
 That is a change that nobody reported. You're the first to mention it
 and that does make it more serious. We have discussed this upstream
 and I agree that we need more versioning of the interfaces there to
 support the change fully.
 
   We first thought it was limited to a few packages (even if all perl is
   already more than that), but as time goes more and more issues are
   found. libpng and gauche are also affected, the issue with mono is
   also likely due to this ABI change.
 
  That is new information, and it is important for distributions to
  relay this information back upstream where the decision for a SO bump
  can be made.
 
  I can follow up with a list affected packages, but we are slowly
  discovering them one by one, so it might takes time. So far we have:
 
  * Mixing modules/libraries built with pre-2.19 and 2.19 libc
  - perl
  - libpng
 
 You can never support a mixed-ABI environment with versioning.
 
 You must update all of those packages at once.
 
 The best we could do is warn the user of the incompatibility at
 runtime and refuse to load the module via dlopen, or refuse to start
 the application at startup.

For perl we handled that using dependencies in the package manager, and
we can probably add some more checks for user modules. That said that do
not scale if we discover more and more affected packages. This is my
fear so far.

  * Using libc 2.19 without rebuilding anything:
  - gauche
  - mono
 
 This we believe to be pthread issues.

Yes, this is the pthread issue.

  It's a huge work for Debian, maybe not for other distribution, as it
  basically means we have to rebootstrap everything. This includes manual
  bootstrapping of self-dependent languages (haskell, gnat, ...) and
  manual handling of some dependencies loop. In addition it's something
  which hasn't been done since the libc5 transition, so we might discover
  some unexpected issues.
 
 Why do you have to do that? Is it just like for rpm where the
 packaging system encodes the SONAME as a dependency? We would also
 need a manual bootstrap in Fedora because of this issue.

I assumed that both libc can't be used simultaneously, so that's
basically like bootstrapping a new architecture, except the manual
bootstrapping of self-dependent languages can be done more easily.

Cheers,
Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140715083054.gk1...@hall.aurel32.net



Handling s390 libc ABI change in Debian

2014-07-14 Thread Aurelien Jarno
Hi all,

glibc 2.19 has changed the libc ABI on s390, more specifically the
setjmp/longjmp functions [1] [2]. Symbol versioning is used to handle
some cases, but it doesn't work when a jmp_buf variable is embedded
into a structure, as it changes the size of the structure. The result
is that mixing programs or libraries built with 2.18 with ones built
with 2.19 do not work anymore, usually they end up with a segmentation
fault. Some persons from this list have experienced that with perl.

We first thought it was limited to a few packages (even if all perl is
already more than that), but as time goes more and more issues are
found. libpng and gauche are also affected, the issue with mono is
also likely due to this ABI change.

According to upstream [3], the problem is that Debian doesn't do a mass
rebuild, which is the strategy chosen by Red Hat to handle^Wworkaround
this issue. This means some programs might segfault during the upgrade,
or on partially upgraded systems.

Now we have to chose a strategy for Debian. I see multiple options:

1) Ignore the issue and just rebuild (binNMU) the packages that seems
affected when we discover them. This means partial upgrades will likely
be broken, and that we might discover some broken packages only after
the jessie release.

2) Rebuild (binNMU) all packages. This means partial upgrades will
likely be broken.

3) Bump the soname of affected packages and rebuild their reverse
dependencies. It is the solution that is currently being implemented for
perl. It clearly won't scale if more broken packages (and even for
libpng) are discovered as it requires a source upload and a transition
handled by the release team. It also means breaking the ABI compatibility
with other distributions.

4) Bump the libc soname to libc.so.6.1 and do a libc transition. This is
probably what upstream should have done instead of breaking the ABI.
This is a huge work though, and this also means breaking the ABI
compatibility with other distributions.

5) Revert the ABI change. This is likely just postponing the problem as
the change is required to support future hardware. This also means
breaking the ABI compatibility with other distributions.

6) simply drop the s390x port and tell users to either use an other
distribution or use Debian on other hardware.

Any opinion? Any other ideas how to handle that?

Regards,
Aurelien


[1] 
http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=ee4ec1d7f9bdbdfc87117133478cfb2f6653e65c
[2] https://sourceware.org/glibc/wiki/Release/2.19#Packaging_Changes
[3] https://sourceware.org/ml/libc-alpha/2014-07/msg00316.html

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: Digital signature


Re: Fwd: Bug#724469: FTBFS on all big-endian architectures

2014-01-28 Thread Aurelien Jarno
Hi,

On Thu, Jan 16, 2014 at 06:44:28PM +0100, intrigeri wrote:
 Hi,
 
 is it imaginable that a s390x porter gives this issue a try?
 
 Upstream wrote back in October [1] I'll try to get to this soon, but
 I'd be more than happy to accept patches, too. Since then, a patch
 was proposed that apparently fixes the issue on 32-bit big endian
 architectures (attached both to the Debian and upstream bug reports).
 
 This patch apparently needs some more work for 64-bit big endian
 architectures, so I thought you might be interested :)
 
 [1] https://rt.cpan.org/Ticket/Display.html?id=89552
 

Thanks a lot for working on that. The patch improves the things a bit on
s390x, but following the same principle with 32-bit types (see attached
patch), fixes even more issues. The testsuite looks like this
afterwards:

| t/arrays.t  (Wstat: 9 Tests: 2 Failed: 1)
|   Failed test:  2
|   Non-zero wait status: 9
|   Parse errors: Bad plan.  You planned 29 tests but ran 2.
| t/callbacks.t   (Wstat: 1536 Tests: 25 Failed: 6)
|   Failed tests:  3, 6, 9, 14, 19, 25
|   Non-zero exit status: 6
| t/enums.t   (Wstat: 11 Tests: 1 Failed: 0)
|   Non-zero wait status: 11
|   Parse errors: Bad plan.  You planned 4 tests but ran 1.
| t/structs.t (Wstat: 65280 Tests: 4 Failed: 0)
|   Non-zero exit status: 255
|   Parse errors: Bad plan.  You planned 6 tests but ran 4.

While it doesn't fix all the issues the patch looks correct and IMHO can
already be merged, as the other issue will need changes in other parts
of the code.

Aurelien

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net
--- libglib-object-introspection-perl-0.019.orig/gperl-i11n-invoke-c.c
+++ libglib-object-introspection-perl-0.019/gperl-i11n-invoke-c.c
@@ -180,7 +180,44 @@ invoke_c_code (GICallableInfo *info,
 		ccroak (Could not prepare a call interface);
 	}
 
-	ffi_call (cif, func_pointer, return_value, iinfo.args);
+	if(iinfo.return_type_ffi==ffi_type_sint8)
+	{
+		ffi_sarg result;
+		ffi_call (cif, func_pointer, result, iinfo.args);
+		return_value.v_int8=result;
+	}
+	else if(iinfo.return_type_ffi==ffi_type_uint8)
+	{
+		ffi_arg result;
+		ffi_call (cif, func_pointer, result, iinfo.args);
+		return_value.v_uint8=result;
+	}
+	else if(iinfo.return_type_ffi==ffi_type_sint16)
+	{
+		ffi_sarg result;
+		ffi_call (cif, func_pointer, result, iinfo.args);
+		return_value.v_int16=result;
+	}
+	else if(iinfo.return_type_ffi==ffi_type_uint16)
+	{
+		ffi_arg result;
+		ffi_call (cif, func_pointer, result, iinfo.args);
+		return_value.v_uint16=result;
+	}
+	else if(iinfo.return_type_ffi==ffi_type_sint32)
+	{
+		ffi_sarg result;
+		ffi_call (cif, func_pointer, result, iinfo.args);
+		return_value.v_int32=result;
+	}
+	else if(iinfo.return_type_ffi==ffi_type_uint32)
+	{
+		ffi_arg result;
+		ffi_call (cif, func_pointer, result, iinfo.args);
+		return_value.v_uint32=result;
+	}
+else
+		ffi_call (cif, func_pointer, return_value, iinfo.args);
 
 	/* free call-scoped data */
 	_invoke_free_after_call_handlers (iinfo);


Re: Bug#732282: stop building java for sparc, sparc64, s390, kfreebsd-any

2013-12-16 Thread Aurelien Jarno
On Mon, Dec 16, 2013 at 11:34:18AM +0100, Matthias Klose wrote:
 Package: java-common
 Version: 0.50
 Severity: serious
 Tags: jessie, sid
 
 openjdk-7 currently ftbfs on sparc, sparc64, s390, kfreebsd-any. So please
 either remove the default-* packages on these archs, or fall back to gcj.
 
  - the hotspot port for linux sparc isn't maintained anymore
by upstream.  If a porter is interested, maybe investigate
how to build the zero vm on these architectures.
 
  - s390 needs an update of the s390 debian specific patch. Not
working on this myself.

There is no point in trying to update an s390 specific patch while this
architecture doesn't exist anymore in jessie and sid, replaced by s390x.
This patch should just be removed and s390 removed from the
architectures handled in java-common.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131216170205.gw4...@hall.aurel32.net



Re: debian-ports.org getting relatively unstable (hppa)

2013-12-15 Thread Aurelien Jarno
Hi,

On Sun, Dec 15, 2013 at 11:54:43AM +0100, Helge Deller wrote:
 On 12/15/2013 06:32 AM, Dave Land wrote:
  Not sure what's up at debian-ports.org, but I've been trying to 
  debootstrap 2 different HPPA machines for the last couple days and 
  have been getting a variety of errors (size mismatches, files not 
  found when they were there 20 minutes before, etc. etc.) Somebody may
  want to look into this before it gets out of hand. Thanks! :)
 
 I maybe should add some more background here, and maybe someone
 here on the list might have an idea on how to proceed.
 
 Background is, that Dave and myself have binmnu-uploaded the necessary
 packages for hppa so that debootstrap worked. Then we proceeded with the 
 necessary
 packages for sbuild and schroot, so that I now have a buildd installed
 which should be able to start building packages. I haven't turned it
 on yet though for the reasons which I explain in a few seconds...  
 
 In the meantime we have of course uploaded a few more packages which
 now currently break debootstrap. This is fixable manually, but I instead
 of uploading packages manually now, I would prefer to get the buildd
 going instead... So, Dave Land, please wait a little bit...
 
 Now to the reasons why I didn't turned on the buildd yet:
 We noticed, that when we manually binmnu-upload packages, which are
 already in the *same version* on debian-ports, then debian-ports ACCEPT 
 those packages, but if we then try to apt-get-update those later on, this 
 leads
 to a size mismatch error. I do have the feeling, that this is a 
 problem on debian-ports. I noticed for example that reprepro usually
 doesn't accept packages of the same version which doesn't seem to be
 the case on debian-ports.

This is indeed the case, apt-fptarchive keep the checksums corresponding
to first package. That said it hasn't really caused any problem so far.

 So, I'm anxious, that if I start the buildd, it will happily build and upload 
 packages
 which we already uploaded to debian-ports. If this happens we will get more
 size-mismatch errors.

Well if you leave the build daemons handling the uploads, they will not
build and upload the same package again, and the problem won't happen.

 A trivial example:
 On machine buildd.debian-ports.org I run:
 deller@leda:~$ wb info hello . hppa
 * hello/hppa
   | hello:
   |   Package : hello
   |   Version : 2.8-4
   |   State   : Needs-Build
   |   Section : devel
   |   Priority: source
   |   Previous-State  : 
   |   State-Change: 2013-02-18 00:03:36.782007
   |   CalculatedPri   : 52
   |   component   : main
   |   Distribution: sid
   |   Notes   : out-of-date
   |   State-Days  : 300
   |   State-Time  : 25958430
 
 So, the package hello would need a rebuild according to the wanna-build 
 database,
 and that would wb probably tell my buildd who then would start 
 building/uploading it.
 But on http://ftp.debian-ports.org/debian/pool-hppa/main/h/hello/ you can
 see, that the hello-package is already uploaded at version 2.8-4
 So, if my buildd now uploads the newly created hello package, I'm sure
 we will run again into the size-mismatch problem.

The wanna-build database is not up to date on hppa. I have disabled it
to save some very precious cpu cycles given there are no buildds on hppa
yet.

 Now, Aurelien mentioned last week to me, that this size-mismatch error 
 might be because of the apt-ftparchive cache might have been corrupted for 
 hppa.
 I'm not 100% sure about that.

Ok I wasn't aware the same package have been uploaded multiple time, so
the corruption comes clearly from there.

 My question here on the list would be, if you (other arch-porters) do have an 
 idea
 on how I should proceed.

I would say stop doing manual upload and start the build daemons.

 Best solution would probably be, if the wanna-build database rescans what's in
 the archive already. Is this possible?

Yes, I can re-enable the hppa wanna-build database if it is actually
useful.

 Or, should I just start the buildd and see what's happening? If we then get
 the size-mismatch errors there is lot of manual work to fix it (unless 
 resetting the
 apt-ftparchive on debian-ports would solve this).

We can rebuild the apt-ftparchive database at some point.

Aurelien

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131215200337.ga2...@hall.aurel32.net



Re: Switch default GCC to 4.8 on s390x

2013-11-23 Thread Aurelien Jarno
On Sat, Nov 23, 2013 at 10:44:04AM +0100, Matthias Klose wrote:
 Am 23.11.2013 03:33, schrieb Aurelien Jarno:
  On Mon, Nov 18, 2013 at 09:09:18AM +0100, Matthias Klose wrote:
  Am 12.11.2013 15:40, schrieb Aurelien Jarno:
  Hi all,
  
  The s390x architecture is still using GCC 4.6 as the default compiler,
   while most other architectures have already switched to GCC 4.8. It
  starts to cause problem for building packages: some packages need C11
  features to be compiled, while some others assume the default compiler
  is already GCC 4.8 (in that case they are actually buggy). It would
  also help having the same default version of GCC than for GCJ, GDC or
  GFORTRAN.
  
  I therefore propose to switch the default compiler on s390x to GCC 4.8
  by default. It is already used to build the kernel without any known
  issue.
  
  Any comments or opinion on that?
  
  Is this a commitment from Philipp, Bastian or your side to monitor for
  s390x specific toolchain issues, forward these upstream and feed these
  back into Debian?
  
  
  It is a commitment from my side, although s390x is well tested upstream and
  there is therefore not a lot to do.
 
 please update debian/README.Debian in gcc-4.8.
 

Done. That said I still don't understand why only a limited list of
architectures have to do that. I do not believe that architectures not
listed there are actually better supported in Debian.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: Digital signature


Re: Switch default GCC to 4.8 on s390x

2013-11-23 Thread Aurelien Jarno
On Sat, Nov 23, 2013 at 03:39:52PM +0100, Matthias Klose wrote:
 Am 23.11.2013 13:52, schrieb Aurelien Jarno:
  On Sat, Nov 23, 2013 at 10:44:04AM +0100, Matthias Klose wrote:
  Am 23.11.2013 03:33, schrieb Aurelien Jarno:
  On Mon, Nov 18, 2013 at 09:09:18AM +0100, Matthias Klose wrote:
  Am 12.11.2013 15:40, schrieb Aurelien Jarno:
  Hi all,
  
  The s390x architecture is still using GCC 4.6 as the default
  compiler, while most other architectures have already switched to
  GCC 4.8. It starts to cause problem for building packages: some
  packages need C11 features to be compiled, while some others assume
  the default compiler is already GCC 4.8 (in that case they are
  actually buggy). It would also help having the same default version
  of GCC than for GCJ, GDC or GFORTRAN.
  
  I therefore propose to switch the default compiler on s390x to GCC
  4.8 by default. It is already used to build the kernel without any
  known issue.
  
  Any comments or opinion on that?
  
  Is this a commitment from Philipp, Bastian or your side to monitor
  for s390x specific toolchain issues, forward these upstream and feed
  these back into Debian?
  
  
  It is a commitment from my side, although s390x is well tested upstream
  and there is therefore not a lot to do.
  
  please update debian/README.Debian in gcc-4.8.
  
  
  Done. That said I still don't understand why only a limited list of 
  architectures have to do that. I do not believe that architectures not 
  listed there are actually better supported in Debian.
 
 It's the other way around. Every architecture should have an entry. But maybe
 it is easier to mention which architectures currently don't have such entries,
 namely sparc, s390, ia64, powerpc, ppc64.

s390 is dead and is still only available for squeeze and wheezy, so it
doesn't matter for jessie and sid.

 x86 should be waived. we do have active contributors for kfreebsd, the hurd,
 m68k, alpha, powerpcspe, mips64, hppa at least.

If they have active contributors, I think they should also be noted
there, otherwise this file is more than useless. Or we should remove
mips and s390x entries.

 arm* is missing here, but it
 is usually taken care of by myself.

Well then why you don't add yourself there? Note that they are a few
worrying bugs on armel like #628063, #697521, #727621 that have not been
forwarded upstream yet.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20131123145825.gc20...@hall.aurel32.net



Re: Switch default GCC to 4.8 on s390x

2013-11-22 Thread Aurelien Jarno
On Mon, Nov 18, 2013 at 09:09:18AM +0100, Matthias Klose wrote:
 Am 12.11.2013 15:40, schrieb Aurelien Jarno:
  Hi all,
  
  The s390x architecture is still using GCC 4.6 as the default compiler, 
  while most other architectures have already switched to GCC 4.8. It starts
  to cause problem for building packages: some packages need C11 features to
  be compiled, while some others assume the default compiler is already GCC
  4.8 (in that case they are actually buggy). It would also help having the
  same default version of GCC than for GCJ, GDC or GFORTRAN.
  
  I therefore propose to switch the default compiler on s390x to GCC 4.8 by
  default. It is already used to build the kernel without any known issue.
  
  Any comments or opinion on that?
 
 Is this a commitment from Philipp, Bastian or your side to monitor for s390x
 specific toolchain issues, forward these upstream and feed these back into 
 Debian?
 

It is a commitment from my side, although s390x is well tested upstream
and there is therefore not a lot to do.

Note that I have just done the change in the SVN, it would be nice if
you can upload gcc-defaults.

Best regards,
Aurelien

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: Digital signature


Switch default GCC to 4.8 on s390x

2013-11-12 Thread Aurelien Jarno
Hi all,

The s390x architecture is still using GCC 4.6 as the default compiler, 
while most other architectures have already switched to GCC 4.8. It
starts to cause problem for building packages: some packages need 
C11 features to be compiled, while some others assume the default
compiler is already GCC 4.8 (in that case they are actually buggy). It
would also help having the same default version of GCC than for GCJ, GDC
or GFORTRAN.

I therefore propose to switch the default compiler on s390x to GCC 4.8
by default. It is already used to build the kernel without any known
issue.

Any comments or opinion on that?

Best regards,
Aurelien

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: Digital signature


Re: status of s390 toolchain maintenance

2013-07-01 Thread Aurelien Jarno
On Mon, Jul 01, 2013 at 09:35:29PM +0200, Bastian Blank wrote:
 On Mon, Jul 01, 2013 at 11:42:44AM +0200, Matthias Klose wrote:
  Is this change coordinated with Bastian?
 
 I have not been contacted by Aurelian. I've not seen anything on this
 matter from him.
 

I did discuss that with Philipp Kern, but obviously I forgot to add you
in the loop, sorry about that. I have therefore reverted the changes in
the SVN.

That said I think s390/s390x should not lag too long behind other
architectures, as it usually create subtle bugs, and it's better to
discover (and fix) toolchain issues early in a release cycle than
late.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130701213849.ga29...@hall.aurel32.net



Re: Current and upcoming toolchain changes for jessie

2013-06-18 Thread Aurelien Jarno
On Fri, Jun 14, 2013 at 01:12:30PM +0200, Matthias Klose wrote:
 Am 13.06.2013 16:46, schrieb Steven Chamberlain:
  Hi,
  
  On 13/06/13 13:51, Matthias Klose wrote:
  GCC 4.8 is now the default on all x86 architectures, and on all ARM
  architectures (the latter confirmed by the Debian ARM porters).  I did not 
  get
  any feedback from other port maintainers, so unless this does change and 
  port
  maintainers get involved with toolchain maintenance, the architectures 
  staying
  at 4.6 or 4.7 shouldn't be considered for a successful release 
  (re-)qualification.
  
  I trust these are the architectures that are okay so far:
  | gcc48_archs = amd64 armel armhf arm64 i386 x32 kfreebsd-amd64
  kfreebsd-i386 hurd-i386
 
 no, they are probably not ok, and there surely are yet undiscovered 
 regressions,
 but at least the ARM porters did agree to address these. Same seems to be true
 for the kfreebsd and hurd porters. They did change GCC defaults usually at the
 same time as this was done for the x86 linux archs.
 
  So the following would be the architectures for which some response is
  requested urgently from port maintainers, to confirm they are ready for
  GCC 4.8 as default:
  
  Release arches: ia64 mips mipsel powerpc s390 s390x sparc
  
  All the above have built gcc-4.8.1-2 or higher.
 
 and nobody committing to scan the bts for architecture specific issues, nobody
 to prepare test cases, nobody to forward these.

I did report a few mips/mipsel issue to upstream binutils and gcc, and 
they have all been solved. I am not aware of any reported mips/mipsel 
binutils or gcc-4.{6,7,8} problem reported in the debian BTS, except 
#710683, which is recent and I haven't investigated it yet (but is likely
an OOM issue on the buildd).

Could you please provide me a few pointers?

  Other ports:  alpha hppa* m68k powerpcspe ppc64 sh4* sparc64*
  
  * these ports don't appear to have successfully built GCC 4.8 yet.
 
 afaics, alpha, powerpcspe and ppc64 did build.  Note that you cannot trust the
 hppa status, this port is still denied access to ports.debian.org and is kept 
 in
 another place.
 

hppa porters have ignored my emails during a few years, and then started
to write me during a few more years using an email address that went
to /dev/null, so they never got my answers, and thus never answered me...

This is true that they have recently contacted me through another email
address, but I haven't found time to work on that. Just stay tuned.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130618220536.ga22...@hall.aurel32.net



Re: status of s390 for jessie and later

2013-05-13 Thread Aurelien Jarno
Hi,

On Wed, May 08, 2013 at 11:40:44AM +0200, Ansgar Burchardt wrote:
 Hi,
 
 the architecture status page for Wheezy[1] mentioned that it would be
 the last release if s390x comes in.  As Wheezy was release with the
 s390x support, should we now look at removing s390 from both jessie and sid?
 

That was indeed the plan, and I think the s390x release of Wheezy
actually reached the goal of being able to replace s390. Unless someone
comes with very good arguments in the next days, I think it's the way to
go.

That said it would be good to get the feedback from other people
involved in the s390 port first though.

Aurelien

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: Digital signature


Re: Bug#666746: FTBFS(s390x): BigPtrArrayUnittest::test_for_some1: assertion failed

2012-06-04 Thread Aurelien Jarno
On Sun, Apr 01, 2012 at 06:07:22PM +0200, Rene Engelhard wrote:
 Hi,
 
 On Sun, Apr 01, 2012 at 04:16:03PM +0200, Philipp Kern wrote:
  your package failed to build from source on s390x.  A chroot (sid_s390x) 
  does
 
 Yeah, known. (3.4.x would have just worked because the tests there wouldn't 
 be run at
 all - but thankfully that one was stuck in BD-Uninstallable.)
 
  exist on the s390 porterbox zelenka.  At a casual uneducated glance it looks
  like it got pretty far into the build. 
 
 jup. just the unit tests fail. (3.5.1-1 didn't fail in experimental
 ad test failure wasn't fatal there accidentially).
 

This really looks like a bug in the testsuite, Fedora has written a
patch [1]. I am currently testing it.

[1] http://permalink.gmane.org/gmane.linux.redhat.fedora.extras.cvs/764768

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120604110009.ga12...@volta.aurel32.net



Debian s390x port

2011-08-09 Thread Aurelien Jarno
Hi all,

For those not reading planet and blogs, I have started an s390x port,
that is with a 64-bit userland. More details can be found on:

  http://blog.aurel32.net/?p=59
  
Cheers,
Aurelien

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110809215335.gd28...@hall.aurel32.net



Re: GCC-4.5 as the default for (at least some) architectures

2011-04-26 Thread Aurelien Jarno
On Tue, Apr 26, 2011 at 05:03:01PM +0200, Matthias Klose wrote:
 On 04/17/2011 09:33 PM, Adam D. Barratt wrote:
 On Wed, 2011-03-02 at 02:34 +0100, Matthias Klose wrote:
 I'll make gcc-4.5 the default for (at least some) architectures within the 
 next
 two weeks before more transitions start.  GCC-4.5 is already used as the 
 default
 compiler for almost any other distribution, so there shouldn't be many 
 surprises
 on at least the common architectures.  About 50% of the build failures 
 exposed
 by GCC-4.5 are fixed [1].  I didn't see issues on amd64 and i386, armel
 (although optimized for a different processor) and powerpc (some object 
 files
 linked into shared libs had to be built as pic).
 
 It looks like kfreebsd-* also made the switch and there's been a request
 to switch for mips and mipsel.
 
 Looking through the bug list for src:gcc-4.5, none of the open issues
 seem to be specific to the remaining release architectures which haven't
 switched yet - i.e. ia64, s390 and sparc.  Are you aware of any issues
 which would preclude switching the default on those architectures?  Has
 there been any discussion with the port maintainers regarding switching?
 
 At this point, pretty well after the GCC 4.6.0 release, I would like
 to avoid switching more architectures to 4.5, but rather get rid of
 GCC 4.5 to reduce maintenance efforts on the debian-gcc side, even
 before the multiarch changes go into unstable. I'll make GCC 4.6 the
 default after the release of GCC 4.5.3, expected later this week, at
 least on amd64, armel, i386 and powerpc.  GCC 4.6 apparently will be

If you do the switch, please also add mips and mipsel, that would avoid
you to have to complain in two weeks that these architectures have not
yet been switched.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110426185104.gb29...@hall.aurel32.net



Re: Sparc release requalification

2009-08-20 Thread Aurelien Jarno
Bastian Blank a écrit :
 On Wed, Aug 19, 2009 at 01:16:36PM +0200, Matthias Klose wrote:
 I did speak with Martin Zobel at Debconf on how to get there, having two 
 proposals:
  - define a new sparc64 port, and bootstrap this one using the 32bit port.
 
 This is rather easy. I already did a s390x bootstrap using this method.
 

If we are not sure that sparc and s390 (ie 32-bit versions) would be
suitable for squeeze, this is almost sure they won't be suitable for
squeeze+1.

Isn't it the right moment to start a sparc64 and an s390x port, and if
they are ready for squeeze release with them? Almost whatever upgrade
solution you offer will require to have at least one release with both
old and new architecture (like we did for arm - armel).

Given that we already have sparc and s390 in the archive and that we
also already have 64-bit ports, I don't expect any major problem for
those new ports. Also given quite fast hardware exists for those
architectures, it can probably be done relatively quickly.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net


-- 
To UNSUBSCRIBE, email to debian-s390-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#479952: libc6/s390 - __pthread_mutex_lock: Assertion `mutex-__data.__owner == 0' failed.

2008-05-10 Thread Aurelien Jarno
On Wed, May 07, 2008 at 11:29:49AM +0200, Bastian Blank wrote:
 Package: libc6
 Version: 2.7-10
 Severity: important
 
 On Wed, May 07, 2008 at 09:34:12AM +0200, Matthias Klose wrote:
  the build failure on s390 is unexpected; is it possible to extract a
  test case?
 
 | java: pthread_mutex_lock.c:71: __pthread_mutex_lock: Assertion 
 `mutex-__data.__owner == 0' failed.
 
 So another package failed about that (after mono and libto$bla). It
 looks like a race condition somewhere in the libpthread.
 

Looking quickly at the code the problem is that LLL_MUTEX_LOCK (mutex)
fails to acquire the mutex. It can be a bug in atomic.h or a bug in the
futexes implementation of the kernel.

It would be nice to have an strace of the problem to see the futex
syscall before this assertion.

Also a small testcase of the problem would be really helpful to debug
it.

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: GCC 4.1 in experimental / GCC for etch

2006-02-21 Thread Aurelien Jarno

Hi!

Matthias Klose a écrit :

The GCC (GNU compiler collection) 4.1 release candidate 1 can be found
in experimental.  Porters, please make sure that the package is
built and uploaded (if it's not built by the experimental
buildd). Please check that the symbols exported in the 4.1 libraries
are a superset of those exported in the 4.0 libraries (these are
libgcc1 (except m68k and hppa), libstdc++6, libffi4, libobjc1,
libmudflap0).

The proposed GCC plan for etch consists of:

- uploading GCC 4.0.3 to unstable (this release is expected shortly
  after the GCC 4.1.0 release), let 4.0.3 migrate to testing.


The GCC website seems to be down currently, could you please tell us 
when the release are expected?



- uploading GCC 4.1 to unstable for those architectures which do not
  have ABI problems (these should be all, but should be validated).


Nice!


- Once the 4.1 packages are migrated to testing, make 4.1 the default
  compiler for i386, amd64, powerpc. These are the architectures,
  which are considred primary (linux) architectures by GCC upstream.
  For the other Debian architectures, the GCC port maintainers and the
  Debian port maintainers should make the call, if and when the
  default GCC is changed.


I think you could also make 4.1 the default one for kfreebsd-i386. They 
are very few differences with the linux version, and the testsuite shows 
good results.



- Make gij-4.1/gcj-4.1 the default for all architectures.

- Stop building compiler packages from the GCC 3.3 source; the only
  packages built will be libstdc++5 (and libgcc1 on hppa/m68k).


AFAIK the 2.4 kernels in Debian are built with gcc-3.3. What are the 
plans wrt to them?



- Stop building compilers from GCC 3.4.x, namely gobjc-3.4, gnat-3.4
  and g++-3.4 (it looks like we can go without g++-3.4 for the etch
  release).  Still build gpc-3.4, g77-3.4 and gcc-3.4, as g77 cannot be
  found anymore in 4.x releases.


Currently three architectures are still using gcc 3.4 to build the 
glibc, namely m68k, hppa and powerpc.


For powerpc, it seems we can make the switch to at least gcc 4.0. There 
is currently a problem of locales, but not sure it is related to gcc-4.0.


For hppa, the glibc builds well with gcc 4.0, but create problem with 
python/perl. It still has to be investigated.


For m68k, the glibc does not build, gcc 4.0 segfault on system.c. It 
looks like gcc 4.1 fixes the problem, but the resulting glibc has not 
been tested.


I think compilers are critical for the glibc, so we will have to 
coordinate the changes.



Aurélien

--
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]