Skip to content

Fix app startup crash issue #139#20

Merged
simonw merged 3 commits intosimonw:mainfrom
spod:datasette_app_139_fix
Jul 12, 2022
Merged

Fix app startup crash issue #139#20
simonw merged 3 commits intosimonw:mainfrom
spod:datasette_app_139_fix

Conversation

@spod
Copy link
Contributor

@spod spod commented May 12, 2022

This fixes simonw/datasette-app#139 on my install.

Notes on how to reproduce the crash and fix.

  • Started datasette app offline
  • Enabled Debug Menu via About menu
  • From Debug Menu chose "Restart server"
  • Captured python stack trace below
  • Made a super quick fix to default tag_name to an empty string if it's not defined in plugin dict on startup
9:15:57 PM: Shutting down
9:15:57 PM: Waiting for application shutdown.
9:15:57 PM: Application shutdown complete.
9:15:57 PM: Finished server process [60451]
9:15:57 PM: Traceback (most recent call last):
9:15:57 PM:   File "/Users/m.collins/.datasette-app/venv/bin/datasette", line 8, in <module>
9:15:57 PM:     sys.exit(cli())
9:15:57 PM:   File "/Users/m.collins/.datasette-app/venv/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
9:15:57 PM:     return self.main(*args, **kwargs)
9:15:57 PM:   File "/Users/m.collins/.datasette-app/venv/lib/python3.9/site-packages/click/core.py", line 1055, in main
9:15:57 PM:     rv = self.invoke(ctx)
9:15:57 PM:   File "/Users/m.collins/.datasette-app/venv/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
9:15:57 PM:     return _process_result(sub_ctx.command.invoke(sub_ctx))
9:15:57 PM:   File "/Users/m.collins/.datasette-app/venv/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
9:15:57 PM:     return ctx.invoke(self.callback, **ctx.params)
9:15:57 PM:   File "/Users/m.collins/.datasette-app/venv/lib/python3.9/site-packages/click/core.py", line 760, in invoke
9:15:57 PM:     return __callback(*args, **kwargs)
9:15:57 PM:   File "/Users/m.collins/.datasette-app/venv/lib/python3.9/site-packages/datasette/cli.py", line 582, in serve
9:15:57 PM:     asyncio.get_event_loop().run_until_complete(ds.invoke_startup())
9:15:57 PM:   File "/Applications/Datasette.app/Contents/Resources/python/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
9:15:57 PM:     return future.result()
9:15:57 PM:   File "/Users/m.collins/.datasette-app/venv/lib/python3.9/site-packages/datasette/app.py", line 387, in invoke_startup
9:15:57 PM:     await await_me_maybe(hook)
9:15:57 PM:   File "/Users/m.collins/.datasette-app/venv/lib/python3.9/site-packages/datasette/utils/__init__.py", line 111, in await_me_maybe
9:15:57 PM:     value = await value
9:15:57 PM:   File "/Users/m.collins/.datasette-app/venv/lib/python3.9/site-packages/datasette_app_support/__init__.py", line 44, in inner
9:15:57 PM:     < version.parse(plugin["tag_name"])
9:15:57 PM: KeyError: 'tag_name'

@MichaelTiemannOSC
Copy link

Applying this fix (to ~/.datasette-app/venv/lib/python3.9/site-packages/datasette_app_support/__init__.py) worked for me.

@simonw
Copy link
Owner

simonw commented Jul 12, 2022

Thanks very much for this.

simonw added a commit that referenced this pull request Jul 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

"Loading..." hangs on launch after parsing "tag_name" in a plugin

3 participants