[00:00] <Bert_2> wgrant: but loggin in as root with the root password doesn't work either
[00:00] <Bert_2> or does it only copy the password of the one user it's created with ?
[00:01] <wgrant> Bert_2: If asked to bind ~ (the '-b $USER' option) it will copy the relevant lines from 'getent passwd' and 'getent shadow'. If -b is omitted, it will use ubuntu:ubuntu
[00:01] <Bert_2> I see
[00:02] <Bert_2> so I'll have to recreate the container then I guess ?
[00:02] <wgrant> You'll probably have to leave out -b, or manually 'chroot /var/lib/lxc/$CONTAINER/rootfs passwd $USER'
[00:02] <Bert_2> wgrant: okey, thanks :D
[00:13] <wallyworld_> StevenK: yeah, i've been otp for an hour sorry. doing it now
[00:28] <wallyworld_> StevenK: is done
[01:01] <StevenK> wallyworld_: Thanks
[01:02] <wallyworld_> StevenK: sorry it took a while, i was otherwise engaged for a bit
[01:02] <StevenK> wallyworld_: Tis all good.
[01:13] <StevenK> wgrant: So I've cribbed get_bug_privacy_filter for get_branch_privacy_filter, but I'm not sure how to collapse down the policy grant filter
[01:28] <StevenK> 2012-07-04 01:15:01 DEBUG2  [PopulateBranchAccessArtifactGrant] Done. 30536 items in 304 iterations, 625.594790 seconds, average size 100.449373 (48.8121224706/s)
[01:29] <StevenK> wgrant: ^ DF
[01:32] <wgrant> StevenK: Rather than saying access_policies && foo, you can say access_policy = ANY(foo)
[01:54] <StevenK> wgrant: Does Storm export an Any, or do I need to screw around with SQL() more?
[01:58] <wgrant> StevenK: I'm not sure. At worst you'll need to add a three-liner to lp.services.database.stormexpr
[02:08] <lifeless> pretty sure it does
[02:08] <lifeless> and please add ovbvious things like that to storm itself
[02:08] <lifeless> we have reviewers in-team, no need to make the techdebt higher than it already is
[02:10] <StevenK> lifeless: I've been looking and I can't see it
[02:12] <lifeless> ah, probably doesn't then. its weak on scalars
[02:12] <lifeless> still, as wgrant says, easy to add.
[02:15] <wgrant> lifeless: You mean !scalars?
[02:16] <lifeless> maybe :P
[02:27] <wgrant> Bug #1020785
[02:27] <_mup_> Bug #1020785: lp.services.apachelogparser.base.get_files_to_parse doesn't like gzipped files over 4GiB <ppa> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1020785 >
[02:28] <wgrant> Can anyone see a better solution than checking if the read size is >4GiB and gzip isize <4GiB, then ignore the file if read size % 2**32 == gzip isize?
[02:32] <wgrant> lifeless: Can I have a One Patch Policy exception for http://bazaar.launchpad.net/~launchpad-pqm/launchpad/db-stable/view/head:/database/schema/patch-2209-20-1.sql and http://bazaar.launchpad.net/~launchpad-pqm/launchpad/db-stable/view/head:/database/schema/patch-2209-25-1.sql?
[02:32] <lifeless> well, thats also going to fail.
[02:33] <lifeless> why not keep a signature of the last bytes in the file, or the mtime, or something? What are the constraints.
[02:33] <wgrant> lifeless: It'll fail in roughly 1 in a couple of billion files.
[02:33] <wgrant> Which is certainly less than ideal.
[02:34] <wgrant> But not fatal.
[02:35] <lifeless> wgrant: +1
[02:35] <wgrant> Thanks.
[02:35] <lifeless> on the file thing
[02:36] <lifeless> what are the constraints, why do we need to check that way?
[02:36] <lifeless> would a logstash consumer be a better answer ?
[02:36] <wgrant> OK
[02:36] <wgrant> So
[02:36] <wgrant> We need a solution this decade
[02:36] <wgrant> => logstash is not an option
[02:37] <wgrant> gzip seeking is expensive.
[02:37] <wgrant> So we can't just seek to the end and see what is there.
[02:38] <lifeless> so these are problems not constraints.
[02:38] <lifeless> they are obvious, the constraints aren't.
[02:38] <lifeless> when do we need it fixed.
[02:39] <lifeless> Does it have cpu limits? latency limits?
[02:39] <lifeless> imagine you're telling a particularly annoying dev about the problem for the first time :)
[02:39] <wgrant> We need to be able to progressively parse logs
[02:40] <wgrant> Ideally without gunzipping 50GB of data we've already read
[02:40] <wgrant> Every time
[02:40] <spm> wgrant: I've done ... similar, but if I understand this code I'm looking at correctly, basically pull in a buffer of gzipped data, and pass that to gzread to decode and give back.
[02:41] <spm> of course, this is C, and doing it the hard way is expected.
[02:41] <lifeless> wgrant: well, that seems unsubstantiated; really not trying to be difficult. but "why not" ?
[02:41] <wgrant> notsureifserious
[02:41] <lifeless> am
[02:41] <lifeless> also you can fingreprint a compressed file trivially
[02:41] <lifeless> so not sure why you aren't proposing that
[02:42] <lifeless> as a short term stop gap at least
[02:42] <wgrant> We could store and check the CRC, but that's probably only marginally better than the filesize here, and it involves a schema change.
[02:43] <lifeless> is that a constraint?
[02:43] <wgrant> It's a very undesirable thing, as it means I can't fix it before lunch.
[02:44] <lifeless> anyhow, short term hack - just store the gzip file length.
[02:44] <lifeless> if the files are append only
[02:44] <wgrant> How's that better than my initial suggestion?
[02:45] <wgrant> It corrupts the database
[02:45] <wgrant> And requires SQL to unbreak the history.
[02:46] <lifeless> this seems like a fraught discussion
[02:46] <lifeless> I'd rather move it to voice, or pass; We're trying to solve the same stuff, so the contention is wholly unneeded.
[02:46] <wgrant> Storing the bad size seems strictly worse than changing the check -- I can't see any benefit.
[02:46] <wgrant> Can you explain?
[02:47] <lifeless> you want to optimise handling of files, avoiding rereads; I'd do that by fingerprinting the primary source of data, not be depending on a documented-as-broken field.
[02:48] <wgrant> Oh
[02:48] <wgrant> By "gzip file length" you mean the length of the compressed file?
[02:48] <lifeless> yes
[02:48] <wgrant> Not the file length from gzip.
[02:48] <lifeless> right
[02:48] <wgrant> Can't do that, since we need to know where to seek to within the file.
[02:48] <wgrant> So we know which line to start at.
[02:48] <lifeless> yes, it would then be different for existing things in the db, but depending on how you handle repeated reads that might not be an issue.
[02:48] <wgrant> So that requires a schema change too
[02:49] <lifeless> personally, I'd do the schema change; yes it means another day or two to get the fix deployed, but its much less likely to bite you in the bum later.
[02:49] <lifeless> alternatively, use memcache to store out-of-file fingerprints and have fallback code for when thats missng, but - gnnngh, I don't really like that approach except perhaps as a stopgap.
[02:50] <wgrant> memcache is only sensible when it's not hideously expensive to recalculate.
[02:50] <wgrant> In this case we store logs for months/years
[02:50] <wgrant> Worth hundreds of gigabytes
[02:50] <wgrant> So the loss of the data is a huge problem.
[02:51] <lifeless> what seems odd to me is that we have code even attempting to process old logs; theres no high water mark ?
[02:51] <lifeless> if there isn't we have quadratic overheads anyhow
[02:51] <wgrant> It's linear over a couple of thousand files and DB rows in a single run.
[02:52] <wgrant> There's no watermark because we don't assume anything about the filenames.
[02:52] <lifeless> if you want to do a quickiefixie, I've no objection. But I do think its worth considering how to make it deal with a couple of OOM of growth.
[02:52] <wgrant> So ops can do as they please with logrotation etc.
[02:52] <lifeless> wgrant: you assume a single file can get altered though
[02:52] <StevenK> lifeless: Out of memory?
[02:52] <wgrant> lifeless: It can
[02:52] <lifeless> StevenK: order of magnitude
[02:52] <StevenK> OH! Orders of magnitude
[02:52] <wgrant> lifeless: It gets appended to throughout the day.
[02:52] <StevenK> Yeah, just got it
[02:53] <lifeless> StevenK: cool
[02:53] <wgrant> lifeless: Also, not just that it can get appended to.
[02:53] <wgrant> lifeless: We parse 10 million lines per run
[02:53] <wgrant> lifeless: Logs have well over 10 million lines.
[02:54] <wgrant> So we'd have to only store the size of the gzip file once we reached the end.
[02:54] <wgrant> Storing the physical location in the file isn't going to work, because of the trailer.
[02:55] <lifeless> sure, because thats how you're handling repeated reads (and optimising for finding-what-to-process-next).
[02:56] <wgrant> lifeless: How would you propose to do it?
[02:56] <lifeless> I'd suck stuff off of the logs as it happens and put it in a persistent queue, process it just in time from there.
[02:57] <wgrant> If I had a list of things that were good ideas, queueing up thousands of writes a second on any data store we have today would probably not be on that list.
[02:58] <lifeless> wgrant: 3K per second isn't high for amqp.
[02:58] <lifeless> wgrant: we've got several OOM headroom. Particularly for small things, which this is.
[02:58] <lifeless> well, at least two anyhow.
[02:58] <wgrant> It also prevents us from ever disabling the process, or reading historical logs.
[02:58] <lifeless> An we can shard the queues (and servers) if needed.
[02:59] <lifeless> it doesn't discard the logs, we can indeed do historical logs if needed, but they become a special case, not the general case.
[02:59] <wgrant> Anyway
[02:59] <lifeless> Disabling the process can be done a few ways; have a stateful sucker-upper; disable the consumer (and just rotate queues if we have too many 10's of GB of logs pending).
[02:59] <wgrant> That rewrite is at least 10 years away
[03:00] <wgrant> How would you do it this century?
[03:00] <wgrant> You seem to have a strong opinion that there's a better way than storing these offsets.
[03:00] <lifeless> I think that when you're re-reading append only files, storing where you got to in it is fine.
[03:01] <wgrant> 12:55:13 < lifeless> sure, because thats how you're handling repeated reads (and optimising for finding-what-to-process-next).
[03:01] <StevenK> Hmm
[03:01] <wgrant> That suggests you think it's not fine :)
[03:01] <lifeless> I think for incremental and startup performance you don't want to read the file content at all unless you have work to do, so storing a stat fingerprint along with the amount read is important.
[03:02] <wgrant> lifeless: Ah, perhaps once the number of files is about 3 orders of magnitude higher, yeah.
[03:02] <lifeless> I think that having linear growth of files to handle, which is going to jump by three in the short term, suggests that considering all files each run may have a shorter lifespan than you think.
[03:02] <wgrant> s/files/files per parser instance/
[03:02] <wgrant> lifeless: It *should* have a shorter lifespan than I think.
[03:02] <wgrant> lifeless: But it won't.
[03:03] <lifeless> so, right now, I'd do a schema patch, adding a string. I'd use bzrlibs stat finger print function to fingerprint files, and I'd set that for files where we processed to the end of the file as we saw it.
[03:04] <lifeless> I'd nag lifeless about getting near-realtime log shipping in place and prepare a cunning plan for doing it better later this year.
[03:05] <wgrant> The fingerprinting thing is completely unhelpful for the problem we've encountered here.
[03:05] <wgrant> It's an unrelated optimisation.
[03:06] <wgrant> The problem is that we have this file.
[03:06] <wgrant> We haven't completely parsed it yet.
[03:06] <wgrant> But it hasn't changed since we last tried.
[03:06] <lifeless> can you explain why that makes it unhelpful ?
[03:07] <wgrant> We can't skip based on the fingerprint check unless we only set the fingerprint once we hit EOF.
[03:07] <wgrant> Otherwise we'll skip files that we haven't completely parsed.
[03:07] <StevenK> My Any addition doesn't work. :-(
[03:07] <wgrant> And we haven't hit EOF here; that's the entire problem.
[03:07] <wgrant> So the fingerprint check is unrelated.
[03:07] <wgrant> StevenK: Oh?
[03:08] <lifeless> wgrant: I don't follow. Consider this logic:
[03:08] <StevenK> wgrant: Can you prod at http://pastebin.ubuntu.com/1074183/ after you and lifeless are done. Time for lunch.
[03:08] <lifeless> does the fingerprint match the file (no fp matches no file)
[03:08] <lifeless> onploooooooooooooopiuuuuu
[03:08] <lifeless> cat
[03:09] <lifeless> if yes, open, ungzip and seek to the last recor~6~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[03:09] <lifeless> BAH
[03:10] <wgrant> StevenK: +class Any(CompoundOper):
[03:10] <wgrant> StevenK: ANY is not a compound operator
[03:10] <lifeless> if yes, open, ungzip and seek to the last recorded offset and process from there. On halt, if we finished the file, store the fingerprint we obtained at the beginning of this.
[03:10] <wgrant> StevenK: It's a function.
[03:10] <StevenK> wgrant: It's a NamedFunc ?
[03:10] <wgrant> Right
[03:11] <wgrant> lifeless: That's precisely what I described, right.
[03:12] <StevenK> wgrant: That looks better, but I think the SQL is still bong: SELECT Branch.id FROM Branch WHERE Branch.id = 77 AND Branch.information_type IN (1, 2) AND COALESCE((Branch.access_grants)&&(SELECT ARRAY_AGG(TeamParticipation.team) FROM TeamParticipation WHERE TeamParticipation.person = 243654), false) AND (Branch.access_policy) = ANY((SELECT AccessPolicyGrant.policy FROM AccessPolicyGrant JOIN TeamParticipation ON TeamParticipation.team = Acce
[03:13] <wgrant> StevenK: Where'd the array_agg go from the APG bit? If you can remove that easily, as it seems, then just say access_policy.is_in(apgs). No need for ANY
[03:14] <wgrant> lifeless: Oh. I missed the "and I'd set that for files where we processed to the end of the file as we saw it" you said earlier as I was dying of optimism poisoning from the following line.
[03:15] <wgrant> False optimism poisoning, that is.
[03:25] <lifeless> well
[03:25] <lifeless> you can call it that
[03:25] <lifeless> anyhow
[03:25] <lifeless> whats the issue with that algorithm? How will it not work ?
[03:25] <lifeless> I'd hate to be suggesting something bong
[03:26] <wgrant> With the crucial "only set on EOF bit" that I missed you saying, it should be fine.
[03:26] <lifeless> there are other ways to fpr files, but the bzr one is shall we say battle tested.
[03:27] <wgrant> Heh
[04:10] <StevenK> wgrant: http://pastebin.ubuntu.com/1074238/
[04:13] <wgrant> StevenK: Indeed,
[04:18] <StevenK> wgrant: Indeed?
[04:18] <wgrant> StevenK: That looks roughly correct. Does it work?
[04:18] <StevenK> It returns []
[04:18] <StevenK> I think the public query should not be ANDed in
[04:18] <wgrant> Ah
[04:19] <wgrant> Yes
[04:19] <wgrant> That should be an or
[04:19] <wgrant> public OR artifact grant OR policy grant
[04:19] <wgrant> I meant the complex bits of the query looked correct :P
[04:19] <StevenK> Haha
[04:20] <StevenK> wgrant: Do you think returning the branch id is okay? I'm really interested if one of those three is True for branch.id == self.id
[04:20] <StevenK> Can't COALESCE against three, I guess
[04:21] <wgrant> StevenK: Why would you want to COALESCE against three?
[04:21] <wgrant> You basically want to SELECT 1 FROM Branch WHERE id = $BRANCH_ID AND $VISIBLE
[04:21] <wgrant> In this case you're selecting branch.id, but that's just as good
[04:22] <StevenK> Hm, still returns []
[04:23] <StevenK> Oh, but it's supposed to. I think this is the pre-subscribe check
[04:23] <wgrant> What's it meant to return?
[04:23] <wgrant> Ah
[04:24] <StevenK> wgrant: So my next question is I want something more elegant than "return Store.of(self).find((Branch.id,), conds) == [self.id]
[04:24] <StevenK> With an ending double quote
[04:25] <StevenK> And putting a list around the store, but handwave
[04:26] <wgrant> StevenK: More like 'return not store.find(1, Branch.id == self.id, $VISIBLE_FILTER).is_empty()'
[04:29] <wgrant> (Storm might not like the 1 very much, but it doesn't at all matter what it is)
[04:30] <StevenK> (1,), even?
[04:30] <StevenK> AttributeError: 'int' object has no attribute '__dict__'
[04:30] <wgrant> Yeah, it's probably trying to autotable it
[04:30] <wgrant> Which won't work well
[04:31] <StevenK> Same error with (1,) :-(
[04:31] <wgrant> Might as well just say Branch, then
[04:32] <StevenK> Yeah, we don't give a toss about what it returns
[04:40] <StevenK> wgrant: http://pastebin.ubuntu.com/1074270/
[04:41] <wgrant> StevenK: Does it work?
[04:41] <StevenK> wgrant: Nope
[04:42] <StevenK> Returns 0 rows before subscription which is fine, and 0 rows after which isn't.
[04:42] <wgrant> Have you checked the contents of AAG?
[04:48] <StevenK> No AAG created :-(
[04:49] <wgrant> That would be the issue. Missing FF?
[04:49] <StevenK> IBranch.subscribe() does not use a FF to guard
[04:50] <StevenK> Hm, maybe the sharing service still thinks subscription confers visibility
[04:53] <StevenK> Sort of. getUtility(IAllBranches).visibleByUser() needs porting
[04:53] <StevenK> Which I'm trying to work out without my brain dribbling out of my ears.
[05:14] <StevenK> wgrant: http://pastebin.ubuntu.com/1074301/
[05:16] <wgrant> StevenK: You'll want to remove the helper methods that you've eliminated references to, but indeed.
[05:17] <wgrant> StevenK: It may be worth seeing how the query looks if you reimplement the Branch method in terms of BranchCollection, as as I did with Bug.userCanView
[05:21] <StevenK> % bzr damage
[05:21] <StevenK> Using submit branch /home/steven/launchpad/lp-branches/devel
[05:21] <StevenK> Healing: 4 lines of code
[05:21] <StevenK> I approve
[05:27] <StevenK> Hm, neat. permission denied on APG
[07:03] <wgrant> stub: Hi, I've got a couple of DB reviews up for you when you have some time
[07:06] <huwshimi> This is the appropriate way to run a single test right? 'testr run -- -t lib/lp/bugs/tests/bug.py'
[07:07] <huwshimi> It should fail, but it's passing
[07:08] <stub> wgrant: k
[07:08] <wgrant> huwshimi: For Python modules you want to specify something like '-t lp.bugs.tests.bug'
[07:08] <wgrant> huwshimi: But lp.bugs.tests.bug doesn't have any tests in it. It's just a helper module.
[07:08] <wgrant> Perhaps you mean lp.bugs.tests.test_bug
[07:10] <huwshimi> wgrant: Oh, I see where I've gone horribly wrong. Thanks.
[07:16] <huwshimi> I've changed a table to a list and in lib/lp/bugs/tests/bug.py the print_bugfilters_portlet_unfilled() helper wants to grab the table and print its contents with print_table(). Any suggestions on how to print it now that it's a ul?
[07:17] <StevenK> print_table is probably defined somewhere in that test
[07:18] <huwshimi> StevenK: It's defined in lp.testing.pages
[07:18] <huwshimi> StevenK: And there doesn't seem to be print_ul or anything
[07:19] <StevenK> huwshimi: BeautifulSoup?
[07:19] <huwshimi> StevenK: You mean, just print out the contents?
[07:21] <StevenK> huwshimi: You could use a doctest matcher, but no, I don't mean just print out the contents.
[07:22] <StevenK> huwshimi: BeautifulSoup will parse the output of print_bugfilters_portlet_unfilled() and you can then inspect it with asserts.
[07:23] <wgrant> huwshimi: This is in a doctest, right?
[07:23] <huwshimi> wgrant: No, this is in the helper
[07:24] <wgrant> huwshimi: Well, yes, but it's probably eventually used by a doctest. The function prints it out, so you don't want to directly make assertions. I'd try the usual extract_text(find_tag_by_id(...)) pattern, see if that yields usable output.
[07:26] <huwshimi> I see so I just need to get it to extract the same data in the same format as the table printer was doing. I think I'm on it.
[07:27] <wgrant> Right, hopefully that's easy enough.
[07:27] <wgrant> If you can't get it exactly the same, get something that looks sensible and change the callsites :)
[07:29] <huwshimi> Thanks :)
[07:53] <huwshimi> Well, that wasn't too bad
[07:55] <adeuring> good morning
[08:11] <wgrant> :(
[08:11] <wgrant> postgres upsets me
[08:11] <wgrant> It won't use an index including 'foo IS NULL' to satisfy 'foo IS NOT NULL';
[08:18] <wgrant> czajkowski: Ew
[08:19] <czajkowski> wgrant: morning to you too
[08:19] <wgrant> Not really. But we like OpenStack, so we might be able to arrange something with a sufficient degree of evil.
[08:19] <wgrant> Indeed, morning.
[08:19] <czajkowski> wgrant: wrong channel
[08:20] <wgrant> IMO it belongs here, but I guess it's arguable.
[08:20] <czajkowski> it's early
[08:21] <lifeless> wgrant: whats the specific index its not using ?
[08:22] <wgrant> lifeless: bugsummary(distribution, sourcepackagename, tag IS NULL) WHERE distribution IS NOT NULL
[08:22] <wgrant> lifeless: It'll use that for a tag IS NULL query
[08:22] <wgrant> And if I s/tag IS NULL/tag IS NOT NULL/ on both it'll work
[08:24] <lifeless> tag is not null where distribution is null ?
[08:25] <wgrant> lifeless: Confused.
[08:25] <lifeless> wgrant: may be a stats thing not an index thing; e.g. many rows predicted
[08:25] <wgrant> lifeless: That's pretty much disproven by the fact that inverting the last element of the index causes the query to use it.
[08:25] <lifeless> oh hangon.
[08:26] <lifeless> wgrant: you say'
[08:26] <lifeless> 20:22 < wgrant> lifeless: It'll use that for a tag IS NULL query
[08:26] <lifeless> 20:22 < wgrant> And if I s/tag IS NULL/tag IS NOT NULL/ on both it'll work
[08:26] <lifeless> so both ways around work.
[08:26] <lifeless> Or you mistyped somewhere.
[08:26] <wgrant> Yes. Both ways work.
[08:26] <jml> hello
[08:26] <wgrant> But only with the matching index.
[08:26] <lifeless> so
[08:26] <wgrant> But both are satisfiable from either.
[08:26] <lifeless> bugsummary(distribution, sourcepackagename, tag IS NULL) WHERE distribution IS NOT NULL looking for 'tag IS NOT NULL' is what doesn't work ?
[08:27] <wgrant> Yes.
[08:27] <lifeless> wgrant: I presume you have a distribution in the query as well ?
[08:27] <wgrant> lifeless: Naturally.
[08:27] <wgrant> Otherwise it wouldn't use that index :)
[08:28] <lifeless> well, as it isn't using the index, I felt I should check.
[08:28] <lifeless> :>
[08:28] <lifeless> jml: elloh
[08:28] <wgrant> jml: Re. your email, that excludes test deps, I guess?
[08:28] <lifeless> wgrant: so why index tag IS NULL; looking for the specific sub summary?
[08:29] <wgrant> lifeless: We currently maintain separate indices on tag IS NULL and tag IS NOT NULL
[08:29] <wgrant> Was trying to avoid that.
[08:29] <lifeless> hmm, I forget the detail
[08:29] <lifeless> have you tried DISTINCT FROM ?
[08:30] <lifeless> wgrant: and NOT tag IS NULL ?
[08:30] <jml> wgrant: yes, the output. the script is just a Pythonically aware grep for 'import'
[08:31] <jml> wgrant: I'm probably going to buff it up so it recurses directories (or maybe packages)
[08:32] <jml> and ignores internal imports
[08:33] <jml> and then maybe consults some kind of db to figure out which things are modules and which aren't
[08:34] <jml> but, you know
[08:36] <wgrant> lifeless: NOT (tag IS NULL) has the same behaviour as tag IS NOT NULL
[08:36] <wgrant> Which doesn't really make much sense.
[08:36] <stub> wgrant: It never will, because an IS NULL index contains no information about rows without a null in that column.
[08:36] <wgrant> stub: Not a partial on tag IS NULL
[08:36] <wgrant> stub: But an index with the boolean "tag IS NULL" as one of its elements.
[08:37] <lifeless> computed indices are evil
[08:37] <lifeless> wgrant: why doesn't NOT (tag is NULL) behaving the same as tag IS NOT NULL, not make sense ?
[08:38] <wgrant> lifeless: While you're here, what do you think about soren's question in #launchpad? We'd need to set archive.signing_key on the new PPA fairly soon after creation.
[08:38] <wgrant> lifeless: Well, it was possible that it didn't consider IS NULL and IS NOT NULL to be inversions of the same operator.
[08:38] <wgrant> But it clearly does.
[08:39] <lifeless> I was hoping it might :)
[08:39] <lifeless> what about DISTINCT FROM ?
[08:40] <lifeless> uhm, so I think doing what soren asks would be good; be better to automate it (at least to the extent of sysadmin only apis).
[08:40] <lifeless> or sometihng.
[08:41] <lifeless> I'm not a huge fan of manual fiddling, but this is a case where our model makes decisions more stressful for users, its largely incumbent on us to deal with the side effects.
[08:41] <wgrant> Exactly.
[08:42] <wgrant> Although APIing this sounds beyond perilous.
[08:43] <stub> I think NOT( ) has to assume the contents of the parenthesis is true, false or null. IS NOT NULL is a single operator and it is known it returns true or false.
[08:44] <stub> wgrant: You go into detail about bugsummary journaling performance, but isn't that irrelevant for writes atm?
[08:45] <wgrant> stub: Not at all. It's the most expensive bit of big bug updates apart from the usual Storm n+1 query thing.
[08:46] <stub> wgrant: Yes, and are big bug updates a performance problem?
[08:46] <wgrant> stub: We have about 3 timeout bugs about them.
[08:46] <wgrant> eg. approving Linux SRUs
[08:46] <stub> Do you know what sort of number of bugs are being done in a batch?
[08:46] <wgrant> Can create about 50 tasks in one transaction, because the kernel team are insane.
[08:47] <wgrant> We end up with bugs with 80ish tasks, 2/3 of them created in one transaction.
[08:47] <wgrant> If the bug has 8 tags, which is fairly common, that's a lot of journal rows.
[08:47] <wgrant> The last task will unjournal 79*8*afew rows, journal 80*8*afew rows.
[08:47] <stub> Hmm... So I'm not against performance improvements, just improving performance doesn't really solve scalability problems.
[08:48] <wgrant> It stops bulk task addition from being quadratic.
[08:48] <stub> We can fix it so creating 80 tasks works on our hardware in a single transaction, then some sod will try and create 81.
[08:51] <stub> And things like dropping foreign key constraints mean we should have DELETE triggers too (they are there already I think?)
[08:51] <wgrant> stub: Well, the FKs really shouldn't have been on these tables at all. They actually cause correctness bugs.
[08:52] <stub> We normally don't bother with them in this situation. Can't recall why we had them.
[08:52] <stub> I'm wondering if we rely on ON DELETE CASCADE behaviour somewhere.
[08:52] <wgrant> We don't.
[08:52] <wgrant> Even if we did, it would be wrong.
[08:53] <wgrant> Since the deletion process would also remove the references in the original tables.
[08:53] <wgrant> Which would create journal entries.
[08:53] <wgrant> So you'd end up with negative counts in bugsummary after journal rollup.
[08:54] <wgrant> Negative counts are bad :)
[08:54] <wgrant> Though we have some :/
[08:55] <wgrant> 289 bugsummaryrows with count < 0 :/
[08:56] <stub> That would be a logic flaw somewhere in the triggers, wouldn't it?
[08:57] <wgrant> There's a lot of corruption in Ubuntu's kernel bugs. I've identified a couple of bugs in the initial population code that cause some of them, but it doesn't explain all of it.
[08:57] <wgrant> The triggers themselves weren't significantly buggy AFAICT. Just the initial population query.
[08:58] <wgrant> lifeless: Given https://pastebin.canonical.com/69406/  I propose https://pastebin.canonical.com/69407/
[09:04] <stub> wgrant: I wonder if we should dump doing this in triggers entirely, but I guess that would require reliable async job processing.
[09:05] <jam> mgz: did you see that there is one more failing test on python-2.7? It looks like a doctest that is (again) overly sensitive.
[09:05] <wgrant> stub: I came close to doing that when doing BugTaskFlat, but before we can sensibly do that we need both reliable async job processing and something resembling a sensible data access layer in the app.
[09:10] <stub> r=stub
[09:13] <wgrant> stub: Thanks.
[09:14] <wgrant> stub: Other disclosure stuff (that doesn't touch the existing bugs model so directly) is using celery-based eventual consistency fairly extensively.
[09:16] <stub> Yeah, just wondering if we are investing too much in rabbit. Complex beast, and more complexities to ensure we don't drop tasks.
[09:17] <stub> Using PG as the task queue for celery could suit us much better, and I think celery supports that out of the box.
[09:18] <wgrant> Indeed, although it hasn't been problematic yet, and we're not using it for absolutely critical stuff.
[09:19] <stub> IIRC We haven't chosen it for some things because of this problem, or chosen more convoluted implementations.
[09:25] <wgrant> stub: Right, the recent port of the classical job system to celery involves a regular task to reschedule jobs that remain pending but without a rabbitmq job.
[09:25] <wgrant> We don't have pure-rabbit jobs.
[09:25] <stub> Yer, that extra complexity.
[09:25] <stub> Is that generic, or do we have to do this every time?
[09:26] <stub> Guess you get it if you use the lp job system.
[09:27] <wgrant> stub: It currently only support branch scan jobs, I believe, but it's pretty simple to genericise. I imagine it will be once it's fully deployed and tested for branch jobs.
[09:30] <lifeless> wgrant: +1
[09:31] <wgrant> lifeless: On the signing_key SQL?
[09:31] <lifeless> yes, caveat being to follow the normal procedure :)
[09:31] <wgrant> Of course, thanks.
[10:36] <jam> lifeless: I thought we didn't run tests for code that wasn't launchpad proper. I'm getting a test failure on python-2.7 inside the launchpadlib test suite (in the egg)
[10:43] <jam> and the plot thickens. As near as I can tell, you run the lplib tests by running "python setup.py test", but that suite doesn't load the doctests... so they are only being run by launchpad bin/test, and it is in an egg, so we need a new version of launchpadlib, a new release, and then updating the versions.cfg file
[10:43] <jam> bac: I noticed you are prominent in launchpadlib development. Can I ask you some questions?
[10:44] <czajkowski> jam: dont think he's on today
[10:44] <jam> czajkowski: thanks
[10:44] <jam> I imagine neither is benji, or anyone else in the US
[10:44] <czajkowski> jam: as is most of USA
[10:53] <wgrant> jam: Some launchpadlib tests only run as part of the Launchpad test suite, since they need to test against Launchpad.
[10:54] <Bert_2> Hi, I'm about to do some changes to my newly rockfuel'ed launchpad, now I am to make some config changes to prevent launchpad from going into dev mode, I was hoping to use this page: https://dev.launchpad.net/WorkingWithProductionConfigs but while it says it describes editing configuration it actually doesn't seem to explain anything else apart from repo and branch stuff (which are not as important as getting out of devmode), so help ?
[10:57] <jam> wgrant: so if I have a fix for a launchpadlib test, I have to get it committed into launchpadlib trunk, then officially packaged and uploaded, then update versions.cfg, right?
[10:58] <jam> but I can't run that test outside of launchpad itself...
[10:58] <jam> wgrant: do you just hack the code in the egg directory directly?
[10:59] <wgrant> jam: You're correct on all counts.
[11:00] <jam>  /cry
[11:02] <wgrant> Bert_2: That page mostly documents how Canonical LP engineers should work with our production configs. The closest thing to a public production config example is the old configs from before the open-sourcing, in r8666. Are you aware of the trademark and copyright restrictions that apply to the Launchpad name and images?
[11:03] <Bert_2> wgrant: I'm not fully aware of that no, I thought I should only remove the launchpad logo
[11:04] <wgrant> https://dev.launchpad.net/LaunchpadLicense
[11:04] <Bert_2> k, so basically if I lose the logo and icons and ask permission to use the name launchpad I'm fine ?
[11:05] <jam> and the hole deepens. The specific contents of the config file is set by lazr.restful.authorize_auth.OAuthAuthorizer...
[11:05] <wgrant> Bert_2: You'd be best off changing the name.
[11:05] <wgrant> jam: You need to change the config file?
[11:05] <jam> wgrant: we have a doc test that asserts the exact bytes of the content
[11:06] <jam> and in py2.7 it changed 2 things (a blank entry now has a trailing space, and the order is changed)
[11:06] <jam> I'm guessing the ordering is defined by iter(dict)
[11:06] <jam> and that 2.7 just does it differently.
[11:06] <jam> It was a very brittle test, waiting to break
[11:07] <Bert_2> wgrant: and can that be done through the configfile or am I forced to change the name by hand in every python file ?
[11:07] <wgrant> jam: Oh, lovely. Can you just change the test to be a bit more flexible?
[11:08] <jam> wgrant: I was thinking to put a "sorted()" around it, yeah.
[11:08] <wgrant> Bert_2: There's no config option. The one other production instance I know of basically ran sed over all the python files and templates.
[11:08] <jam> I'm just struggling to even run it in isolation :). I think I at least have a plan of attack.
[11:08] <wgrant> jam: Heh
[11:09] <Bert_2> wgrant: alright, that can be done, and how about going from development to production mode, how's that done, cause the wikipage isn't all that clear :S
[11:10] <wgrant> Bert_2: You'll see the existing public configs under configs/
[11:10] <wgrant> You select a config to use with the LPCONFIG environment variable. It defaults to 'development'.
[11:10] <jam> wgrant: so I think I'm going to monkey patch ConfigParser.SafeConfigParser in part of a doc test. That sounds sane, right? :)
[11:10] <cjwatson> Any objection to me updating the copyright year in LaunchpadLicense?
[11:10] <wgrant> cjwatson: I was going to do that myself, but feel free :)
[11:11] <cjwatson> Done
[11:11] <jam> (no monkey's will be patched, I swear)
[11:11] <wgrant> Bert_2: I'd copy the development config, and fix up the paths and domains. In launchpad.conf of your new config, remove the 'devmode on' line. Most of the settings are in launchpad-lazr.conf.
[11:11] <wgrant> jam: If it works...
[11:12] <Bert_2> wgrant: alright, so if I change paths, domains, the devmode line and then the usual emailaddresses and numbers for question deprecation etc. I'm fine ?
[11:14] <ivory> gmb: could you take a look at this? https://code.launchpad.net/~ivo-kracht/launchpad/bug-921901/+merge/113234
[11:15] <gmb> ivory, Sure - thought the topic's out of date :)
[11:18] <wgrant> Bert_2: IF you want it to send email you'll also have to reconfigure a couple of things. zcml/package-includes/mail-configure-normal.zcml redirects all email to root@localhost, and you might want to enable the immediate_mail.send_email in launchpad-lazr.conf as well. You might also want to do away with the sampledata, and instead create a clean DB using the scripts in https://code.launchpad.net/~wgrant/launchpad/bootstrap-db-from-scratch
[11:19] <Bert_2> wgrant: awesome, I thought going out of devmode would give me a clean db, so thx for saving me the frustration :D
[11:27] <wgrant> Bert_2: Changing an appserver configuration file fortunately won't erase your database :)
[11:43] <Bert_2> wgrant: I thought the database was generated by a python script that read the config, but I didn't really take the time to read the sourcecode, I've barely been out of exams and this development platform is rather important for our student's body
[11:52] <jam> wf
[11:52] <jam> wgrant: do you have any experience rolling out an updated EC2 AMI?
[11:56] <jam> I found EC2Test on the wiki, I'll try following that one
[11:58] <wgrant> jam: Why do you need to?
[11:58] <wgrant> But yes, that page is correct.
[11:59] <jam> wgrant: we want to get the test suite running w/ python-2.7
[11:59] <jam> so that we can get production moved to precise afterwards
[11:59] <wgrant> jam: Not until we've scheduled it on production we don't.
[11:59] <jam> wgrant: I'm working with flacoste to do... 1) upgrade db-devel to run py2.7 along with ec2-test running py 2.7
[11:59] <jam> and then leave devel running 2.6
[12:00] <jam> once we have both passing
[12:00] <jam> then we can upgrade prod
[12:00] <jam> but we can't upgrade prod until we know it works, and have a clean test suite.
[12:01] <jam> he wants ec2-test to fail early rather than going into testfix on db-devel, and buildbot will run on devel w/ 2.6 before it goes to qastaging
[12:01] <wgrant> I'm not sure it's a great idea to upgrade ec2 unless we know we're going to be upgrading production within a very few weeks, or we're going to be in trouble when people start using 2.7isms and breaking buildbot.
[12:01] <jam> wgrant: so we need a migration path, which I was asked to work on. Certainly each step gets reviewed, etc.
[12:02] <wgrant> Sure.
[12:02] <wgrant> Let's not just actually deploy the 2.7 image to everyone until we have a schedule worked out.
[13:06] <flacoste> wgrant: the plan is to upgrade quickly, really not more than a few weeks
[13:30] <rick_h_> adeuring: ivory https://plus.google.com/hangouts/_/3dd64d7a6ec2e029e3e9abfc99a72a95ff0bef6c?authuser=0&hl=en-US
[14:07] <jam> mgz: did you see my python-upgrade bug? I submitted a fix for it to launchpadlib
[14:08] <mgz> I saw the mp
[14:08] <jam>  it will take a bit to finish that one off, but that was the last failure after manually merging your branches.
[14:08] <jam> mgz: did they all land in trunk?
[14:08] <mgz> guess I can review that? not sure what the funny lp reviews system applies to
[14:09] <mgz> ^jam, yup landed now and tickets moved horizontally with lp2kanban
[14:54] <jam> mgz: what is the approval process for launchpadlib code?
[14:54] <mgz> jam: no idea, my experience has been "bug someone after mp has been forgotten by everyone"
[14:54] <mgz> or was that a lazr thing...
[14:55] <jam> mgz: I think it is a more-than-one-projects thing
[14:55] <jam> but everyone I've seen in launchpadlib on lp's "active in this project" is asleep or on holiday. so I might try later.
[14:55] <jam> eg, tomorrow
[14:55] <bac> jam: have a look at https://dev.launchpad.net/HackingLazrLibraries
[14:56] <jam>  /wave bac, not doing July-4 stuff yet?
[14:56] <bac> jam: it has good stuff, especially if you need to make a release
[14:56] <bac> bah, our founding fathers would be embarrassed by our slothful coworkers.  :)
[14:56] <mgz> we probably don't need a release, if we can just bump the lp dep to a specific revno
[14:57] <jam> mgz: it is an egg, not a sourcecode
[14:57]  * mgz is not sure if that's a done thing though
[14:58] <jam> bac: so who actually commits stuff to launchpadlib trunk?
[14:59] <bac> jam: i think the short answer is 1) make a dev branch, don't work in your copy of trunk, 2) make a MP and get it reviewed, 3)  merge to trunk and commit with a good message including [r=reviewer], 4) push.  you'll then need to decide on whether to make a release, create an egg, and bump versions.cfg in a LP branch.  probably best to just read that long wiki page, now that i think about it.
[14:59] <jam> (a member of the lazr-developers team)
[14:59] <jam> bac: oh, I know all about that stuff :)
[14:59] <jam> I've done 1-3
[14:59] <jam> "merge to trunk", you just do it directly?
[14:59] <jam> or it goes through pqm (the page says pqm)
[14:59] <bac> jam: yep
[14:59] <bac> no bots
[15:00] <bac> oh really?  ok, my memory is faulty then
[15:00]  * bac defers to the wiki
[15:00] <jam> I'm not sure I'm in lazr-developers
[15:00] <jam> I'm in launchpad
[15:00] <jam> (launchpad-dev? whatever that group is)
[15:02] <jam> bac: looks like I can commit straight to lp:launchpadlib
[15:02] <bac> jam, you should be in this group, indirectly: https://launchpad.net/~lazr-developers
[15:02] <bac> yep
[15:03] <jam> bac: it looks like 'bin/test' doesn't run the doctests either. Only running "bin/test" in launchpad itself, but not in launchpadlib
[15:04] <bac> yes, iirc getting the test to run is done via a LP branch
[15:08] <ivory> abentley: could you review this for me? https://code.launchpad.net/~ivo-kracht/launchpad/bug-562532/+merge/113414
[15:08] <abentley> ivory: sure.
[15:09] <abentley> ivory: How does that remove a page request?
[15:10] <ivory> abentley: allthe other edit buttons are sprite icons, only those were <img> tags
[15:13] <abentley> ivory: I'm used to sprites looking like '<span class="add sprite">'.  Why is this one different?
[15:14] <rick_h_> abentley: it's removing the request to: https://launchpad.net/@@/edit via the src of the <img> tag. and referencing the sprite in the CSS.
[15:16] <abentley> rick_h_: ivory already answered that.  Do you know what's up with this <button class="lazr-btn yui3-activator-act">?  I'm used to sprites looking like '<span class="add sprite">'.
[15:16] <jam> bac: I cannot register with pypi, as my user doesn't have perms. I've done the upload and changes to trunk.
[15:16] <jam> bac: do you have rights and can 'bin/buildout setup . register' for me?
[15:17] <ivory> abentley: i just copied it, i cant really tell you why it lookslike that ...
[15:17] <rick_h_> abentley: ah no, I'm guessing he copied it from somewhere.
[15:17] <rick_h_> ivory: where did you grab it from?
[15:17] <ivory> rick_h_: from the other implementaions of that icon
[15:18] <jam> bac: I'm leaving for end-of-day now. If you get a chance, please do. Or poke benji to do so? I'll try to address it tomorrow if it hasn't happened yet.
[15:19] <abentley> ivory: Okay, if there's no reason not to use "sprite edit", I think we should do it that way.
[15:21] <rick_h_> abentley: adeuring heads up, afk for a sec while I pick up the family from the parade. brb
[15:21] <adeuring> rick_h_: ack
[15:35] <bac> jam: ok, i'll look at it
[15:37] <czajkowski> bac: thought you weren't around today ?
[15:43] <bac> czajkowski: i decided to work today and bank a swap day.
[15:46] <beuno> how independent of you
[15:47] <bac> beuno: yeppers
[15:50] <czajkowski> bac: cool
[16:31] <ivory> abentley: wouldn't the icon be on the other side if "sprite edit" is used?
[16:34] <ivory> abentley: additionally i should mention that the <button class="lazr-btn yui3-activator-act"> is already used in this template
[16:35] <abentley> ivory: I wouldn't think so.  In any case, "lazr-btn yui3-activator-act" does not mean "edit icon" to me, and I doubt it would for most LP developers.
[17:13] <bac> jam: lplib 1.10.1 uploaded to pypi.  thanks for the fix!
[17:13] <czajkowski> bac: abentley would one of you mind lookinat https://bugs.launchpad.net/launchpad/+bug/1020983  I don't know about receipes . please.
[17:13] <_mup_> Bug #1020983: Recipe default text versioning is wrong <Launchpad itself:New> < https://launchpad.net/bugs/1020983 >
[17:43] <bac> czajkowski: he may have a point in that bug.  i'd mark it triaged/low.
[17:46] <czajkowski> bac: ack
[18:03] <lifeless> jam: wgrant: pass --develop to buildout to point it at the launchpadlib source tree and you can edit it in situ - it won't use the egg.
[18:04] <abentley> czajkowski: I know about bzr, but not about packaging.  IMO, he's wrong-- the version number is unique, can't be confused with a release version number, and that's all that's required.
[18:07] <lifeless> abentley: there is another constraint you have missed, and that the bug filer hasn't called out either.
[18:08] <lifeless> abentley: but I think its what motivates the filing; the packages produced by the recipe should version higher than the package they are derived from but lower than the next version of that package.
[18:09] <lifeless> I'm not entirely sure his proposals are much better at that, though they will handle some cases better.
[18:10] <abentley> lifeless: I think this is a distributed numbering problem that can't be completely solved.
[18:12] <abentley> lifeless: It's quite possible that a point release "should" version lower, and I think it's possible for reasonable people to disagree on which should version lower.
[18:13] <abentley> lifeless: Depending on the nature of the branch, of course.
[18:17] <lifeless> yah
[18:18] <lifeless> I guess I'm mainly advocating that we get a clear understanding of what the default intends to achieve and document that somewhere discoverable.
[18:18] <lifeless> then, if the default is mismatched with our intent we can change it, and bugs that want to change our intent we can actually reason about
[18:27] <abentley> lifeless: that makes sense.
[18:37] <abentley> lifeless: So if we grant that we want to sort later than the version of the packaging we're based on, that suggests we should use debversion, not debupstream.
[18:38] <lifeless> I agree.
[18:38] <lifeless> I wonder if we wrote our original intent down, perhaps in a doctest or something.
[18:39] <abentley> lifeless: It was me and james_w flailing around, IIRC.
[18:39] <lifeless> hah :)
[18:40] <abentley> lifeless: I believe we were using debversion originally, so there may be a related MP.
[18:44] <lifeless> or something in bzr log
[18:45] <lifeless> ok, time to prep for my joy of joy 3 1/2 hours of meetings.
[18:51] <abentley> lifeless: bug 652109 inspired this self-reviewed proposal: lp:~thumper/launchpad/recipe-default-version into lp:launchpad and I don't think there was any discussion of whether debversion would be more appropriate as a default.
[18:51] <_mup_> Bug #652109: Default Recipe text should contain {debupstream} <lp-code> <qa-ok> <recipe> <Launchpad itself:Fix Released by thumper> < https://launchpad.net/bugs/652109 >
[18:52] <abentley> lifeless: sorry, proposal url: https://code.launchpad.net/~thumper/launchpad/recipe-default-version/+merge/41663
[18:52] <lifeless> abentley: cool archaeology :)
[18:53] <lifeless> so, we're doing a drunkards walk more or less; might be time to take another step :)
[18:53] <lifeless> anyhow, I have to run - sorry.
[19:16] <jam> bac, lifeless: Unfortunately, it appears that someone a
[19:17] <jam> made a launchpadlib 0.10.0 which was not landed in launchpad itself
[19:17] <jam> because it breaks the test suite
[19:17] <jam> (issues with doctests expecting a reply_token? to be valid and not None)
[19:18] <jam> so we'll need an 0.10.2 after I can sort it out. It looks like benji did the 0.10.0, I wonder if he meant to land it, but found out late it broke the doctest suite because it doesn't run via 'bin/test' in launchpadlib alone.
[19:18] <jam> lifeless: i also haven't tracked down how you specify --develop to bin/buildout, since it seems to want a command first.
[19:27] <abentley> lifeless: https://dev.launchpad.net/Code/RecipeBuildDebversioning
[19:38] <lifeless> jam: https://dev.launchpad.net/HackingLazrLibraries?highlight=(buildout:develop)
[19:38] <jam> lifeless: thanks
[19:38] <lifeless> applies to LP itself too
[19:52] <cjwatson> I noticed launchpadlib test failures somewhere a few days ago, which then went away.  Is it possible 0.10.0 landed briefly and then was reverted?
[19:52] <cjwatson> (I'm afraid I don't remember the failures.)
[21:44] <lifeless> cjwatson: is sbsign intended to be 64-bit only? what about arm...?
[22:24] <cjwatson> lifeless: not this month's problem
[22:25] <lifeless> cjwatson: is that 'no its not' ?
[22:25] <cjwatson> the interface doesn't mandate 64-bit-only, it's just that that's all that's implemented right now because that's the urgent bit
[22:25] <cjwatson> or rather amd64-only
[22:25] <lifeless> gotchya
[22:26] <cjwatson> (I didn't write sbsign, just did the integration - but it's all the same binary format for UEFI so I'd be fairly surprised if it weren't basically trivial to adjust)
[22:27] <cjwatson> I'm told Steve has a patch to make it handle i386, at least, but I didn't have that to hand when doing the QA
[22:27] <lifeless> I'm just being nosy
[22:27] <lifeless> 100% curiosity
[23:31] <StevenK> wgrant, wallyworld: https://code.launchpad.net/~stevenk/launchpad/drop-populate-branch-aag/+merge/113467
[23:57] <StevenK> wgrant: And it seems BranchCollection makes use ClassAlias, so access_{policy,grants} might have to be added to the model.


