Skip Menu |

This queue is for tickets about the Tk CPAN distribution.


Subject: 804.033 tests doesn't build with Test::Pod installed under x86_64
Date: Sun, 22 Feb 2015 13:36:24 +0800
To: bug-Tk [...] rt.cpan.org
From: Felix Yan <felixonmars [...] archlinux.org>
Hi, I am getting a problem when trying to build 804.033 tests with Test::Pod installed. When Test::Pod was not present, the build went well. This problem also doesn't exist when building under i686. Environment: Arch Linux x86_64 perl 5.20.2 Test::Pod 1.48 gcc 4.9.2 Below I'll paste the logs for "make test": Running Mkbootstrap for Tk () cc -c -I/usr/include/freetype2 -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno- strict-aliasing -pipe -fstack-protector -I/usr/local/include - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 - pipe -fstack-protector-strong --param=ssp-buffer-size=4 - DVERSION=\"804.033\" -DXS_VERSION=\"804.033\" -fPIC "- I/usr/lib/perl5/core_perl/CORE" -Wall -Wno-implicit-int -Wno-comment -Wno- unused -D__USE_FIXED_PROTOTYPES__ tixGlue.c cc -c -I/usr/include/freetype2 -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno- strict-aliasing -pipe -fstack-protector -I/usr/local/include - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic -O2 - pipe -fstack-protector-strong --param=ssp-buffer-size=4 - DVERSION=\"804.033\" -DXS_VERSION=\"804.033\" -fPIC "- I/usr/lib/perl5/core_perl/CORE" -Wall -Wno-implicit-int -Wno-comment -Wno- unused -D__USE_FIXED_PROTOTYPES__ tkGlue_f.c cd pTk && make DEFINE="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" OPTIMIZE="- march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp- buffer-size=4" PREFIX="/usr" PASTHRU_DEFINE="" PASTHRU_INC="" chmod 644 Tk.bs make[1]: Entering directory '/build/perl-tk/src/Tk-804.033/PNG' Running Mkbootstrap for Tk::PNG () make[1]: Entering directory '/build/perl-tk/src/Tk-804.033/pTk' chmod 644 PNG.bs /usr/bin/perl "-I../t" "-MTkTest" "-e" "checked_test_harness('../xt', 0, '../blib/lib', '../blib/arch')" t/*.t make[1]: Leaving directory '/build/perl-tk/src/Tk-804.033/pTk' make[1]: Entering directory '/build/perl-tk/src/Tk-804.033/pTk' make[1]: Leaving directory '/build/perl-tk/src/Tk-804.033/pTk' make[1]: Entering directory '/build/perl-tk/src/Tk-804.033/pod' rm -f blib/arch/auto/Tk/Tk.so LD_RUN_PATH="/usr/lib" cc -shared -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -fstack-protector Tk.o chnGlue.o encGlue.o evtGlue.o objGlue.o tixGlue.o tkGlue.o tkGlue_f.o tkWin32Dll.o -o blib/arch/auto/Tk/Tk.so pTk/libpTk.a \ -L/usr/lib -lXft -lX11 -L/usr/local/lib -lfontconfig -lnsl -lm \ Can't locate loadable object for module Tk in @INC (@INC contains: /build/perl-tk/src/Tk-804.033/PNG/../blib/lib /build/perl- tk/src/Tk-804.033/PNG/../blib/arch ../t /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at t/basic.t line 4. Compilation failed in require at t/basic.t line 4. BEGIN failed--compilation aborted at t/basic.t line 4. t/basic.t .. Dubious, test returned 2 (wstat 512, 0x200) No subtests run make[1]: Leaving directory '/build/perl-tk/src/Tk-804.033/pod' make[1]: Entering directory '/build/perl-tk/src/Tk-804.033/demos' Can't load '/build/perl-tk/src/Tk-804.033/PNG/../blib/arch/auto/Tk/Tk.so' for module Tk: /build/perl-tk/src/Tk-804.033/PNG/../blib/arch/auto/Tk/Tk.so: file too short at /usr/lib/perl5/core_perl/DynaLoader.pm line 193. at t/crash.t line 11. Compilation failed in require at t/crash.t line 11. BEGIN failed--compilation aborted at t/crash.t line 11. t/crash.t .. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Regards, Felix Yan
Download signature.asc
application/pgp-signature 819b

