Monday, 2021-03-08

*** tpb has joined #yosys00:00
*** atk has joined #yosys00:00
*** craigo has quit IRC00:00
*** emeb has left #yosys00:15
*** vidbina_ has quit IRC00:55
*** lf has quit IRC00:55
*** lf_ has joined #yosys00:55
*** craigo has joined #yosys01:57
*** Degi_ has joined #yosys03:07
*** Degi has quit IRC03:07
*** Degi_ is now known as Degi03:07
*** citypw has joined #yosys03:35
*** _whitelogger has quit IRC03:42
*** _whitelogger has joined #yosys03:44
*** citypw has quit IRC04:23
*** futarisIRCcloud has joined #yosys04:50
*** FFY00_ has quit IRC04:54
*** FFY00_ has joined #yosys05:00
*** kraiskil has joined #yosys05:52
*** s_frit has quit IRC05:55
*** s_frit has joined #yosys05:56
*** kraiskil has quit IRC06:46
*** emeb_mac has quit IRC07:03
*** s_frit has quit IRC07:46
*** s_frit has joined #yosys07:47
*** s_frit has quit IRC08:19
*** s_frit has joined #yosys08:20
*** s_frit has quit IRC08:24
*** s_frit has joined #yosys08:24
*** shivampotdar has joined #yosys08:32
*** futarisIRCcloud has quit IRC08:59
*** wiizzard has quit IRC09:00
*** vidbina_ has joined #yosys09:10
*** jakobwenzel has joined #yosys09:34
*** vidbina_ has quit IRC10:04
*** FFY00_ has quit IRC10:06
*** FFY00_ has joined #yosys10:07
gatecatsomlo: done10:19
*** craigo has quit IRC11:10
*** craigo has joined #yosys11:14
*** FFY00_ has quit IRC11:19
*** FFY00_ has joined #yosys11:20
*** jakobwenzel has quit IRC11:27
*** FFY00_ has quit IRC11:46
*** FFY00_ has joined #yosys11:47
*** kraiskil has joined #yosys11:54
*** kraiskil has quit IRC12:10
*** jakobwenzel has joined #yosys12:41
*** vidbina_ has joined #yosys12:59
*** jakobwenzel has quit IRC13:03
somlogatecat: thanks!13:20
somloI requested a Fedora RPM build of yosys (at commit 9cdc6b5, as of yesterday). That involves building on a variety of architectures (686, x86_64, arm, ppc, s390x).13:48
somloit builds everywhere, and passes tests on all but s390x, where tests/techmap/shiftx2mux.ys fails with13:49
somlo"ERROR: Called with -verify and proof did fail!"13:49
somlocurrently I'm working on peeling off all the fedora-specific layers to try and create the most straightforward reproducer possible for a bug report (probably no way around involving qemu-s390x-static :)13:50
somloin the mean time, any insight into the shiftx2mux.ys test much appreciated -- I'm not ready (yet) to simply turn off the "%check" (`make test`) portion of the build on s390x to paper over the issue -- on the off chance this failure might be highlighting an actual problem...13:51
*** lethalbit has quit IRC13:57
*** lethalbit has joined #yosys13:59
gatecatThanks for looking into this - I'll raise this on the Yosys HQ slack too14:14
mwk... oh yay14:19
mwk.... I wonder what happened to that cursed s390x VM I had laying around14:20
somlomwk: after turning yosys #9cdc6b5 into a .src.rpm, I can reproduce it with `mock -r fedora-rawhide-s390x yosys*.src.rpm` -- which involves containers and emulation via qemu-s390x-static, i.e. "usermode" emulation)14:23
mwkany chance of getting some reproducer I could run with just plain qemu?14:25
mwkbut anyway14:25
somlothat's what I'm trying to do, "peel off" all the fedora-specific crap before filing an issue on github14:25
somlowouldn't want to inflict the RPM crap on anyone who isn't a Fedora nut :D14:26
mwkas far as I can see, that sat -verify call basically verifies the validity of a techmap + abc/abc9 on a design14:26
mwkthe actual shiftx2mux part shouldn't be relevant to this failure14:26
mwkso the question is14:26
somloabc bug?14:27
mwkis one of these passes somehow broken on s390x, or is the sat itself broken14:27
mwknot impossible14:27
mwkbut anyway14:27
mwkI'd suggest modifying the test to dump rtlil at three points in the script14:27
mwkand uploading the resulting files somewhere so we can compare with known-good execution14:27
mwkplease add: `write_rtlil gold.il` right before `design -save gold`14:28
mwk`write_rtlil gate1.il` right after first `select -assert-count 16 t:$lut`14:28
mwk`write_rtlil gate2.il` right after second `select -assert-count 16 t:$lut`14:28
mwkand upload the three il files that appear (or two if it crashes earlier)14:29
mwkalso could you upload the full execution log of that test? I'm not even sure *which* sat call crashes14:29
somlomwk: https://pastebin.com/kYmRATps -- I'll get back to you here once I collect the output. And yeah, I'll dig around for the execution log as well. Thanks!14:31
tpbTitle: diff --git a/tests/techmap/shiftx2mux.ys b/tests/techmap/shiftx2mux.ysindex f7 - Pastebin.com (at pastebin.com)14:31
mwkthe execution log is just the .err or .log file next to the test14:32
somlogot it, thx!14:32
*** emeb has joined #yosys15:12
*** kraiskil has joined #yosys15:44
*** kraiskil has quit IRC15:56
*** vidbina_ has quit IRC15:58
*** vidbina_ has joined #yosys17:08
*** kraiskil has joined #yosys17:50
*** craigo has quit IRC18:10
*** kraiskil has quit IRC18:39
*** danvet has joined #yosys18:43
*** kraiskil has joined #yosys18:47
somlomwk: http://mirror.ini.cmu.edu/yosys/yosys-shiftx2mux-test.tar.gz; I ran the build on both x86_64 (successfully) and on s390x (where it never made it to the second gate)19:41
somlomwk: happy to open an issue on github if you prefer, just LMK19:48
mwkwell, sat doesn't pass here either on those19:54
mwkso... abc or techmap bug19:54
mwksomlo: is s390x the only big endian architecture you tested?20:02
mwkactually hmmmmm20:04
somlomwk: the full list is armv7hl, i686, x86_64, aarch64, ppc64le, s390x20:06
mwkand that means a no20:06
mwkI just pulled up a ppc64 machine, let's try it20:06
mwker, I mean, that means a yes; s390x is the only BE one on that list20:07
mwkyep20:07
somloyeah, ppc64le sounds like the "le" bit is for little20:07
mwkthe test fails20:07
mwkokay, this means I have a repro machine20:08
somlooh, so it's an endianness thing20:08
mwkyes20:08
mwknot a good sign, is it20:08
somlothank goodness I don't have to peel off the fedora container layers, if you can reproduce on your end :)20:08
somlobut yeah, sorry about the less than good news20:09
mwkand I just confirmed that it is, indeed, abc and not techmap20:09
mwkgods, I do *not* want to dig into abc sources to find a fucking endianness bug20:09
somloI have mixed feelings of sadness and relief at clearly not being qualified to tackle this myself :D20:10
somloat least not in any useful time frame...20:11
mwkand it's a dangerous one, too20:11
mwkas in, it silently mangles synthesized logic20:11
mwkgiven this issue, yosys should be considered unusable on big endian machines20:11
mwkat least for synthesis flows20:11
somloouch...20:12
somlobut at least we know, which is arguably better than the alternative20:12
mwkyes20:12
mwkplease file a bug, this needs to be fixed20:12
somlowill do20:13
cr1901_modernoh shit ._.20:23
somlomwk: issue #264520:26
*** kraiskil has quit IRC20:35
*** emeb_mac has joined #yosys20:52
*** jakobwenzel has joined #yosys21:12
*** jakobwenzel has quit IRC21:31
*** vidbina_ has quit IRC22:03
*** jakobwenzel has joined #yosys22:07
mwksomlo: the culprit seems to be the mfs2 pass in abc; I can make the testsuite pass by removing mfs2 from the default script in passes/techmap/abc.cc22:11
*** jakobwenzel has quit IRC22:28
jixmwk: I found the bug (see slack)22:29
mwkoh ffs22:32
mwksomlo: given the underlying mess, you may want to just fail the build on big-endian systems22:48
mwkthis is just a case of someone baking a little-endian assumption deep into the code, fixing this is going to involve a *lot* of work22:50
somlomwk: thanks, I'll ask in #fedora-devel how to go about "unsupporting" a package on one of their "supported" architectures (the irony is that I couldn't care less about s390x for myself or anyone I know :)22:53
somlomwk: the baked-in assumption, is it in upstream abc? If so, any chance one of you kind folks can open a bug about it in upstream abc that I can reference to support my case with #fedora-devel ?22:55
mwkyes, upstream abc22:56
sorearare you asking a political question or a question about rpmbuild?22:56
sorearon second thought it's been several years since I did this and I'm not sure I could explain how22:57
*** danvet has quit IRC22:57
sorearbut there's a way to stick architecture allowlists/denylists in spec files and a bunch have them22:57
somlosorear: it's technically possible to specify "this package should not be built on this arch" (and quite a simple one-liner in the rpm spec file)22:59
sorearyeah but saying "it's easy" without details is not useful, so I'm not doing that23:00
somlobut (without having crossed all my t's and dotted all my i's) I also assume that if we had yosys and abc packaged for all arches before, stopping that on arch "foo" would be easier if I could point at some good reason :)23:00
somlobesides, having the breakage documented and on record is a good thing on general principle, nevermind "packaging politics"...23:01
somloI'd do it, but (as I might have mentioned earlier) this is WAAAAY deeper and darker voodoo than I am currently qualified to handle -- all I did was step on the landmine, and I don't have the vocabulary to describe it in technical detail :)23:03
mwksomlo: you can link to https://github.com/YosysHQ/yosys/issues/264523:08
mwkI added a short summary of the problem23:09
somlomwk, thanks! I also have to contact the principal fedora maintaner of abc, and having that to point at helps23:10
*** richbridger has quit IRC23:49
*** richbridger has joined #yosys23:50

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!