[21:03] <AndrewMcC> Evening folks! Does anybody have any experience with document management systems? Open source, obviously, preferably available through apt-get.
[21:03] <AndrewMcC> I've recently got a scanner, and I just have too much paper to organise.
[21:06] <moylan70> only on windows unfortunately
[21:06] <moylan70> i keep meaning to setup my phone as a scanner but never seem to get around to it on linux
[21:18] <czajkowski> AndrewMcC: off hand no, but have you looked in the software center for apps
[21:28] <AndrewMcC> czajkowski: Will have a look, thanks.
[21:29] <AndrewMcC> moylan70: Your phone could upload any photos to Dropbox or U1, have a server somewhere pick them up and you're nearly there ;)
[21:30] <moylan70> pretty much it's independent of the computer, have a staging area plus holder to position phone over book or document


[02:42] <Townsend> So can I have my ban removed please, and thank you?
[02:52] <IdleOne> Not at this time
[02:52] <IdleOne> come back in 2 weeks and we can see then
[02:53] <IdleOne> assuming you are talking about the ban in #ubuntu
[02:54] <IdleOne> Townsend: was there anything else?
[02:55] <Townsend> What?
[02:55] <Townsend> It has been over a month.
[02:55] <Townsend> Wow.
[02:55] <IdleOne> @comment 52949 told Townsend to come back in 2 weeks to discuss removal of ban in #ubuntu
[09:13] <AlanBell> PAM is plugable authentication modules
[09:14] <AlanBell> ubottu: PAM is <reply> PAM is plugable authentication modules
[14:20] <h00k> missed it, it's ubuntu-phone for that
[14:20] <h00k> whoops.
[15:25] <h00k> !away > qos|away
[19:10] <bazhang> My Pet Bash. by O'Reilly
[19:29] <bazhang> superdmp does not seem to understand "not supported"
[22:40] <Jordan_U> Interesting, that's the second time I've seen someone in #ubuntu use the !lista variant rather than just !list.
[22:41] <k1l_> i ll never understand why the italians do that