Message body not shown because it is not plain text.

On 2015-02-22 00:36:47, felixonmars@archlinux.org wrote: Show quoted text
> Hi, > > I am getting a problem when trying to build 804.033 tests with > Test::Pod > installed. When Test::Pod was not present, the build went well. This > problem > also doesn't exist when building under i686. > > Environment: > Arch Linux x86_64 > perl 5.20.2 > Test::Pod 1.48 > gcc 4.9.2 > > Below I'll paste the logs for "make test": > > Running Mkbootstrap for Tk () > cc -c -I/usr/include/freetype2 -D_REENTRANT -D_GNU_SOURCE -fwrapv > -fno- > strict-aliasing -pipe -fstack-protector -I/usr/local/include - > D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic > -O2 - > pipe -fstack-protector-strong --param=ssp-buffer-size=4 - > DVERSION=\"804.033\" -DXS_VERSION=\"804.033\" -fPIC "- > I/usr/lib/perl5/core_perl/CORE" -Wall -Wno-implicit-int -Wno-comment > -Wno- > unused -D__USE_FIXED_PROTOTYPES__ tixGlue.c > cc -c -I/usr/include/freetype2 -D_REENTRANT -D_GNU_SOURCE -fwrapv > -fno- > strict-aliasing -pipe -fstack-protector -I/usr/local/include - > D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=x86-64 -mtune=generic > -O2 - > pipe -fstack-protector-strong --param=ssp-buffer-size=4 - > DVERSION=\"804.033\" -DXS_VERSION=\"804.033\" -fPIC "- > I/usr/lib/perl5/core_perl/CORE" -Wall -Wno-implicit-int -Wno-comment > -Wno- > unused -D__USE_FIXED_PROTOTYPES__ tkGlue_f.c > cd pTk && make DEFINE="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" > OPTIMIZE="- > march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong > --param=ssp- > buffer-size=4" PREFIX="/usr" PASTHRU_DEFINE="" PASTHRU_INC="" > chmod 644 Tk.bs > make[1]: Entering directory '/build/perl-tk/src/Tk-804.033/PNG' > Running Mkbootstrap for Tk::PNG () > make[1]: Entering directory '/build/perl-tk/src/Tk-804.033/pTk' > chmod 644 PNG.bs > /usr/bin/perl "-I../t" "-MTkTest" "-e" "checked_test_harness('../xt', > 0, > '../blib/lib', '../blib/arch')" t/*.t > make[1]: Leaving directory '/build/perl-tk/src/Tk-804.033/pTk' > make[1]: Entering directory '/build/perl-tk/src/Tk-804.033/pTk' > make[1]: Leaving directory '/build/perl-tk/src/Tk-804.033/pTk' > make[1]: Entering directory '/build/perl-tk/src/Tk-804.033/pod' > rm -f blib/arch/auto/Tk/Tk.so > LD_RUN_PATH="/usr/lib" cc -shared -Wl,-O1,--sort-common,--as- > needed,-z,relro > -L/usr/local/lib -fstack-protector Tk.o chnGlue.o encGlue.o evtGlue.o > objGlue.o tixGlue.o tkGlue.o tkGlue_f.o tkWin32Dll.o -o > blib/arch/auto/Tk/Tk.so pTk/libpTk.a \ > -L/usr/lib -lXft -lX11 -L/usr/local/lib -lfontconfig -lnsl -lm > \ > > Can't locate loadable object for module Tk in @INC (@INC contains: > /build/perl-tk/src/Tk-804.033/PNG/../blib/lib /build/perl- > tk/src/Tk-804.033/PNG/../blib/arch ../t /usr/lib/perl5/site_perl > /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl > /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl > /usr/share/perl5/core_perl .) at t/basic.t line 4. > Compilation failed in require at t/basic.t line 4. > BEGIN failed--compilation aborted at t/basic.t line 4. > t/basic.t .. > Dubious, test returned 2 (wstat 512, 0x200) > No subtests run > make[1]: Leaving directory '/build/perl-tk/src/Tk-804.033/pod' > make[1]: Entering directory '/build/perl-tk/src/Tk-804.033/demos' > Can't load '/build/perl-tk/src/Tk- > 804.033/PNG/../blib/arch/auto/Tk/Tk.so' for > module Tk: /build/perl-tk/src/Tk- > 804.033/PNG/../blib/arch/auto/Tk/Tk.so: file > too short at /usr/lib/perl5/core_perl/DynaLoader.pm line 193. > at t/crash.t line 11. > Compilation failed in require at t/crash.t line 11. > BEGIN failed--compilation aborted at t/crash.t line 11. > t/crash.t .. > Dubious, test returned 2 (wstat 512, 0x200) > No subtests run >
It does not look like the failure has anything to do with Test::Pod. One possible problem is that a build with different parameters (e.g. different perls) was done in the same directory without running "make clean" before. Also the "Tk.so: file too short" message looks very strange --- maybe it's just a disk full condition here, or some race condition e.g. two processes tried to create Tk.so at the same time?
Subject: Re: [rt.cpan.org #102277] 804.033 tests doesn't build with Test::Pod installed under x86_64
Date: Sun, 22 Feb 2015 16:15:09 +0800
To: bug-Tk [...] rt.cpan.org
From: Felix Yan <felixonmars [...] archlinux.org>
On Sunday, February 22, 2015 03:10:09 you wrote: Show quoted text
> It does not look like the failure has anything to do with Test::Pod. One > possible problem is that a build with different parameters (e.g. different > perls) was done in the same directory without running "make clean" before. > Also the "Tk.so: file too short" message looks very strange --- maybe it's > just a disk full condition here, or some race condition e.g. two processes > tried to create Tk.so at the same time?
I built it in a clean chroot each time using the PKGBUILD attached, so I don't think it's related to parameters or a dirty build environment. I have tried it back and forth, but the only way I can reproduce it is to include perl-test- pod in the build environment, and I can reproduce it every time. Any hints on how to debug in this case? Regards, Felix Yan

Message body is not shown because sender requested not to inline it.

Download signature.asc
application/pgp-signature 819b

Message body not shown because it is not plain text.

On 2015-02-22 03:15:33, felixonmars@archlinux.org wrote: Show quoted text
> On Sunday, February 22, 2015 03:10:09 you wrote:
> > It does not look like the failure has anything to do with Test::Pod. > > One > > possible problem is that a build with different parameters (e.g. > > different > > perls) was done in the same directory without running "make clean" > > before. > > Also the "Tk.so: file too short" message looks very strange --- maybe > > it's > > just a disk full condition here, or some race condition e.g. two > > processes > > tried to create Tk.so at the same time?
> > I built it in a clean chroot each time using the PKGBUILD attached, so > I don't > think it's related to parameters or a dirty build environment. I have > tried it > back and forth, but the only way I can reproduce it is to include > perl-test- > pod in the build environment, and I can reproduce it every time. Any > hints on > how to debug in this case?
Well, the t/pod.t test is new in this release, but it seems that the failure happens much earlier. You could try to remove this file before building & testing, but I doubt that it makes any difference. Maybe by installing Test::Pod some other dependencies are also installed, or existing dependencies upgraded, changing the way how the compilation works. Though the dependencies are all core perl modules and look rather harmless, so it's also quite unlikely. Maybe it helps if we could see the full compile logs of both builds, and do a diff between both, to see if something changes in the way the compilation works (different order, maybe additional warnings, whatever). Regards, Slaven
Subject: Re: [rt.cpan.org #102277] 804.033 tests doesn't build with Test::Pod installed under x86_64
Date: Sun, 22 Feb 2015 16:52:25 +0800
To: bug-Tk [...] rt.cpan.org
From: Felix Yan <felixonmars [...] archlinux.org>
On Sunday, February 22, 2015 03:32:42 you wrote: Show quoted text
> Well, the t/pod.t test is new in this release, but it seems that the failure > happens much earlier. You could try to remove this file before building & > testing, but I doubt that it makes any difference. > > Maybe by installing Test::Pod some other dependencies are also installed, or > existing dependencies upgraded, changing the way how the compilation works. > Though the dependencies are all core perl modules and look rather harmless, > so it's also quite unlikely. > > Maybe it helps if we could see the full compile logs of both builds, and do > a diff between both, to see if something changes in the way the compilation > works (different order, maybe additional warnings, whatever).
Looks like it's coincidence that the builds with Test::Pod failed. It's actually a random failure after a lot more tests. Sorry for the confusion! I'm attaching two full build logs, one for success and one for failure. A quick diff here shows some difference in ordering of the commands. Regards, Felix Yan

Message body is not shown because sender requested not to inline it.

Message body is not shown because sender requested not to inline it.

Download signature.asc
application/pgp-signature 819b

Message body not shown because it is not plain text.

On 2015-02-22 03:53:29, felixonmars@archlinux.org wrote: Show quoted text
> On Sunday, February 22, 2015 03:32:42 you wrote:
> > Well, the t/pod.t test is new in this release, but it seems that the > > failure > > happens much earlier. You could try to remove this file before > > building & > > testing, but I doubt that it makes any difference. > > > > Maybe by installing Test::Pod some other dependencies are also > > installed, or > > existing dependencies upgraded, changing the way how the compilation > > works. > > Though the dependencies are all core perl modules and look rather > > harmless, > > so it's also quite unlikely. > > > > Maybe it helps if we could see the full compile logs of both builds, > > and do > > a diff between both, to see if something changes in the way the > > compilation > > works (different order, maybe additional warnings, whatever).
> > Looks like it's coincidence that the builds with Test::Pod failed. > It's > actually a random failure after a lot more tests. Sorry for the > confusion! > > I'm attaching two full build logs, one for success and one for > failure. A > quick diff here shows some difference in ordering of the commands.
Another idea: is the build running in parallel? E.g. using make -j...? If so, would the result be predictable if -j was not used?
Subject: Re: [rt.cpan.org #102277] 804.033 tests doesn't build with Test::Pod installed under x86_64
Date: Sun, 22 Feb 2015 21:54:47 +0800
To: bug-Tk [...] rt.cpan.org
From: Felix Yan <felixonmars [...] archlinux.org>
On Sunday, February 22, 2015 06:03:36 you wrote: Show quoted text
> Another idea: is the build running in parallel? E.g. using make -j...? If > so, would the result be predictable if -j was not used?
You are right! I just tried to run the tests with "make -j1 test", and it succeeded 10 times in a row. Regards, Felix Yan
Download signature.asc
application/pgp-signature 819b

Message body not shown because it is not plain text.

On 2015-02-22 08:55:10, felixonmars@archlinux.org wrote: Show quoted text
> On Sunday, February 22, 2015 06:03:36 you wrote:
> > Another idea: is the build running in parallel? E.g. using make -j...? If > > so, would the result be predictable if -j was not used?
> > You are right! I just tried to run the tests with "make -j1 test", and it > succeeded 10 times in a row.
Fine! I added a note in the INSTALL document about "make -j..." (commit ff2bb33508cdb37c97776948ad8c3fee24abaaf8). It would be nice to make Tk safe for parallel building, though... it's now on my ToDo list.