Software developer on the Wikidata team at Wikimedia Germany (he/him, Berlin timezone). Private account: @LucasWerkmeister.
User Details
- User Since
- Apr 3 2017, 2:45 PM (488 w, 19 h)
- Availability
- Available
- IRC Nick
- Lucas_WMDE
- LDAP User
- Lucas Werkmeister (WMDE)
- MediaWiki User
- Lucas Werkmeister (WMDE) [ Global Accounts ]
Today
FWIW, the query works quickly for me if I inline the ?item variable or the ?class variable (or both). Given that ?class may have multiple values, inlining ?item is probably the best workaround in WBQC (I’m not sure why this used BIND() to begin with, to be honest).
Fri, Jul 31
Thu, Jul 30
For anyone who wants to test this: the expected result of the change I wanted to deploy is that you can
Wed, Jul 29
The deployment window is done and I have mostly good news! I documented the results (with mw-collapsible ab outputs) on wiki. Relative to the plan from T231755#11884157:
I think this task can be resolved (I just completed the last bits of T424098).
Same thing happens when trying to connect to staging.svc.eqiad.wmnet on port 8081; the host can be pinged, but not connected to, via IPv6:
Tue, Jul 28
Code pointer: in the API output code, the URLs are added with injectEntitySerializationWithSiteLinkUrls(), which boils down to simply $site->getPageUrl().
Mon, Jul 27
If there have been no known occurrences of this error since @kostajh’s suggested fix was merged on 10 July (over two weeks ago), we can probably remove the debug output again and then close this task?
Hm, one thing I hadn’t thought about yet is where to deploy this – which train branch do we target, and which wiki do we test the performance on?
Deployment window scheduled for Wednesday 15:00–17:00 UTC.
Mon, Jul 13
Jul 10 2026
The especially interesting question will be where the cache invalidation happens, and how we can do it – ideally, we would have a diff of the property edit available at that point
In that profile, it takes only 2% of the load time but I can imagine in larger items, it'll start to add up.
Jul 8 2026
(I’m not actually sure “flaky” is the right word here – this might just be deterministically broken? As it’s in the Score extension, not in Wikibase itself.)
Copying over this explanation from the commit message:
Thanks, now we have a screenshot: https://integration.wikimedia.org/ci/job/quibble-vendor-mysql-php83-selenium/65543/artifact/log/Score/editAndAddScoreStatement.cy.ts/add%20score%20statement%20--%20mobile%20view%20--%20loads%20the%20item%20view,%20allows%20statements%20to%20be%20edited%20and%20new%20statements%20to%20be%20added%20(failed).png – looks like a new issue to me (related to T424009), so let’s keep this closed and I’ll make a new task for that.
Also, we’ve already skipped the test that this task was originally about (“tabular-data qualifier”). And as mentioned in T418778#12045015 T418778#12058921, the only effect of that has been to shift the failure to the next test (“geo-shape”). Which is now failing in exactly the same way, except with none of the debug output, because all the debug output that we added to try to make sense of this error is in the test which is now skipped. So we’ve just made it harder to figure out what’s actually going wrong, without actually making the test any less flaky.
The job still exists, but the build time trend only goes back 20 hours (#65366 is the latest build still present at the moment). No idea where the other builds went – and without the Cypress screenshots it’ll be tough to figure out what went wrong in that build :/
Every Wikibase uses production Commons, because the data type is commonsMedia, not local media. (I’m guessing it tries to serve a local thumbnail because that’s how InstantCommons works, or something along those lines.)
Jul 7 2026
We got an email from EntitySchema secondary CI today, so it looks like the password revert was successful.
Jul 3 2026
The only log output I’m aware of, besides the videos and screenshots, is in the console, yes.
I still can’t reproduce it in Firefox’ Responsive Design Mode. Is this a Chrome-only issue?
In theory, the issue should still be reproducible on Wikidata (because the fix was merged after the branch cut for this week), with the fix on Beta Wikidata; however, I can’t reproduce the issue on Wikidata at the moment (the reference snak already has the right height as soon as I expand it). Can anyone else?
Jul 2 2026
(accidental closure, I think?)
Jul 1 2026
I expect it would at least be necessary for it; additionally, WBS would probably have to configure the URL shortener in custom-config.js. (I don’t think we want to assume the wiki has UrlShortener installed in default-config.js – unless WBS changes the WDQS-GUI default-config.js?)
Jun 30 2026
We’ve already changed the error message to some extent (with the more recent changes in T412145), maybe that helps to see what our constraints are:
Seems to be somewhat flaky, for what it’s worth…
Jun 19 2026
(That said, I have no idea why document.getElementById( 'wikibase-wbui2025-statementgrouplistview' ) would sometimes return null – we can see a <div id="wikibase-wbui2025-statementgrouplistview"> in the console-logged HTML – and fixing the condition in entityViewInit.js won’t fix the error, it’ll just result in a different message, as far as I can tell.)
And now I’m getting the same error in non-debug mode; at least I think this is the same “no active Pinia” error ((t=n)._s.has(a) in pinia.iife.prod.js seems to correspond to pinia = activePinia; if (!pinia._s.has(id)) in pinia.iife.js):
The stack trace indicates this is related to our WikiProjects work (SidebarBeforeOutputHookHandler::addWikiProjectLinks() calling RedirectResolvingEntityLookup::getEntity()).
Looks similar to T428649, might be related?
I suspect this was caused by our recent Special:EntityData refactoring for T98035.
Jun 18 2026
I’m thinking we want to override or instrument mw.trackError() (which RL calls when a module has an error) to make the error visible to Cypress; just throwing an error might not work (because it’s caught again), but something like Promise.reject( msg ), triggering an uncaught promise rejection, might work? (Assuming Cypress registers a window.onunhandledrejection handler.)
Actually, that’s a good point. I imagine it should be possible to let MediaWiki connect directly to an internal WCQS instance, bypassing the authenticating proxy, just like WBQC connects to an internal WDQS instance. (We might want to tweak the query a bit so the result can be sensibly described – “used X times as a value, Y times as a qualifier, Z times in a reference” or whatever.)
Aha, there we go! (From the video, 0:37)
Jun 17 2026
Aha, in Do not load oojs-ui for the new mobile (MEX) interface (T400325, T423901) we moved those messages from the wikibase.quality.constraints.ui RL module to the new wikibase.quality.constraints.gadget module; WikibaseMediaInfo only loads the former, but directly inserts the messages, which are now missing. Oops.
Thanks, I can reproduce the issue on https://commons.wikimedia.org/wiki/File:PNG_Test.png (until someone removes the statement again).
This CI build failed with a very similar error:
@Reedy steps to reproduce? URL? anything?
That might be better, yeah, since it’s not limited to popups:
Jun 12 2026
Note: T428620, a task causing heavy logspam (including “MediaWikiHighErrorRate: Elevated rate of MediaWiki errors - kube-mw-api-ext” alerts, I gather), is currently worked around only on the wmf.6 branch. It only affects commonswiki, and we’re hoping to have a proper fix merged (and, if necessary, backported) to wmf.7 before that branch reaches group1; but if the logspam causes problems, you may want to backport the workaround to wmf.7 as well.
The logspam should be fixed, for now; the task remains open for the proper fix.
Note that this also means that, for something approaching seven years (since MediaInfo specific Lua modules), there’s been a gaping hole in usage tracking on Commons: you can completely bypass statement usage tracking by accessing .statements instead of .claims. Fortunately, the impact of this should be limited, because:
aaaaaaaaa I bet I know what it is
I added an ad-hoc debug message on mw-experimental:
I notice that a lot of the request URLs in Logstash (insofar as we have them at all – many requests are api.php POSTs) seem to point to DPLA files (random example – though this could also just be because we have many DPLA files on Commons), and the Module:DPLA history (found via RecentChangesLinked) has some edits around 9 June (when we started seeing this error at a larger scale, if I’m not mistaken).
Termbox shouldn’t be used on Commons, so I’d be very surprised if that’s related. (Also, the errors seem to show up in Logstash at least half a day before the 2026-06-09 Termbox deploys).
FWIW, when I had a quick look at the stack trace the other day, none of the code seemed to have been touched recently. I also don’t understand the code well enough to judge if this is missing some form of array_key_exists() check, or if it’s correct that the code always excepts the C (claims/statements) usage to be present, and some other issue is violating that expectation / precondition.
This could be the same error as T418778, in that it’s the [data-v-app] part of the selector which is missing (but in the screenshot we still see the P23 text because it’s server-side rendered).
Test was relatively recently added in MEX Handle deleted properties (T402619: [MEX] M5 - add functionality for when edit form is opened on a deleted property).





