bootlin / elixir

The Elixir Cross Referencer
GNU Affero General Public License v3.0
968 stars 144 forks source link

500 error on block/blk-core.c in the kernel #328

Open skitt opened 1 week ago

skitt commented 1 week ago

See https://elixir.bootlin.com/linux/v6.10.9/source/block/blk-core.c:

Screenshot of the 500 error

This happens on all versions of the kernel I’ve tried, back to https://elixir.bootlin.com/linux/v2.6.39.4/source/block/blk-core.c at least.

fstachura commented 1 week ago

Hello,

I can't reproduce this. Does this happen when you click on an identifier? Or on a source page?

skitt commented 1 week ago

Wow, it’s working now... Presumably a transient issue then. It happened whenever I tried accessing blk-core.c in any way, including through the links in the initial post.

tleb commented 1 week ago

The logs have traces:

2024-09-12 13:13:04 [FALCON] [ERROR] GET /linux/v2.6.39.4/source/block/blk-core.c => Traceback (most recent call last):
  File "falcon/app.py", line 375, in falcon.app.App.__call__
  File "/usr/local/elixir/elixir/web.py", line 103, in on_get
    resp.status, resp.text = generate_source_page(req.context, query, project, version, path)
  File "/usr/local/elixir/elixir/web.py", line 412, in generate_source_page
    'code': generate_source(q, project, version, path),
  File "/usr/local/elixir/elixir/web.py", line 313, in generate_source
    code = q.query('file', version, path)
  File "/usr/local/elixir/elixir/query.py", line 191, in query
    (lib.compatibleFamily(self.db.defs.get(tok2).get_families(), family) or
  File "/usr/local/elixir/elixir/data.py", line 167, in get
    p = self.ctype(p)
  File "/usr/local/elixir/elixir/data.py", line 60, in __init__
    self.data, self.families = data.split(b'#')
ValueError: too many values to unpack (expected 2)

This is somewhat known; but we have (1) no tracking issue and (2) no fix currently. I haven't digged deeper but it is surprising that it can resolve itself over time. IE we seem to get an error from data read from database, but it stops appearing over time.