[00:08] <oerheks> disks tool can do that, for years
[00:09] <bray90820> You mean The one that coems with ububtu?
[00:10] <Bashing-om> bray90820: Too: https://help.ubuntu.com/community/Smartmontools .
[00:11] <bray90820> Yeah I used that and it appered that my drive was Ok
[00:12] <bray90820> Ok Just tested it appears something is weird with my windows VM so nevermind any of this
[00:23] <tpanarch1st> Hello, Ubuntu can't find icu or pkg-config which I need to address an error, many thanks :)
[01:04] <tpanarch1st> hey, sorry libera.chat throws me off at periodic intervals. Were there any responses please
[01:05] <sarnold> tpanarch1st: no, you quit basically immediately, it's pretty rare for anyone to answer after someone's left :)
[01:05] <oerheks> https://launchpad.net/ubuntu/+source/icu
[01:05] <oerheks> to file a bug,
[01:05] <oerheks> !bug
[01:06] <oerheks> yeah, you quit yoursel f, likely * tpanarch1st has quit (Quit: Client closed)
[01:06] <tpanarch1st> sarnold - yes I can imagine it appears rather rude, every so sorry, sometimes it can take hours before somebody replies - which of course I don't mind - but you end up swapping web window and then this connection then decides to disconnect on you! It's highly frustrating.
[01:07] <oerheks> ...
[01:07] <tpanarch1st> no, I didn't deliberately quit :)
[01:07] <oerheks> if the client got disconnected, it pings time out.
[01:07] <sarnold> tpanarch1st: try running: apt policy pkg-config pkgconf  -- install whichever one is in main
[01:07] <sarnold> 2024-03-16 00:25:01 -!- tpanarch1st<EMAIL_ADDRESS>has quit [Quit: Client closed]
[01:08] <sarnold> the irc server received a graceful quit message from your irc client
[01:08] <tpanarch1st> I can only swear on my life that I simply switched browser tab and was doing something else for a while. I'm using web.libera.chat
[01:08] <tpanarch1st> (Google Chrome for Linux)
[01:08] <sarnold> ah. I wonder if your web client puts tabs to sleep when they're not visible?
[01:08] <tpanarch1st> I think it may - it's blooming annoying!
[01:09] <tpanarch1st> thanks sarnold :)
[01:09] <oerheks> never had those issues with chrome and firefox
[01:10] <tpanarch1st> oh yeah I didn't know if there was any known issues between Google Chrome for Linux, web.libera.chat and yourselves :)
[01:11] <tpanarch1st> sarnold I got Unable to locate package install
[01:11] <sarnold> tpanarch1st: hah, sorry, the "-- install .. " is just normal english ;)
[01:11] <tpanarch1st> oh woops!
[01:13] <tpanarch1st> sarnold pkg-config:  Installed: (none) Candidate: 0.29.1-0ubuntu4 Version table: 0.29.1-0ubuntu4 500  500 https://fr.archive.ubuntu.com/ubuntu focal/main amd64 Packages
[01:13] <sarnold> tpanarch1st: that's the one, sudo apt install pkg-config
[01:14] <tpanarch1st> sarnold thanks that's done that - then there's ICU :)
[01:16] <sarnold> tpanarch1st: sudo apt install libicu66 libicu-dev  -- you might also need icu-devtools, it depends what you're doing with it I guess
[01:16] <tpanarch1st> are it's FreePBX to install their user portal :)
[01:17] <tpanarch1st> i'm having super fun and games. To save some typing both ways, my VPS company wouldn't allow me to use a .iso so I couldn't install the official distro.
[01:18] <sarnold> that's a bit weird but very few cloud environs start from an iso, instead they'll start from an already-installed system image and run a user-supplied cloud-init script to configure users, ssh keys, etc
[01:18] <sarnold> s/environs/machines/  or something like that, heh
[01:22] <tpanarch1st> ah fsir sarnold - well that's installed that.
[01:25] <tpanarch1st> Next (I don't expect (nor have any right to expect) you to answer this unless you want to - so just open to anyone if you prefer) - the freepbx interface has the ability to add a Let's Encrypt certificate. That process has reported as successful. I have an FQDN, as you'd probably expect from my VPS company and a dedicated IP. Currently, the PBX web
[01:25] <tpanarch1st> interface can be accessed via the IP/admin or the FQDN/admin - it makes no odds whether I type https:// or http currently. Either way, i'm getting the dreaded insecure warning :)
[01:27] <sarnold> tpanarch1st: I suggest starting with https://www.ssllabs.com/ssltest/analyze.html?viaform=on&d= and seeing what it reports about your site, it might say that you've misconfigured the certificate chain, or that's missing entirely, or poor algorithm choices, etc..
[01:30] <tpanarch1st> ah fair sarnold - it suggests that it is uncontactable
[01:30] <tpanarch1st> I currently have Fail2ban installed if this makes any difference
[01:30] <sarnold> it might
[01:31] <sarnold> your VPS might have a firewall in place, too; amazon and some others call them "security groups" (a name I detest, but they didn't ask me first)
[01:31] <tpanarch1st> oooh i'd be happy if it did, how might I find out please
[01:32] <tpanarch1st> I guess though, that this may be stopping let's encrypt from doing it's thing - but - I would have thought that the let's encrypt cert would not have been successful on install in the first place...
[01:34] <sarnold> hmm, good points; letsencrypt can work through a few different methods, though, and perhaps the certbot network requirements are open enough, but standard web requests aren't?
[01:35] <sarnold> checking if you've got cloud-provided firewalling in place is pretty hard, there's no standard for that. if there's a web interface, it's probably under a "firewall" or "routing" or "security" heading of some sort. if you're using tools like nova and neutron, I'm not sure where it'd be :) but probably neutron would be where I'd start looking
[01:45] <tpanarch1st> sarnold thanks for this - i've raised a ticket with them but I don't expect much as it is an unmanaged service. Is there anything else that I can check that is within my control please?
[01:45] <sarnold> tpanarch1st: yeah; check with sudo ss -tnlp   to make sure that your web server is listening on the IP addresses and ports that you expect
[01:46] <sarnold> tpanarch1st: check sudo iptables -L   to see if the rules look roughly right .. i'm very poor on iptables, and even worse at netfilter :(
[01:49] <tpanarch1st> just running those now - do you have a preferred pastebin please
[01:49] <tpanarch1st> sarnold *
[01:49] <sarnold> tpanarch1st: https://paste.debian.net is nice
[01:49] <tpanarch1st> ah I use that too!
[01:49] <sarnold> tpanarch1st: but whatever you like using, hehe
[01:49] <tpanarch1st> well, to be fair I am talking in ubuntu so i suppose the debian one shouldn't be a big surprise :)
[01:50] <sarnold> yeah, it gets way more use than eg the fedora one, hehe
[01:52] <tpanarch1st> hah - here's command 1 sarnold https://paste.debian.net/1310859/
[01:52] <tpanarch1st> do you prefer me to tag messages or not tag messages by the way
[01:53] <sarnold> either way is fine right now, things are pretty dead, so these stand out nicely even without the highlights
[01:53] <tpanarch1st> awesome - thanks :) Here's command 2 https://paste.debian.net/hidden/ef23d56b/
[01:54] <sarnold> tpanarch1st: aha, so apache is listening on port 80, so it can serve http no trouble, but it isn't listening on 443, so it won't do https
[01:54] <tpanarch1st> awesome, now we might be getting somewhere!
[01:56] <sarnold> so, i haven't really done apache in ages .. I think you're looking for something like "sudo a2enable ssl" but i'm not entirely sure what next :(
[01:57] <sarnold> .. hopefully the letsencrypt folks have some handy documentation for that :)
[02:00] <tpanarch1st> sarnold thank you so much :) I shall have a look at that and will probably be back :)
[02:01] <sarnold> tpanarch1st: cool, good luck :) I'm going to head out soon, so the highlights would be nice for anything else :)
[02:01] <chonkin> oerheks   okay here is the current state of the workstation  https://dpaste.com/6KZCWN89R     What should I try next?
[02:03] <tpanarch1st> thanks sarnold - apparently it needs certbot, is that as simple as "which certbot" please
[02:03] <sarnold> tpanarch1st: probably! :) sudo apt install certbot
[02:04] <tpanarch1st> thanks so incredibly much for your kindess!
[02:04] <tpanarch1st> kindness**
[02:06] <sarnold> sure thing :) have a good night, morning, etc :)
[02:22] <chonkin2538> Anyone want to try this one?   https://askubuntu.com/questions/1507648/kde-plasma-5-gui-elements-lag-terribly-after-large-compiles-lag-is-so-bad-the
[02:30] <sarnold> so, it's a gigantic wild guess, but this sure reminds me of kernel memory leaks
[02:31] <sarnold> chonkin2538: try running slabtop soon after booting, grab a copy of the output, and check it over and over again and see if there's any slabs that move to the top of the list or just keep growing more than you'd expect
[02:32] <tpanarch1st> just in #httpd trying to get to the bottom of this one lol
[02:32] <sarnold> chonkin2538: when the system is unhappy, grab another copy of the output before rebooting, then you can compare very early vs very late...
[02:33] <sarnold> tpanarch1st: ah good luck there :) I understand the debian / ubuntu config format is pretty different from the apache upstream config format and that they tend to get grumpy about what's packaged...
[02:38] <chonkin2538> sarnold  I am now experimenting with this again.  I did a compile.  It caused the lag. I am not rebooting.  I have disabled all internet connections and closed all windows and all terminals.
[02:38] <chonkin2538> I was able to close out matlab completely, without rebooting.
[02:39] <chonkin2538> I can do anything you want me to try. I can top. I can ps aux. I can give you free -h memory.  GPU memory free.  Swap file sizes.   Motherboard temps. Anything
[02:41] <chonkin2538> I am absolutely confused as to how a computer could be lagging this hard  witout the memory being full and without a single sign of a misbehaving process.
[02:41] <chonkin2538> One theory is that the ethernet port is heating up and the OS is continually "waiting" for it to do something.   It responds slowly.
[02:42] <chonkin2538> But I have since disabled all ethernets.
[02:43] <chonkin2538> This is a workplace computer.  I have been suffering under this problem FOR MONTHS.
[02:44] <sarnold> ouch :(
[02:45] <sarnold> I'd watch journalctl -f, dmesg -w, slabtop, vmstat 1, as my starting points
[02:45] <tpanarch1st> sarnold httpd are not being helpful - 443 is not set up to listen they confrim. Is this helpful please https://paste.debian.net/1310870/ ?
[02:52] <sarnold> argh, the sources.debian.org server seems to be unhappy :(
[02:52] <sarnold> tpanarch1st: there's some notes in the apache docs in the package .. /usr/share/doc/apache2/ something or other, probably, but if not, https://termbin.com/3phw
[02:53] <sarnold> tpanarch1st: unfortunately no notes on how to use certbot, but it does give two commands that might be enough to get it to listen on 443 and handle the site correctly
[02:54] <chonkin2538> vmstat 1 has misaligned columns. Any way to make it prettier?
[02:55] <tpanarch1st> thanks sarnold
[02:57] <sarnold> chonkin2538: vmstat -w 1
[02:58] <sarnold> .. it's not perfect, but it's better, heh
[02:59] <tpanarch1st> sarnold sudo apt-get install libapache2-mod-ssl isnt working :) unable to locate package
[03:00] <sarnold> tpanarch1st: I think the package was necessary ten or fifteen years ago, I thought that package was removed ages ago
[03:01] <sarnold> $ apt-file search mod_ssl
[03:01] <sarnold> apache2-bin: /usr/lib/apache2/modules/mod_ssl.so
[03:01] <sarnold> yeah it's in the standard apache2-bin package in focal, probably before that, too, but focal is easy for me to find :)
[03:05] <tpanarch1st> thanks :) essentially 443 needs to be set to be listened on in a vhosts? file
[03:06] <tpanarch1st> sarnold
[03:07] <sarnold> tpanarch1st: yeah, something like that; I don't know if you have to do that by hand or if the a2enmod and a2ensite commands would do that for you
[04:11] <eelstrebor> looks like the repositories got fixed since i'm now able to upgrade
[04:27] <swift110-mobile> Sup
[05:02] <tpanarch1st> hey is ppa:ondrej/php OK?
[05:03] <tpanarch1st> sarnold *
[05:13] <lotuspsychje> tpanarch1st: the volunteers here, cant advice much on external ppa's, best to stick with vanilla ubuntu sources
[05:34] <jea0p> helo
[05:35] <jea0p> ubuntu can for aarch ?
[06:26] <tpanarch1st> thanka lotuspsychje so I presume Ubuntu has it's own php 8x repos?
[06:26] <tpanarch1st> thanks**
[06:27] <lotuspsychje> tpanarch1st: php comes with ubuntu indeed, you can check their version on the ubuntu releasename , releasenotes
[06:27] <lotuspsychje> !jammy
[06:27] <lotuspsychje> for example
[06:29] <tpanarch1st> awesome - thanks :) It turns out I can't upgrade my server  - would you believe - because freepbx is only compatable with php 7.4 - it's outrageous!
[06:29] <tpanarch1st> and, if you install on an Ubuntu Server, they won't give you their firewall either
[08:23] <tomreyn> tpanarch1st: apparently, freepbx 17.0 "BETA" is compatible to PHP 8.2 (Debian installation guide at https://sangomakb.atlassian.net/wiki/spaces/FP/pages/10682545/How+to+Install+FreePBX+17+on+Debian+12+with+Asterisk+20 ). For ubuntu, there is a professionally maintained (but not supported here) PPA which enables different (and co-installable) PHP versions on current LTS releases at https://deb.sury.org/
[08:49] <danza__> ubuntu will never be popular in africa, its theme features an awfully small contrast
[08:50] <lotuspsychje> danza__: not really a topic for this support channel
[08:51] <danza__> where is the rant channel at?
[08:51] <lotuspsychje> !discuss | danza__
[08:51] <danza__> cheers
[08:52] <tomreyn> there is no channel for ranting, #ubuntu-discuss is neither.
[08:53] <danza__> oh that's a shame
[09:03] <Diagon> Anyone know that status of Gome in 24.04? Unless they've fixed the regular freezing, I'm going to have to jump to xfce.
[09:03] <lotuspsychje> !next | Diagon
[09:04] <Diagon> TY
[09:09] <Eccentric81> Hey all, because GPU passthrough not work for RDNA infinityres rendering
[09:09] <Eccentric81> but there is USB passthrough RDNA3 7000 series AMD cards. have USB4 type C thunderbolt4 over HDMI
[09:10] <Eccentric81> y cant type C S/PDIF passthrough over HDMI and use GPU passthrough as USB passthrough?
[09:10] <Eccentric81> i get that fake nvidia wants to pretend their ultrawideloads of gaming monitors look better with trash specs compared to HDMI TV
[09:11] <Eccentric81> or hackers wanna steal your cores or use your PC resources to hack your own passwords/PC
[09:11] <Eccentric81> and the GPU to crypto or whatever fake not money no equity no landfuelfood whatever pretend video game moneys
[09:11] <Eccentric81> im pretty sure you can use the DNA quality infinityres of AMD from the 70s without the analog CRT
[09:12] <Eccentric81> by typing in the analog CRT words for display driver
[09:12] <Eccentric81> needs correct vesa timings custom res and specifics horizontalphaselinearfixed hook and purity etc
[09:12] <Eccentric81> all those uhh calibration dials from monitor
[09:13] <Eccentric81> sweep and scan uhh whats those others?
[09:13] <Eccentric81> thunderbolt 3/4 use the free open type C spec from google released years ago reverse charge or monitor over type C
[09:14] <Eccentric81> mac pretended they only ones had it, but no they just only ones to plug it in
[09:14] <Eccentric81> anybody know what i might need? like you can custom makeopt flags compile emerge gentoo stage 3 tarball
[09:14] <Eccentric81> whatever i concatenated my GPU display driver custom config.ini file into there too
[09:15] <Eccentric81> and put a dozen copies of it in docs folder and maybe desktop or home
[09:15] <Eccentric81> 2 dozen in all custom compiled pulled from real repos in fake nvidia fake intel OS that has links to the real builds
[09:15] <Eccentric81> of fedora like uhh nobara i think it was fake steamdeck OS?
[09:15] <Eccentric81> i cant get the real one here or the real windows
[09:16] <Eccentric81> im in australia no native android support as advertised in windows 10 and im in 11
[09:16] <lotuspsychje> Eccentric81: please dont spam the channel with endless text, just ask your question and wait for volunteers to help you
[09:16] <Eccentric81> hmm okay i'll just link my config file and see what you guys can do. the readme files me swearing alot sorry but not sorry im angry
[09:17] <Eccentric81> https://pixeldrain.com/u/hzkPdb1e
[09:19] <Eccentric81> an alt link https://workupload.com/file/WSrS5U6TpE6
[09:20] <tomreyn> Eccentric81: can you sum up your ubuntu support question in a single line?
[09:21] <tomreyn> "Uncompressed size: 10.3 GB (Ratio: 6355.62x)" - this is a potential zip bomb.
[10:16] <osse> I want to install a .deb package that originally was made for Debian. There are packages for bookwork, testing and unstable. Is it reasonable to install one of these in my Ubuntu 23.10? If so, which one?
[10:24] <Eccentric81> unstable is often a word for frequent updates like canary in edge/chrome since they're the same browser.
[10:25] <Eccentric81> think of it as nightly builds on a group developer project
[10:25] <Eccentric81> so its often the best CHOICE but may have new functions yet theres a risk it could bug or errors
[10:25] <Eccentric81> or not support functions on older devices
[10:26] <Eccentric81> many stable linux things dont get updated, if its not broke dont fix it
[10:26] <Eccentric81> you just compile with more flags makeopts and such
[10:26] <Eccentric81> but the new functions should and COULD be millions faster instructions and code execution
[10:27] <Eccentric81> and more hardware supported so its kinda the better post 90's 2000 parallel computing multicore code
[10:27] <Eccentric81> so dont be afraid of unstable, and to be safe dont go for hardened or 'multi'
[10:27] <Eccentric81> stick with amd64
[10:33] <Eccentric81> its particularly difficult to compile or use any linux code or update/add to it
[10:34] <Eccentric81> because fake companies like apple will sorta rip it off or pretend they invented it and compile their own somethings
[10:34] <Eccentric81> its why they went BSD and had mount gentoo on the old was it leopard or X OS?
[10:34] <oerheks> hi Eccentric81
[10:34] <Eccentric81> they didnt even hide it
[10:37] <Eccentric81> i rarely use linux as i have a hard time when emerging or compile
[10:37] <Eccentric81> my settings go away when i reboot
[10:37] <Eccentric81> and some fag thinks they invented new settings or something
[10:38] <oerheks> This is ubuntu support, do you have a support related question?
[10:38] <Eccentric81> i thought its an issue with installs like uhh its security or policy to wipe
[10:38] <Eccentric81> yeah, why is the ubuntu in WSL only from the windows app store
[10:38] <Eccentric81> for windows and it seems less good somehow?
[10:39] <Eccentric81> could we install ubuntu FIRST then windows in a way that isnt super tedious but like click a few buttons wizard?
[10:39] <oerheks> yes, wsl is only available through their store.
[10:39] <Eccentric81> is there a way for GPU passthrough for the sole user account? use it all? not fake 1trillionth?
[10:40] <oerheks> .. are you here just to rant?
[10:40] <Eccentric81> since USB passthrough is a thing. and USB 4 /thunderbolt anything is display over USB
[10:40] <Eccentric81> my rdna 3 has USB 4 on DP/HDMI out
[10:40] <oerheks> !wsl
[10:40] <Eccentric81> yes but that and windows arent compiled
[10:41] <Eccentric81> i can tell when i tried compile gentoo or debian its like 130MB/sec becomes 3.6GB/sec
[10:41] <Eccentric81> and 550MB SSD's 3 or 4 becomes 7-10TB/SEC when use samsung disk wizard bench
[10:42] <Eccentric81> though i maybe had 2GB RAPID mode RAMdisk buffer for them to work as advertised as samsung site said
[10:42] <oerheks> ask again in #windows-wsl
[10:42] <Eccentric81> oh theres a channel, like how do i compile the ubuntu for AMD?
[10:43] <oerheks> no need to, the iso is amd compatible,
[10:44] <Eccentric81> yeah but trillions of slow
[10:44] <Eccentric81> its like software faked and NOT compiled or not formatted
[10:44] <Eccentric81> 1bit not 64bit
[10:44] <Eccentric81> actually AMD CPU is like 128bit or 2096bit or higher for CPU/GPU depends on the part
[10:44] <oerheks> i leave you with it.
[10:45] <Eccentric81> because even HDR lighting often uses for GPU in game graphics 128bit dynamic lighting
[10:45] <Eccentric81> the hardware supposed to do it, not fake it software requires passthrough
[10:45] <Eccentric81> want the BRTFS whatever or EXT4 and have like DD -BS=8M or something higher maybe
[10:46] <Eccentric81> i think whatever CPU cache is, maybe that what it does
[10:47] <lotuspsychje> Eccentric81: you can stop trolling now, leave the channel free for real ubuntu questions
[10:50] <Eccentric81> why would i troll? try my GPU config.ini file out for proof of concept
[10:51] <Eccentric81> even works on android with SPECIFIC qualcomm or adreno/RDNA hardware with dolbyvision displays
[10:51] <Eccentric81> like on dolbyvision website means its real AMD
[10:51] <Eccentric81> i've an LG V60 it works with
[10:51] <Eccentric81> android is linux too btw
[10:51] <Eccentric81> samsung phones and some lenovo devices etc maybe works
[10:51] <Eccentric81> if you bought from samsung and your AMD computer from AMD website/resellers on the site
[10:52] <Eccentric81> https://pixeldrain.com/u/hzkPdb1e
[10:52] <Eccentric81> https://workupload.com/file/WSrS5U6TpE6
[10:52] <lotuspsychje> !ops | Eccentric81
[10:52] <Eccentric81> just copy the config file to docs folder
[10:52] <Eccentric81> i use a dozen and i put a dozen in video folder too
[10:53] <oerheks> nothing you say is ubuntu support related.
[10:53] <Eccentric81> because fake nvidia fake intel and windows is mostly 16bit
[10:53] <Eccentric81> what i meant is UBUNTU isnt compiled correctly and the ms app store one was lousy
[10:53] <Eccentric81> your SSD even default 550MB/sec how long does a liveCD take to load?
[10:53] <Eccentric81> go on, guess.. even a DVD? the whole disc? in seconds
[10:54] <Eccentric81> do the math.. then figure out what i mean by NOT COMPILED
[10:54] <Eccentric81> not using hardware and FAKE
[10:54] <Eccentric81> to sell fake hardware
[10:54] <Eccentric81> should be trillions faster.. the .xml renaming of config.ini is just HTML not fit 4 letters in old DOS 16bit
[10:54] <oerheks> !fud
[10:54] <Eccentric81> rename to xml and keep open in like edge browser tabs config file works better
[10:55] <oerheks> move it to an other network, Eccentric81
[10:55] <Eccentric81> oh how to computer ? wheres channel i can teach you all how to use one?
[10:55] <Eccentric81> and what true audio analog CRT RNA DNA video audio multimedia passthrough looks like?
[10:56] <Eccentric81> 1:1 analog faster than reality negative latency infinityfabric/cached hardware freely syncing with ANY device in the universe
[10:56] <Eccentric81> any and all ryzen/radeon combos
[10:56] <Eccentric81> and you dont know what FASTER THAN REALITY MEANS
[10:56] <Eccentric81> how you think i can tell its not compiled
[10:56] <oerheks> stop this monologue, thanks.
[10:56] <Eccentric81> what channel should i join to point at a TV!
[12:10] <BluesKaj> Hi all
[13:05] <volkswagner> Greetings!
[13:07] <volkswagner> I'm struggling trying to fix ethernet on a system that's been running 22.04 server for over a year
[13:07] <hwpplayer1> Hi there ! what was the channel name of Canonical Admin Team ?
[13:08] <pragmaticenigma> hwpplayer1, There isn't one, All IRC channels related to Ubuntu are Community operated
[13:08] <volkswagner> From my notes, I originally installed 20.04 and updated to 22.04 because the drivers for one of the NICs (I225-V) were not included.
[13:09] <hwpplayer1> pragmaticenigma: #canonical-sysadmin it is Thanks
[13:09] <pragmaticenigma> hwpplayer1, That's not what you are looking for... but have fun anyways
[13:09] <volkswagner> Yesterday I got disconnected from one of the VMs (windows 10 via RDP) which led me to discover both ethernet ports stopped working
[13:09] <hwpplayer1> I found it That was the right place
[13:09] <hwpplayer1> Thanks
[13:09] <hwpplayer1> pragmaticenigma: ^
[13:10] <volkswagner> Here's a paste of some interesting syslog and other info https://paste.ubuntu.com/p/6gXM2D6QsG/
[13:10] <volkswagner> It seems odd that both NICS start as named eth0
[13:11] <preach> define fix, and your actual iussue
[13:11] <preach> issue*
[13:11] <preach> those nics are buggy af in general too
[13:11] <volkswagner> the symptom occurred shortly after fwupdmgr ran (which seemed to have ran the previous day without issue)
[13:12] <preach> what symptom
[13:12] <pragmaticenigma> volkswagner, First step, reboot the server
[13:12] <volkswagner> symptom = driver is not loaded
[13:13] <preach> of course they both start as eth0 because of the renaming process... e.g. first nic is detected and always by default assigned eth0 if available (else eth1 etc.), but because udev renamed it, the next nic that is detected now sees eth0 is available again and uses it (and then udev renames it too)
[13:13] <volkswagner> so no network connectivity, also the error in my pastbin was repeating infinately
[13:14] <volkswagner> Thanks preach that makes sense on the renaming
[13:14] <preach> >Detected Hardware Unit Hang
[13:14] <preach> bad hardware, like I said they are buggy
[13:14] <preach> it's a crapshoot whether you get one that actually works or not
[13:14] <pragmaticenigma> volkswagner, It's not sarcasm... have you rebooted the machine after the fwupdate ran? As it appears your issue occured after completed.
[13:15] <volkswagner> I've rebooted several time, moved the server to a bench (so power was disconnected for a few min) issue persists
[13:15] <volkswagner> root@kvmMini:~# lsmod | grep e1000e
[13:15] <volkswagner> e1000e                299008  0
[13:15] <preach> volkswagner: that plus considering both nics stopped working at the same time, should lead you to conclude that this is a hardware issue
[13:15] <pragmaticenigma> volkswagner, Pull one of the cards?
[13:16] <volkswagner> I will boot a live CD to double check the hardware,thanks!
[13:16] <preach> also consider that live CD driver versions/kernels may be different and could behave differently
[13:17] <preach> so even if it works in one doesn't necessarily mean there is NO hardware issue
[13:17] <preach> maybe one driver just has a different workaround
[13:19] <volkswagner> Funny thing is I've had way less issues with Realtek... I was originally so excited to get this PC with all Intel NICs GIGABYTE BRIX PRO GB-BSi5-1135G7-BWUS
[13:21] <volkswagner> I tried compiling Intel drivers, but was full of errors, seemed like bad coding on Intel's part.
[13:23] <ioria> reading might be a 'disabling TCP checksum offloading' problem
[13:25] <volkswagner> both NICs work via LiveCD running Mint (kernel  5.15.0-56)
[13:25] <volkswagner> Let me see if booting previous kernel helps
[13:26] <ioria> a bit outdated
[13:26] <respawn> you can use newer kernel
[13:27] <respawn> for newer hardware
[13:31] <volkswagner> booting older kernel brings both NICs back
[13:32] <volkswagner> oddly though it seems e1000e is not being used:
[13:32] <volkswagner> root@kvmMini:~# lsmod | grep e1000e
[13:32] <volkswagner> e1000e                299008  0
[13:34] <volkswagner> here's the output of  lshw -C net   > https://paste.ubuntu.com/p/5fBxTFfGHh/
[13:34] <volkswagner> I thought the result from lsmod having a zero at the end means no devices are using that driver... I'm confused.
[13:35] <volkswagner> Should I post possible bug in kernel linux-headers-5.15.0-100
[13:36] <jeremy31> volkswagner: Looks like one port uses e1000e and the other uses igc
[13:37] <volkswagner> yes the 2.5G Nic (I225) uses icg, but I was expecting different output from lsmod | grep e1000e to indicate a device is using that driver
[13:38] <volkswagner> I was saying driver is not loaded from the result of that command, but I seem to be wrong since it's working, and lshw shows it's using e1000e
[13:39] <jeremy31> volkswagner: The 0 means there are no modules dependant on that driver
[13:39] <volkswagner> ah, thanks jeremy31, so if it's not being used the values returned would be empty?
[13:40] <volkswagner> or nothing returned?
[13:40] <jeremy31> volkswagner: I can be in use even with the 0
[13:42] <jeremy31> volkswagner: Unless you have a module listed in /etc/modules or are manually doing a sudo modprobe, every module in lsmod results are there for a reason
[13:50] <volkswagner> What's the best way to automatically reboot to an older kernel? Should I just remove the newest kernel and reboot?
[13:51] <volkswagner> or should I change grub config?
[13:51] <jeremy31> volkswagner: Use the advanced options choice in the grub menu at boot
[13:52] <volkswagner> It's headless so it needs to be automatic
[13:52] <volkswagner> or will that be persistent?
[13:52] <jeremy31> volkswagner: You can't remove a kernel that is being used as far as I know
[13:52] <ioria> there is grub-reboot, but can be complicated to set
[13:52] <volkswagner> I'm booted into the older one already
[13:53] <jeremy31> volkswagner: remove the problem one
[13:54] <volkswagner> cool will do, thanks jeremy31
[13:54] <volkswagner> Should I file a bug report on kernel 5.15.0-100?
[13:56] <younder> You can make ubuntu 22.04 run the 6.5 kernel
[13:56] <younder> sudo apt update && sudo apt full-upgrade
[13:57] <younder> Seems better than to be  suck with  a old kernel
[13:58] <younder> stuck
[14:01] <jeremy31> younder: Will that do it or does it need to install linux-generic-hwe-22.04
[14:02] <volkswagner> dist-upgrade only brings me to 5.15.0-100
[14:02] <ioria> i think he is on 20.04 focal
[14:02] <volkswagner> let me check full upgrade and ee
[14:02] <volkswagner> i'm on 22.04 upgraded from 20.04
[14:03] <ioria> so, you picked up the wrong kernel
[14:03] <ioria> or autoremove at end did not work
[14:04] <jeremy31> volkswagner: Server install?
[14:04] <volkswagner> I'm not sure what you mean ioria. I just tried to see if there was something newer than 5.15.0-100 using dist-upgrade and the result was the same 5.15.0-100
[14:05] <ioria> ah, ok you don't have HWE
[14:06] <ioria> volkswagner, you can install it, it will pull 6.5
[14:06] <volkswagner> yes it's server install
[14:06] <jeremy31> Is this Ubuntu server or Mint?
[14:06] <volkswagner> server, mint live cd was just a test to verify hardware was fucntional
[14:06] <ioria> volkswagner, you can simulate the install with : apt -s install linux-generic-hwe-22.04
[14:07] <jeremy31> volkswagner: Server wouldn't have linux-generic-hwe-22.04 installed by default
[14:08] <ioria> volkswagner, it could solve your problem, but also not
[14:09] <volkswagner> Thanks ioria, I'm considering moving to XCP-ng so maybe I'll just use the older kernel for now
[14:09] <ioria> ok
[14:14] <ioria> that's curious, 'cause default 20.04 is 5.4 not 5.15, so you already had hwe
[14:16] <volkswagner> ioria doesn't upgrading to 22.04 also update the kernel
[14:16] <ioria> sure
[14:16] <volkswagner> I only started with 20.04 to get the install to complete then upgraded to 22.04 over a year ago
[14:17] <ioria> ok
[14:18] <ioria> i'd investigate this line : Detected Hardware Unit Hang
[14:48] <doolittle> ?
[14:49] <doolittle> anyone?
[14:58] <nsh> what's the advised current way to change the binding for the printscreen keyboard key in ubuntu with unity desktop (wayland if that's material)?
[14:58] <nsh> web suggestions not immediately helpful
[15:01] <nsh> i prefer flameshot to be default but currently have to trigger it in a very roundabout way
[15:29] <tomreyn> nsh: i don't think the Unity desktop supports Wayland (yet). See the FAQ at https://unityd.org/
[15:38] <nsh> the right answer was to disable the interactive screenshot default handler in settings->keyboard->view and customise shortcuts->screenshots then add again as a custom screenshot
[15:39] <nsh> in fact didn't need to do the second step as flameshot had already made the custom shortcut was just being overridden by the default shortcut
[15:42] <nsh> there's still a needless step but i think that's an issue in flameshot itself
[16:19] <mkou> any good calendar that still has regular updates and patches?, apart from google and gnome
[16:19] <ikonia> what happened to the thunderbird calendar ?
[16:19] <ikonia> didn't the app get merged into a plugin for thudnerbird rather than a stand alone app
[16:29] <faruk> test
[16:30] <faruk> hi
[16:30] <faruk> ?
[16:30] <jeremy31> faruk: Mint support issue?
[16:30] <faruk> no. I search IRC
[16:33] <faruk> how can I find crowded servers?
[16:33] <mybalzitch> discord
[16:33] <jeremy31> netsplit.de
[16:36] <faruk> thx
[16:59] <toddc> Virtual AZLOCO/PLUG Linux Workshop Sat, March 16, 10am Big Blue Button, https://bbb.azloco.net
[17:03] <oerheks> toddc, must have been fun?
[17:13] <toddc> opps wrong channel for our loco soory but anyone is welcome
[17:52] <Quark> Is someone able to tell me why on this user-data file (cloud-init), the "write_files" isn't creating the files? https://dpaste.com/9A9UW3ZAZ
[17:59] <pragmaticenigma> ikonia, Yes, The "lightning" extension for Thunderbird was merged into Thunderbird
[18:14] <rfm> Quark, I think the write_files needs to be under a user-data: so it runs in the installed system at first boot
[18:14] <Quark> rfm: I think that's a bingo! Trying it now, thanks!
[18:21] <Quark> rfm: That was it! Thanks!
[18:23] <rfm> Quark, great! (I *was * just guessing, I've only done this with cloud images, not an install)
[18:25] <Quark> I am unpacking the ISO, and adding a user-data to a "nocloud" directory, and rebuilding it back, so I can use it for auto-installs. It works great now!
[18:25] <Quark> All that's left is to finish adding a few things to that user-data file.
[20:00] <joshp> good afternoon guys, my mouse cursor keeps jumping around on linuxlite, any help will be greatly appreciated
[20:00] <rbox> what is linuxlite
[20:01] <joshp> It is based on ubuntu
[20:01] <joshp> kind of like linux mint
[20:01] <rbox> "based on ubuntu" is not ubuntu
[20:01] <joshp> but uses Ubuntu repo
[20:02] <pragmaticenigma> joshp, for help with linuxlite, please take a look at their support page and choose your preferred way of obtaining support: https://www.linuxliteos.com/support.html
[20:02] <joshp> I had the same issue on ubuntu, I forgot what I did
[20:02] <joshp>  do they have a channel in rc?
[20:03] <pragmaticenigma> joshp, I suggest you visit the link I provided... it has all the methods of their official support
[20:06] <joshp> Thanks I used to be a big fan of Ubuntu and I still am..but it seems its popularity has been decreased.. do you know when is the next release?
[20:07] <rbox> in april
[20:07] <rbox> like it is ever yyear
[20:08] <joshp> do you think that Ubuntu has a chance to reclaim its place among the best linux distros?
[20:08] <rbox> reclaim?
[20:08] <pragmaticenigma> "best" is subjective... so what's "best" is entirely what you think it is
[20:09] <pragmaticenigma> I run a distribution based on what I need to do... I honestly don't care what it calls itself or its popularity. I use what I think is the best tool for the job I want to do.
[20:23] <joshp> I agree.. everything is a matter of choice based on own personal perception.. no one should settle to mental slavery based on emotions or selective social actions
[20:27] <joshp> or widespread fuzz but from a technical standpoint, it doesn't hurt to be somewhat flexible
[20:31] <oerheks> linuxlite has its own specific issues.
[22:06] <joshp> dow
[22:14] <pragmaticenigma> 5
[22:54] <loswedseded> why can't I copy a 12 GiB mac /pkg installer to an usb stick?
[22:55] <EriC^^> loswedseded: it might be fat32 (the filesystem) and that has a 4gb file limit
[22:55] <loswedseded> it says max copy data is 4 GiB, but I have movies lager then that
[22:55] <loswedseded> oh thans
[22:55] <loswedseded> EriC^^, does ma support ext4?
[22:55] <loswedseded> mac
[22:56] <EriC^^> no idea, but exfat supports >4gb files and nowadays some ext hdd etc come formatted as it from the manufacturer
[22:57] <bprompt> loswedseded: that is, the usb-stick may be in fat32 filesystem, macOSX can be in any, it won't matter, the bottleneck would be on the usb-stick if that's the case
[22:58] <JanC> yeah, SD cards also come with exfat usually, so I'm pretty sure macOS supports it?
[22:59] <bprompt> by default, yes, for new usb-sticks in the last 10 years or so, yes, however it could have been reformatted, assuming is not new
[23:00] <bprompt> loswedseded: so simply reformat the usb-stick to extFat and retry to copy the file
[23:00] <JanC> remember that reformatting to exfat will delete all data on the USB stick
[23:00] <JanC> so make sure there is nothing on it that you don't have a copy of
[23:01] <JanC> also, might have to install 'exfatprogs'
[23:01] <JanC> to be able to format as it
[23:02] <loswedseded> why does my computer begin transferring 500 MiB per second and then slows down to 5 MiB ps?
[23:07] <bprompt> loswedseded: is it a bunch of "tiny files" or just big files?   mind you that copying/moving tiny files takes much longer than one big file, so in essence if you had 50,000 small files, it can take about 20 times longer than if  you zip them all in one big .zip and move them afterwards
[23:08] <bprompt> loswedseded: keep in mind that transfer speed is bottlenecked to usb-port type and usb-stick type, an usb 3.2 port is very fast, however if you plug in a usb 1.1 usb-drive, it'll run like molasses, because its bottleneck is the stick at 1.1 type, which is really slow
[23:09] <JanC> at first it will be filling caches so it will be fast, but then it will block once caches are full as it has to wait for hardware that is slower than memory...
[23:10] <bprompt> yeah, can also be cache, misleading you
[23:11] <JanC> where "cache" can mean both buffering in main system RAM and possibly caches in the disk you are using
[23:13] <JanC> and when you use a network filesystem there is usually also caching/buffering on both sides in the network too (and possibly in between)
[23:24] <loswedseded> how come gparted cannot format to exfat?
[23:25] <oerheks> it can, choose ' other'
[23:26] <oerheks> * in disks
 also, might have to install 'exfatprogs'
[23:27] <loswedseded> oerheks, I don't see those icons / menus
[23:27] <JanC> see: https://gparted.org/features.php
[23:28] <JanC> if you can't format as exfat, it's probably because you don't have 'exfatprogs' installed (and you might have to restart GParted after installing that)
[23:28] <oerheks> mkfs.exfat
[23:29] <oerheks> !info exfat-utils
[23:30] <oerheks> oh exfat progs indeed
[23:30] <JanC> no, not exfat-utils, that is old & deprecated, you should install 'exfatprogs'
[23:30] <oerheks> correct
[23:36] <loswedseded> help the noob: I downloaded the zip file from https://github.com/exfatprogs/exfatprogs and now im gonna follow the build steps, is this correct?
[23:37] <JanC> what?
[23:37] <JanC> just install them with apt?
[23:37] <oerheks> wrong step
[23:37] <loswedseded> please write the command
[23:38] <oerheks> indeed, with apt.
[23:38] <oerheks> why? copy and paste the name?
[23:38] <loswedseded> what do I have to copy?
[23:39] <oerheks> sudo apt install
[23:39] <JanC> click: apt://exfatprogs
[23:39] <JanC> :)
[23:39] <oerheks> +1
[23:40] <JanC> (not sure it will actually work... otherwise use apt command line or whatever GUI you use for software installing)
[23:42] <loswedseded> thank you, can I then install all projects hosted on github like this?
[23:43] <joshp> hello guys, how great is ubuntu fof web servers?
[23:43] <Ximo> great, just great
[23:43] <rbox> joshp: about the same as any dist
[23:50] <joshp> I remember using Ubuntu 23.10 and facing some issues with  freezing and touchpad, would like to go back but I dont know wether there have been some changes made  in regards to those issues... any insight?
[23:51] <rbox> if only there was a live image one could boot to see if it worked well
[23:51] <rbox> maybe one day...
[23:52] <joshp> are you referring to what I just mentioned?
[23:53] <oerheks> 'would like to go back' > reinstall 22.04
[23:53] <joshp> what's holding you?
[23:54] <oerheks> me?
[23:54] <oerheks> you asked.
[23:54] <joshp> LOL! Sure.. so when is the next version due again?
[23:54] <oerheks> soon, 24.04 ...
[23:54] <oerheks> !yymm
[23:54] <rbox> april
[23:55] <rbox> the same answer it was a few hours ago
[23:55] <rbox> the last time you asked
[23:55] <joshp> Getting old, memory issues
[23:55] <rbox> its been april for like over 15 years
[23:57] <JanC> well, it was in June for 6.06 LTS
[23:57] <joshp> So i am crossing fingers tight, it's only a month
[23:57] <JanC> but all other LTS after that were in April
[23:58] <JanC> late April (usually around the 20th IIRC)