/srv/irclogs.ubuntu.com/2024/02/21/#ubuntu-devel.txt

=== Guest8 is now known as ethanhsieh
=== ethanhsieh is now known as ethanhsiehtest
=== ethanhsiehtest is now known as ethanhsieh
=== ethanhsieh42 is now known as ethanhsieh
LocutusOfBorgdoko, https://launchpadlibrarian.net/715376454/buildlog_ubuntu-noble-ppc64el.libunivalue_1.1.1+20191112-2_BUILDING.txt.gz looks like libunivalue needs some more optional symbols08:46
=== pushkarnk1 is now known as pushkarnk
schopin@pilot in09:11
=== ChanServ changed the topic of #ubuntu-devel to: Archive: open | Devel of Ubuntu (not support) | Build failures: http://qa.ubuntuwire.com/ftbfs/ | #ubuntu for support and discussion of Focal-Mantic | Patch Pilots: schopin
dviererbe@ahasenack I have seen the discussion and am currently trying to get the test suite to work. I already added a hello world test for the cgi handler. I have also seen that doku uploaded my WIP version. I will ask for a sonsor of an updated version once I get the test suite running and passing.13:06
ahasenackdviererbe: sounds great13:12
ahasenackdviererbe: would you like to perhaps create an upstream PR, linked to the upstream bug you created?13:12
ahasenackthen it's also easier to comment13:12
dviererbeI will do that, just a minute...13:13
ahasenackthx13:13
dviererbeahasenack: you can the PR here https://github.com/grisha/mod_python/pull/13113:22
-ubottu:#ubuntu-devel- Pull 131 in grisha/mod_python "Refactor patch for Python 3.12" [Open]13:22
ahasenackawesome13:23
dviererbeI also added you as a contributer to the repo, so you can push commits (if you want)13:26
ahasenackoh, you are upstream?13:26
ahasenackah, to your fork13:26
ahasenackworks too :)13:26
dviererbeyes13:27
dviererbeCould you help me figuring out how to get the test suite working? I get13:27
dviererbeBad value for mod_python.version.HTTPD :13:27
dviererbeBad value for mod_python.version.TESTHOME : <undefined>13:27
dviererbeBad value for mod_python.version.TEST_MOD_PYTHON_SO : <undefined>13:27
dviererbePlease check your mod_python/version.py file13:27
dviererbeThe proble is there is no mod_python/version.py file13:27
ahasenackis this run at build time?13:29
ahasenackpkg build time, I mean13:29
ahasenackand maybe make the PR against the fork, not against that patch, otherwise the diff looks small13:29
ahasenackas it only shows the find_spec/spec_from_file_location change13:30
dviererbeI did not see the tests in the build log, but my limited understanding of dh_make tells me that the tests should be run during build time13:33
ahasenackI'll check13:33
dviererbeI also reset the base for the fork13:33
dviererbeI see it in the log now "Cannot import mod_python.version. "13:35
dviererbebut still, I should be able to run it as an dep8 test13:36
ahasenackI see it13:38
ahasenackmaybe it's complaining that the file doesn't exist, that's why the variables it's showing just before are empty13:38
ahasenacksetup.py.in has a def generate_version_py() to generate it13:40
ahasenack:q13:40
dbungertqa-help: can you help me understand what's going on with the test retries on jupyter-notebook ?  When we explicitly trigger as jupyter-notebook/6.4.12-2.2ubuntu1 it's selecting jupyter-notebook/6.4.12-2.2 anyhow13:46
Skiagood question, I've no idea right now13:47
ahasenackdbungert: saw that too, asked internally (in a slightly different way)13:47
ahasenackdbungert: before it was because 2.2ubuntu1 was FTBFS, but now it's correct13:47
dbungertright, I wonder if that old FTBFS info is cached or something and it refuses to use that version yet13:48
ahasenackand even with a trigger it's selecting the old version?13:49
dbungertyes13:49
ahasenackI don't remember if I saw that attempt13:49
ahasenackok13:49
dbungertmultiple test retries have been attempted on https://autopkgtest.ubuntu.com/packages/j/jupyter-notebook/noble/amd64, some explicitly with ubuntu1, and the few I have spot checked are all using 6.4.12-2.213:50
Skiaandersson1234: maybe you can help here ^ ?13:51
ahasenackarmhf used the correct version sometimes: https://autopkgtest.ubuntu.com/packages/j/jupyter-notebook/noble/armhf13:51
ahasenackstill failed, what's up this time...13:51
dbungertthe NotebookUnixSocketTests failure was fixed with python3-requests-unixsocket13:55
=== mfo_ is now known as mfo
ahasenackdviererbe: so two things14:04
ahasenackdviererbe: a) right after package build, lib/python/mod_python/version.py  exists and has correct content14:04
ahasenackdviererbe: b) somehow, that is stripped when the file is copied into the package. That copy has empty values14:04
dviererbethat is weird14:04
ahasenackdviererbe: c) (ok, 3 things) the test uses the version.py file from the installed package, not from the build directory. So it finds the empty values, and complains14:04
ahasenackand I didn't find yet what actually populates that file with values. The function in setup.py only generates a blank one, with only the module version populated, but not the rest14:08
adrienbryyce: hey, when I use ppa wait, it clears my terminal and I find it inconvenient; is that a known thing and is there a way to disable this behavior?14:09
dviererbeahasenack: I do not think that setup.py is called during build time, because distutils is also removed with python 3.12 and would fail the build14:10
ahasenackit is called, according to deb build logs14:10
adrienbryyce: I tried various things; "| cat -v" helped but the output is slightly ugly, "| ansifilter" can help too but is not installed everywhere, "| col -b" worked and the output was less ugly than cat -v but still had traces of control chars; the best solution so far as been to set the TERM env var: TERM=dumb14:30
ahasenackdviererbe: I don't think these bundled tests are ok, at first glance. For once, they require write access to the python lib14:30
ahasenack        # the rest of this test requires write perms to site-packages/mod_python14:30
ahasenack        if os.access(version_path, os.W_OK):14:30
ahasenackalthough that might just be skipped14:31
ahasenack:q14:31
ahasenackops14:31
ahasenackI'm jsut checking now what actually populates version.py14:31
dviererbeahasenack: I am currently trying to get these tests to run as roo. I don't think that write permissions are an issue14:31
dviererbe*root14:32
ahasenackfor dep8 then14:32
ahasenackdoko: will we eventually remove bin:python3-distutils 3.11.5?14:36
schopin@pilot out14:39
=== ChanServ changed the topic of #ubuntu-devel to: Archive: open | Devel of Ubuntu (not support) | Build failures: http://qa.ubuntuwire.com/ftbfs/ | #ubuntu for support and discussion of Focal-Mantic | Patch Pilots: N/A
ahasenackdbungert: got a pass with this trigger https://autopkgtest.ubuntu.com/packages/jupyter-notebook/noble/armhf14:43
ahasenackI'll repeat it for the other architectures14:43
dbungertoutstanding14:43
ahasenackhmpf, would be useful it the link was ready to paste, but I have to construct it again14:43
dviererbeahasenack: I am not sure how we can replace distutils. The recommended migration is setuptools and setuptools was removed with lunar See LP: #199897014:44
-ubottu:#ubuntu-devel- Launchpad bug 1998970 in rawkit (Ubuntu) "Remove pypy from lunar" [Undecided, Fix Released] https://launchpad.net/bugs/199897014:44
ahasenackdviererbe: I was thinking about a dep8 test like the smoke one, but for cgi. the bundled test suite might be too much effort for now14:46
ahasenackthat version.py file being populated seems to be a distutils thing too14:46
dviererbeWell i already have a working hello world test14:46
dviererbefor the cgi handler14:46
ahasenackadd a print of the environment to it, I'm curious if we are leaking something14:46
ahasenackI'll shelve this build-time-test pursuit for now14:47
dviererbeahasenack: printing sys.modules gives me this https://paste.ubuntu.com/p/Pg4QPvRsRV/plain/15:01
=== popey0 is now known as popey
bryyceadrien, yes use `ppa wait --log`.  Sorry that wasn't more discoverable, it's the last item in `ppa wait --help`.  Where did you first look to see how to disable that?  I can see about adding better docs at that spot.16:47
adrienoh, I was assuming --log would want to write to a file16:48
adrienand I most probably skipped reading the description in full16:48
adrienbut also, besides the screen clearing, isn't printing the ongoing status to console the default behavior anyway?16:49
bryycelikely you should be able to set 'wait_logging' to false in your config file to change that behavior permanently locally16:49
adrienalso, I expected that piping the output to another program would disable that behavior16:50
adrienI need to leave to prepare dinner unfortunately but I'll be back a bit later16:50
bryyceyes it used to be, but other users found _that_ to be inconvenient and at the time I didn't know if anyone would prefer the current behavior (but I left this config option just in case)16:50
adrien :D16:52
adrienusers are convenient16:52
bryyce<3 users16:52
bryyceI'm not sure on use cases for saving log output to a file but that's doable via `ppa wait --log | tee ...` so that's as far as my thinking got there16:53
bryyceadrien, I'm glad you asked about this though, I was curious if the non-clearing function was useful for some people16:54
adrienI'm not saying I would use such an option, rather than it exists in that form in other apps and was expecting something similar here16:54
adrientbh, I don't see how clearing is useful to some :)16:55
adrienclearly, the people who think or do differently than I do are monsters16:55
bryycehaha16:55
bryycewell the argument was that one would leave it running in a terminal to visually note changes16:56
adrienbut also, I'm wondering if I get the same behavior: I end up with an empty screen which I can't scroll up16:56
bryyceyeah that's a "feature" of the clear screen system call16:57
adrienI might try some output reworking; there's something I'd like to try (but I have to leave now :) )16:58
bryyceadrien cool, I look forward to hearing more16:59
dokoahasenack: yes, when 3.11 is removed from python3-defaults as supported18:18
ahasenackwe might have a new influx of bugs with import failures then18:18
ahasenackright now, some are still "working" because distutils is there, from 3.1118:18
ahasenackbut that isn't importable from python 3.12 anyway, so shouldn't be many18:19
dokoif we really need, we could do something like a python3-zombie-distutils, but I would like to avoid that18:27
bdmurraydbungert: your jupyter-notebook issues should be sorted now e.g. feel fre to kick off a test again18:52
dbungertbdmurray: thanks.  Are tests that are already queued OK?18:53
bdmurrayyes18:53
dbungertbdmurray: test run c6bf2236-3559-4bfb-b936-32b20551a907 was queued after this conversation, but is still using the wrong version of jupyter-notebook in spite of triggers.19:28
bdmurraydbungert: I don't know how to search for a uuid yet what arch release package?19:34
dbungerthttps://autopkgtest.ubuntu.com/packages/j/jupyter-notebook/noble/arm6419:34
dbungerttop entry19:35
bdmurraydbungert: I don't see jupyter-notebook in those triggers19:37
dbungertthank you19:37
bdmurraythat's an unexpected response19:37
dbungertI will requeue with a fixed trigger19:38
bdmurraygetting warmer ;-)19:38
dbungertI was wrong and Brian was wright19:39
dbungertright19:39
ahasenackso besides jupyter,20:01
ahasenackremaining issues seem to be ansible, one libapache2-mod-python (ppc64el, runners were odd there, new runs are queued)20:01
ahasenackand I see one update-motd armhf-only red20:01
ahasenackmy "favorite" arch20:02
ahasenack"fcntl() invalid argument"20:02
ahasenackhuh20:02
dokoyes, I looked at that already, same "huh"20:05
dokoansible/armhf is also an armhf-only issue20:05
ahasenackit's hard to replicate the armhf environment that LP uses20:07
ahasenackI have this in my notes: https://git.launchpad.net/autopkgtest-cloud/tree/charms/focal/autopkgtest-cloud-worker/autopkgtest-cloud/tools/armhf-lxd.userdata#n7620:07
ahasenackon how autopkgtests launch armhf containers20:07
ahasenackbdmurray: do you know what the host is for the armhf autopkgtest containers? focal? jammy? running kernel?20:08
bdmurrayahasenack: focal20:09
dbungertrunning kernel is visible near the top of the test log20:12
ahasenackI'll try with my mantic pi4 first (using an armhf container launched like in the git url above)20:12
ahasenackif that doesn't show the error, then I'll try a bare metal arm64 running focal deployed with maas, but that will take much longer20:13
ahasenacklxc launch ubuntu-daily:noble/armhf pi4:n-armhf-lp -c raw.lxc="apparmor.profile=unconfined" -c raw.lxc="seccomp.profile=" -c security.nesting=true20:13
ahasenacktrying that first20:13
waveformFYI, you can run focal on the pi4 (if you want something as close as possible to the autopkgtest setup)20:15
bdmurrayLet me know if there is anything I can do to help20:17
ahasenackwaveform: yep, but this is a "production" pi4 :)20:21
ahasenackdon't want to boot it on another OS right now20:21
ahasenackactually, let me in parallel find that nice arm64 system that can spawn a armhf container20:22
ahasenackor, oh, maybe canonistack is working well enough20:22
ahasenackhm, no go for canonistack20:29
ahasenack| 88479cf3-ff4b-4eac-91be-e87c8f5dfd20 | n-arm64      | ERROR  | -          | NOSTATE20:29
ahasenackit passed locally, with the mantic kernel20:46
ahasenackwe could debian/tests/wait-for-apt-update-to-finish || :20:59
ahasenackthat script is just to wait for an apt lock in case there is an apt running20:59
ahasenackit's to help with making the test more resilient, ironically20:59
ahasenackthe actual test is calling update-motd after that21:00
ahasenackthat being said,21:00
ahasenackit's only failing on python 3.1221:00
ahasenackmigration-reference/0 works (with py3.11)21:00
ahasenackand that is a python script21:00
ahasenackok, let's check what changed in 3.11 -> 3.12 in what that script does21:00
* ahasenack has a hunch21:09
ahasenackdespite the multiple reruns and triggers, all tests from https://autopkgtest.ubuntu.com/packages/update-motd/noble/armhf were against python 3.11, not python 3.1221:12
ahasenackso it looks like it was that issue that just got fixed21:12
ahasenackah, no, 3.11 is the update-motd version, not python21:21
ahasenackhunch busted21:21
ahasenackok, at least I can reproduce it21:31
ahasenackworks with python 3.11, fails with 3.12: https://pastebin.ubuntu.com/p/Ccr7SB4sRN/21:32
ahasenackI'll file a bug to get this recorded, since it's eod21:32
ahasenackah, there is one, excellent21:32
ahasenackdoko: about update-motd, I added some interesting info to https://bugs.launchpad.net/ubuntu/+source/update-motd/+bug/205436921:41
-ubottu:#ubuntu-devel- Launchpad bug 2054369 in update-motd (Ubuntu) "update-motd fails autopkg test on armhf in noble, blocking python3-defaults" [Undecided, Confirmed]21:41
ahasenackbut I'm eod now, can continue tomorrow21:41
ahasenackI have an instance up on canonistack where this is happening, if somebody wants to take a look while I'm gone21:41
ahasenackI'm trying to udnerstand where the magic struct.pack('hhllhh', fcntl.F_WRLCK, 0, 0, 0, 0, 0) comes from21:42
mwhudsonahasenack: that strace output is pretty yikes21:42
ahasenacksomething is being packed incorrectly21:42
dokokanashiro: please forward the swig issue to debian21:51
kanashiroI'll forward all the patches I am adding to debian21:52
waveformahasenack, just had a bit of a google around and ran across the fcntl module tests in python (https://github.com/python/cpython/blob/main/Lib/test/test_fcntl.py) -- of particular interest is get_lockdata from line 5323:06
waveformfollowing that down we can see that on linux it'll use the struct 'hh'+start_len+'hh'; start_len is ll on platforms without os.O_LARGEFILE, but qq on platforms with (which would suggest the struct in use is too short on armhf?)23:07
waveform(assuming armhf has os.O_LARGEFILE -- I'll try and check that in a bit)23:08
waveformyes, armhf has os.O_LARGEFILE so it'll be using a struct that's too short23:16
ahasenackwaveform: why does the call pass in python 3.11 I wonder?23:35
waveformdumb luck would be my guess; the fcntl call will be reading too much from the struct and it just *happens* to run across a load of garbage at the end in 3.12 while it didn't in 3.1123:36
ahasenackbut yeah, changing ll to qq passes with python 3.1223:37
ahasenackthis all sounds like a VERY CONVOLUTED way to check a lockfile :D23:37
waveformyes ... I'm wondering if it can just be replaced with a call to flock instead ...23:37
waveformthe test is also ... a bit weird. It's setting NONBLOCK on the fd, then does an explicit blocking wait for the lock ...23:38
waveform(not to mention it's testing for -1 on the fcntl return, which is also wrong -- if fcntl fails it just raises OSError; not that that makes any difference, the script will still bail with rc 1)23:38
waveformstill, it all kinda screams "re-write me nicely"23:39
ahasenackhm, on my amd64 mantic laptop, python 3.11,23:40
ahasenack$ python3 -c "import os; print(os.O_LARGEFILE)"23:40
ahasenack023:40
ahasenackon armhf (host arm64),23:40
ahasenack# python3.11 -c "import os;print(os.O_LARGEFILE)"23:40
ahasenack13107223:40
ahasenacksame with py 3.12 there23:40
waveformyeah, but it's just testing for the *existence* of O_LARGEFILE, not for its value23:40
ahasenackoh, true23:41
ahasenackso it should be qq always?23:41
ahasenackin our cases23:41
waveformon the platforms we care about, apparently yes23:41
ahasenackapparently this check was added because of freedombox23:42
ahasenackwhich was now removed d/t/control23:42
ahasenackhttps://git.launchpad.net/ubuntu/+source/update-motd/commit/?id=c060dd002473f5700d8db3916bd8da122ec94fc323:43
-ubottu:#ubuntu-devel- Commit c060dd0 in ubuntu/+source/update-motd "3.6-0ubuntu9 (patches unapplied) import/3.6-0ubuntu9"23:43
ahasenackand freedombox was removed: https://git.launchpad.net/ubuntu/+source/update-motd/commit/?id=1fb924d7cb573df5202a16d93ebcae1e20d62e2a23:44
-ubottu:#ubuntu-devel- Commit 1fb924d in ubuntu/+source/update-motd "3.11 (patches unapplied) HEAD import/3.11 ubuntu/noble-proposed ubuntu/noble-devel ubuntu/noble ubuntu/devel"23:44
ahasenack(why was it a test dep for update-motd anyway??)23:44
ahasenackweird23:44
waveformyeah, everything about this is bizarre ... I'm just looking at the fcntl.flock/lockf code in CPython and I'm *fairly* sure all this could just be replaced with one of those calls23:45
waveform(assuming we even want to keep the test)23:45
ahasenackI'll setup a run without it23:46
ahasenackor, for something safer(?), switch to qq23:46
waveformthat would be the minimal safe change23:46
ahasenackoh, freaking native packages23:53

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!