Bug#994741: regression tests: skipped vs failed
So, I think I "found" the problem, will need to verify. But I wanted to drop a few lines as reply here: On Thu, Sep 23, 2021 at 07:30:25AM -0700, ian_br...@mail.ru wrote: > Does that not suggest that the problem is some peculiarity of the build > environment, rather than any specific problem with the Inkscape code? It does. But it doesn't mean that it shouldn't be investiaged properly. FYI, here comes an *inkscape* bug as well, though it's not on amd64 like the one you are concerned about. https://gitlab.com/inkscape/inkscape/-/issues/2821 > Comparing the build logs for v1.0.2 and v1.1, one discovers that the > reason that this is not a problem for v1.0.2 is that this specific test > apparently does not exist in that version. And is a very good thing they added the test. It is very much not a reason to dismiss their reasults. > Unable to init server: Could not connect: Connection refused > Failed to get connection > ** (inkscape:2024671): CRITICAL **: 15:19:35.442: > dbus_g_proxy_new_for_name: assertion 'connection != NULL' failed > > ** (inkscape:2024671): CRITICAL **: 15:19:35.442: dbus_g_proxy_call: > assertion 'DBUS_IS_G_PROXY (proxy)' failed > > ** (inkscape:2024671): CRITICAL **: 15:19:35.442: > dbus_g_connection_register_g_object: assertion 'connection != NULL' failed > end_font_face_cb: font face rule limited support. > font-family : 'GeomTest'; > src : url(fonts/GeomTest-gzipped-SVG-glyphs.otf) > end_font_face_cb: Added font: > /<>/testfiles/rendering_tests/fonts/GeomTest-gzipped-SVG-glyphs.otf > Background RRGGBBAA: ff00 > Area 0:0:110:40 exported to 110 x 40 pixels (96 dpi) > Pixbuf::create_from_file: Unrecognized image file format >() > Pixbuf::create_from_file: Unrecognized image file format >() > Pixbuf::create_from_file: Unrecognized image file format >() > 1589 > text-gzipped-svg-glyph FAILED > text-gzipped-svg-glyph-large SKIPPED > > > Why is a "connection" necessary to retrieve a font file from a "url"? > And why should the "server" then "refuse" it? Is this not expecting > entirely too much from a mere package-build server? It's not. a server-client is simply one very common software structure, and the way dbus works. > How does D-Bus come into this mess? what's wrong with dbus? > Surely the resources provided by the > filesystem should be all that is required for compilation and regression > testing? This is not some kind of network client, or if it somehow is, > that functionality should not be required to just build the distribution > package. nothing in there talks about *network*. But doesn't mean that different pieces of software can't talk to each other locally through other means. > Again, note that this particular test was not present in previous > versions, which is why it never caused a problem before. Again, so what? Just for your information, what I figured after a while is that, in that failing build the following weird things are happening, compared to my local build: * there is no dbus installed But the build log has: -- Found dbus-1, version 1.12.20 -- Found dbus-glib-1, version 0.112 so, mh... it install the library it wants alright, but not the dbus service itself. * there is no libfontconfig1-dev But I need to check if something actually need it; at least at configure step it doesn't seem to be checked. * there is no librsvg2-(2|common|dev) It should not need the dev library, but I suspect the librsvg2-common is *the* one package that normally triggers the shared-mime-info dpkg trigger, that is what I suspect is causing the test to fail. * it's using graphicsmagic instead of imagemagick, which is probably the cause of all of the above This points to, at the very least, a bunch of missing build-dependencies that are probably pulled in by imagemagick normally (but not by graphicsmagic, which is set as Provides:imagegick but it's really way too different…). And, perhaps, a lack of some checking at configure time on the inkscape side. I don't know why in experimental graphicsmagic is pulled in, but given the different dependency resolver than unstable it's not quite surprising. I'll now try to reproduce it locally given these new hints and hopefully come back with something working. -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. More about me: https://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `- signature.asc Description: PGP signature
Bug#994741: regression tests: skipped vs failed
On Tue, 21 Sep 2021 19:03:07 +0200 Mattia Rizzolo wrote: > concerning the ftbfs of 1.1. I know of it of course. Just that I've > been busy over the past month. I'm as weirded out by that test failure > as you, especially since I couldn't reproduce it anywhere else. Does that not suggest that the problem is some peculiarity of the build environment, rather than any specific problem with the Inkscape code? Comparing the build logs for v1.0.2 and v1.1, one discovers that the reason that this is not a problem for v1.0.2 is that this specific test apparently does not exist in that version. https://buildd.debian.org/status/fetch.php?pkg=inkscape=amd64=1.0.2-4=1618427913=0 https://buildd.debian.org/status/fetch.php?pkg=inkscape=amd64=1.1-1=1629559190=0 But what is this? Unable to init server: Could not connect: Connection refused Failed to get connection ** (inkscape:2024671): CRITICAL **: 15:19:35.442: dbus_g_proxy_new_for_name: assertion 'connection != NULL' failed ** (inkscape:2024671): CRITICAL **: 15:19:35.442: dbus_g_proxy_call: assertion 'DBUS_IS_G_PROXY (proxy)' failed ** (inkscape:2024671): CRITICAL **: 15:19:35.442: dbus_g_connection_register_g_object: assertion 'connection != NULL' failed end_font_face_cb: font face rule limited support. font-family : 'GeomTest'; src : url(fonts/GeomTest-gzipped-SVG-glyphs.otf) end_font_face_cb: Added font: /<>/testfiles/rendering_tests/fonts/GeomTest-gzipped-SVG-glyphs.otf Background RRGGBBAA: ff00 Area 0:0:110:40 exported to 110 x 40 pixels (96 dpi) Pixbuf::create_from_file: Unrecognized image file format () Pixbuf::create_from_file: Unrecognized image file format () Pixbuf::create_from_file: Unrecognized image file format () 1589 text-gzipped-svg-glyph FAILED text-gzipped-svg-glyph-large SKIPPED Why is a "connection" necessary to retrieve a font file from a "url"? And why should the "server" then "refuse" it? Is this not expecting entirely too much from a mere package-build server? How does D-Bus come into this mess? Surely the resources provided by the filesystem should be all that is required for compilation and regression testing? This is not some kind of network client, or if it somehow is, that functionality should not be required to just build the distribution package. The "src: url(fonts/GeomTest-gzipped-SVG-glyphs.otf)" part actually does come from the regression test, but otherwise that tiny file provides no hint of what is going on. https://sources.debian.org/src/inkscape/1.1-1/testfiles/rendering_tests/text-gzipped-svg-glyph.svg/ But again: why does a font file need to be retrieved from a "url", in the context of a regression test? > But no, I'm not going to ignore a test failure just because it's > skipped in other architectures for different reasons: I'll need more > convincing reasons. Do we know that it's skipped in other architectures for different reasons? Maybe it's skipped in other architectures for the same reason: it breaks things. Again, note that this particular test was not present in previous versions, which is why it never caused a problem before.
Bug#994741: regression tests: skipped vs failed
On Wed, Sep 22, 2021 at 03:31:36PM +0300, Andrius Merkys wrote: > On 2021-09-21 20:03, Mattia Rizzolo wrote: > > Then, concerning the ftbfs of 1.1. I know of it of course. Just that > > I've been busy over the past month. I'm as weirded out by that test > > failure as you, especially since I couldn't reproduce it anywhere else. > > But no, I'm not going to ignore a test failure just because it's skipped > > in other architectures for different reasons: I'll need more convincing > > reasons. > > Thanks Mattia for letting us know you are working on it. Have you tried > building inkscape with network disabled? ?? of course. that's basically standard building env for me since I use pbuilder. by contrast, know that the debian buildds do *not* disable the network. Anyway, I'm first going to upload 1.1.1 to experimental today and see how that goes, otherwise I'm going to start debugging more. There is also another failure I need to take care of, as building in ubuntu exposed an unaligned memory access that causes bus errors in armhf (when run in a arm64 cpu). -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. More about me: https://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `- signature.asc Description: PGP signature
Bug#994741: regression tests: skipped vs failed
On 2021-09-21 20:03, Mattia Rizzolo wrote: > Then, concerning the ftbfs of 1.1. I know of it of course. Just that > I've been busy over the past month. I'm as weirded out by that test > failure as you, especially since I couldn't reproduce it anywhere else. > But no, I'm not going to ignore a test failure just because it's skipped > in other architectures for different reasons: I'll need more convincing > reasons. Thanks Mattia for letting us know you are working on it. Have you tried building inkscape with network disabled? Andrius
Bug#994741: regression tests: skipped vs failed
On Tue, 21 Sep 2021 18:57:41 +0300 Andrius Merkys wrote: > I cannot reproduce the failure myself on amd64. I tried building on a > machine without a display, and yet the test succeeds. I will try a > porterbox next. If the test succeeds, is the overall build then successful? Is that the cause of the amd64 build failure on the autobuild systems? If so, then cannot this problem be temporarily fixed by ignoring the test result on amd64, also? If it's acceptable to not run the test at all on 32-bit architectures, and to ignore the result on 64-bit BE architectures, then it cannot really be that important for 64-bit LE architectures. By temporarily ignoring the test result, the immediate problem can be solved: Inkscape v1.1 is not currently available for amd64 and other 64-bit LE systems. Having temporarily disabled this test, the actual cause of the failure can then be investigated at anybody's convenience, without further delaying the availability of the Inkscape distribution package. Inkscape v1.0.2 is REALLY buggy. This needs to be fixed soon.
Bug#994741: regression tests: skipped vs failed
On Tue, 21 Sep 2021 12:33:07 +0300 Andrius Merkys wrote: > if(${CMAKE_SIZEOF_VOID_P} EQUAL 8) > set(RENDERING_TESTS_64bit > # .otf font with compressed SVG glyphs > # (test not stable on 32bit Windows) > text-gzipped-svg-glyph > ) > endif() > > Thus this test is only run on 64bit architectures. Thanks for pointing that out. It appears that my assumption that this regression test failure was the cause of the overall build failure on amd64, was incorrect. According to the build logs, this test also fails on ppc64 and sparc64, and yet the builds for those architectures have apparently succeeded. This appears to be the critical failure on amd64: cd /<>/obj-x86_64-linux-gnu && /usr/bin/ctest --force-new-ctest-process ninja: build stopped: subcommand failed. dh_auto_test: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 MESON_TESTTHREADS=1 ninja test returned exit code 1 make[1]: *** [debian/rules:21: override_dh_auto_test-arch] Error 25 make[1]: Leaving directory '/<>' make: *** [debian/rules:8: binary-arch] Error 2 dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2 Build finished at 2021-08-21T15:19:37Z Since the regression test failure is apparently an unrelated problem, how should that be interpreted?
Bug#994741: regression tests: skipped vs failed
Come on, inkscape 1.0 is not _that_ buggy. It has been around for a whole year (with a few fixing releases in-between), and it's the version present in Debian 11. If it really has grave bugs (I really mean grave), then those should be filed separately, and I should work on getting them fixed as patches on top of 1.0.2. Then, concerning the ftbfs of 1.1. I know of it of course. Just that I've been busy over the past month. I'm as weirded out by that test failure as you, especially since I couldn't reproduce it anywhere else. But no, I'm not going to ignore a test failure just because it's skipped in other architectures for different reasons: I'll need more convincing reasons. If you'd like other bugs in inkscape 1.1: opposed to 1.0.2 it's doing some kind of unaligned memory access somewhere (yet to debug), which makes it crash on armhf when run on arm64 hardware. I was basically forced to ignore that test failure on Ubuntu and that annoyed me enough, I really don't want to ignore tests just because it's convenient for somebody. On Tue, 21 Sep 2021, 6:51 pm , wrote: > On Tue, 21 Sep 2021 18:57:41 +0300 > Andrius Merkys wrote: > > > I cannot reproduce the failure myself on amd64. I tried building on a > > machine without a display, and yet the test succeeds. I will try a > > porterbox next. > > If the test succeeds, is the overall build then successful? Is that the > cause of the amd64 build failure on the autobuild systems? > > If so, then cannot this problem be temporarily fixed by ignoring the > test result on amd64, also? If it's acceptable to not run the test at > all on 32-bit architectures, and to ignore the result on 64-bit BE > architectures, then it cannot really be that important for 64-bit LE > architectures. > > By temporarily ignoring the test result, the immediate problem can be > solved: Inkscape v1.1 is not currently available for amd64 and other > 64-bit LE systems. Having temporarily disabled this test, the actual > cause of the failure can then be investigated at anybody's convenience, > without further delaying the availability of the Inkscape distribution > package. > > Inkscape v1.0.2 is REALLY buggy. This needs to be fixed soon. > >
Bug#994741: regression tests: skipped vs failed
On 2021-09-21 18:03, ian_br...@mail.ru wrote: It appears that my assumption that this regression test failure was the cause of the overall build failure on amd64, was incorrect. According to the build logs, this test also fails on ppc64 and sparc64, and yet the builds for those architectures have apparently succeeded. Actually, build logs show failure of this test case both on amd64 and ppc64, to name a few, but on ppc64 this failure is intentionally ignored [1]: ifeq ($(DEB_HOST_ARCH_ENDIAN),little) dh_auto_test -a --no-parallel else # the testsuite fails on BE. https://gitlab.com/inkscape/inkscape/-/issues/1365 -dh_auto_test -a --no-parallel endif (ppc64 is BE = Big Endian) However, I cannot reproduce the failure myself on amd64. I tried building on a machine without a display, and yet the test succeeds. I will try a porterbox next. [1] https://sources.debian.org/src/inkscape/1.1-1/debian/rules/ Best, Andrius
Bug#994741: regression tests: skipped vs failed
The Inkscape v1.1 build fails on amd64, because of a regression test called "text-gzipped-svg-glyph", which can be found here: https://sources.debian.org/src/inkscape/1.1-1/testfiles/rendering_tests/text-gzipped-svg-glyph.svg/ from the build log: Start 301: render_text-glyphs-vertical 301/303 Test #301: render_text-glyphs-vertical Passed2.25 sec Start 302: render_test-powerstroke-join 302/303 Test #302: render_test-powerstroke-join ... Passed0.55 sec Start 303: render_text-gzipped-svg-glyph 303/303 Test #303: render_text-gzipped-svg-glyph ..***Failed0.26 sec text-gzipped-svg-glyph FAILED text-gzipped-svg-glyph-large SKIPPED 99% tests passed, 1 tests failed out of 303 On i386, the build succeeds, apparently because this test does not run at all: Start 301: render_text-glyphs-vertical 301/302 Test #301: render_text-glyphs-vertical Passed2.65 sec Start 302: render_test-powerstroke-join 302/302 Test #302: render_test-powerstroke-join ... Passed0.94 sec 100% tests passed, 0 tests failed out of 302 If this test is not required on i386 (and presumably other architectures where the build succeeds), then it shouldn't be required on amd64, either. This discrepancy needs to be investigated.
Bug#994741: regression tests: skipped vs failed
Hi Ian, On 2021-09-21 09:52, ian_br...@mail.ru wrote: On i386, the build succeeds, apparently because this test does not run at all: Start 301: render_text-glyphs-vertical 301/302 Test #301: render_text-glyphs-vertical Passed2.65 sec Start 302: render_test-powerstroke-join 302/302 Test #302: render_test-powerstroke-join ... Passed0.94 sec 100% tests passed, 0 tests failed out of 302 If this test is not required on i386 (and presumably other architectures where the build succeeds), then it shouldn't be required on amd64, either. From [1]: if(${CMAKE_SIZEOF_VOID_P} EQUAL 8) set(RENDERING_TESTS_64bit # .otf font with compressed SVG glyphs # (test not stable on 32bit Windows) text-gzipped-svg-glyph ) endif() Thus this test is only run on 64bit architectures. [1] https://sources.debian.org/src/inkscape/1.1-1/testfiles/rendering_tests/CMakeLists.txt/ Andrius