Getting "601:ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: (sqlite3.OperationalError) unable to open database file"

Hello, I am trying to install Panoramix on a Windows 7 with Python 2.7.11, followed the instructions to install, got following error:
2016-03-10 11:18:47,601:ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: (sqlite3.OperationalError) unable to open database file'
Installation Details:
c:\Python27\Scripts>pip install panoramix
Collecting panoramix
Downloading panoramix-0.7.0.tar.gz (22.9MB)
100% |################################| 22.9MB 40kB/s
Collecting alembic<0.9.0,>=0.8.2 (from panoramix)
Downloading alembic-0.8.5.tar.gz (959kB)
100% |################################| 962kB 696kB/s
Collecting cryptography<2.0.0,>=1.1.1 (from panoramix)
Downloading cryptography-1.2.3-cp27-none-win32.whl (882kB)
100% |################################| 890kB 769kB/s
Collecting flask-appbuilder<2.0.0,>=1.4.5 (from panoramix)
Downloading Flask-AppBuilder-1.6.0.tar.gz (1.1MB)
100% |################################| 1.1MB 613kB/s
Collecting flask-login==0.2.11 (from panoramix)
Downloading Flask-Login-0.2.11.tar.gz
Collecting flask-migrate<2.0.0,>=1.5.1 (from panoramix)
Downloading Flask-Migrate-1.8.0.tar.gz
Collecting flask-script<3.0.0,>=2.0.5 (from panoramix)
Downloading Flask-Script-2.0.5.tar.gz (42kB)
100% |################################| 51kB 1.2MB/s
Collecting flask-sqlalchemy==2.0 (from panoramix)
Downloading Flask-SQLAlchemy-2.0.tar.gz (93kB)
100% |################################| 102kB 1.4MB/s
Collecting flask-testing<0.5.0,>=0.4.2 (from panoramix)
Downloading Flask-Testing-0.4.2.tar.gz (40kB)
100% |################################| 51kB 1.4MB/s
Collecting flask<1.0.0,>=0.10.1 (from panoramix)
Downloading Flask-0.10.1.tar.gz (544kB)
100% |################################| 552kB 1.0MB/s
Collecting gunicorn<20.0.0,>=19.3.0 (from panoramix)
Downloading gunicorn-19.4.5-py2.py3-none-any.whl (112kB)
100% |################################| 122kB 1.3MB/s
Collecting markdown<3.0.0,>=2.6.2 (from panoramix)
Downloading Markdown-2.6.5.tar.gz (301kB)
100% |################################| 307kB 1.3MB/s
Collecting numpy<2,>=1.9 (from panoramix)
Downloading numpy-1.10.4-cp27-none-win32.whl (6.4MB)
100% |################################| 6.4MB 140kB/s
Collecting pandas<0.17,==0.16.2 (from panoramix)
Downloading pandas-0.16.2-cp27-none-win32.whl (3.6MB)
100% |################################| 3.6MB 224kB/s
Collecting parsedatetime<2.0.0,>=1.5 (from panoramix)
Downloading parsedatetime-1.5-py2-none-any.whl (50kB)
100% |################################| 51kB 1.2MB/s
Collecting pydruid<0.3,>=0.2.2 (from panoramix)
Downloading pydruid-0.2.3.tar.gz
Collecting python-dateutil<3.0.0,>=2.4.2 (from panoramix)
Downloading python_dateutil-2.5.0-py2.py3-none-any.whl (199kB)
100% |################################| 204kB 914kB/s
Collecting requests<3.0.0,>=2.7.0 (from panoramix)
Downloading requests-2.9.1-py2.py3-none-any.whl (501kB)
100% |################################| 501kB 906kB/s
Collecting sqlalchemy-utils<0.32.0,>=0.31.3 (from panoramix)
Downloading SQLAlchemy-Utils-0.31.6.tar.gz (112kB)
100% |################################| 112kB 1.5MB/s
Collecting sqlalchemy<2.0.0,>=1.0.8 (from panoramix)
Downloading SQLAlchemy-1.0.12.tar.gz (4.7MB)
100% |################################| 4.8MB 187kB/s
Collecting sqlparse<0.2.0,>=0.1.16 (from panoramix)
Downloading sqlparse-0.1.19.tar.gz (58kB)
100% |################################| 61kB 2.0MB/s
Collecting werkzeug<0.12.0,==0.11.2 (from panoramix)
Downloading Werkzeug-0.11.2-py2.py3-none-any.whl (304kB)
100% |################################| 307kB 1.3MB/s
Collecting Mako (from alembic<0.9.0,>=0.8.2->panoramix)
Downloading Mako-1.0.3.tar.gz (565kB)
100% |################################| 573kB 1.0MB/s
Collecting python-editor>=0.3 (from alembic<0.9.0,>=0.8.2->panoramix)
Downloading python-editor-0.5.tar.gz
Collecting enum34 (from cryptography<2.0.0,>=1.1.1->panoramix)
Downloading enum34-1.1.2.tar.gz (46kB)
100% |################################| 51kB 3.2MB/s
Collecting ipaddress (from cryptography<2.0.0,>=1.1.1->panoramix)
Downloading ipaddress-1.0.16-py27-none-any.whl
Collecting pyasn1>=0.1.8 (from cryptography<2.0.0,>=1.1.1->panoramix)
Downloading pyasn1-0.1.9-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): setuptools>=1.0 in c:\python27\lib\site-packages (from cryptography<2.0.0,>=1.1.1->panoramix)
Collecting six>=1.4.1 (from cryptography<2.0.0,>=1.1.1->panoramix)
Downloading six-1.10.0-py2.py3-none-any.whl
Collecting idna>=2.0 (from cryptography<2.0.0,>=1.1.1->panoramix)
Downloading idna-2.0-py2.py3-none-any.whl (61kB)
100% |################################| 61kB 3.2MB/s
Collecting cffi>=1.4.1 (from cryptography<2.0.0,>=1.1.1->panoramix)
Downloading cffi-1.5.2-cp27-none-win32.whl (141kB)
100% |################################| 143kB 1.2MB/s
Collecting colorama>=0.3 (from flask-appbuilder<2.0.0,>=1.4.5->panoramix)
Downloading colorama-0.3.7-py2.py3-none-any.whl
Collecting click>=3.0 (from flask-appbuilder<2.0.0,>=1.4.5->panoramix)
Downloading click-6.3-py2.py3-none-any.whl (70kB)
100% |################################| 71kB 1.6MB/s
Collecting Flask-BabelPkg>=0.9.4 (from flask-appbuilder<2.0.0,>=1.4.5->panoramix)
Downloading Flask-BabelPkg-0.9.6.tar.gz
Collecting Flask-OpenID>=1.1.0 (from flask-appbuilder<2.0.0,>=1.4.5->panoramix)
Downloading Flask-OpenID-1.2.5.tar.gz (43kB)
100% |################################| 51kB 1.8MB/s
Collecting Flask-WTF>=0.9.1 (from flask-appbuilder<2.0.0,>=1.4.5->panoramix)
Downloading Flask_WTF-0.12-py2-none-any.whl
Collecting Jinja2>=2.4 (from flask<1.0.0,>=0.10.1->panoramix)
Downloading Jinja2-2.8-py2.py3-none-any.whl (263kB)
100% |################################| 266kB 293kB/s
Collecting itsdangerous>=0.21 (from flask<1.0.0,>=0.10.1->panoramix)
Downloading itsdangerous-0.24.tar.gz (46kB)
100% |################################| 51kB 1.4MB/s
Collecting pytz>=2011k (from pandas<0.17,==0.16.2->panoramix)
Downloading pytz-2015.7-py2.py3-none-any.whl (476kB)
100% |################################| 481kB 975kB/s
Collecting MarkupSafe>=0.9.2 (from Mako->alembic<0.9.0,>=0.8.2->panoramix)
Downloading MarkupSafe-0.23.tar.gz
Collecting pycparser (from cffi>=1.4.1->cryptography<2.0.0,>=1.1.1->panoramix)
Downloading pycparser-2.14.tar.gz (223kB)
100% |################################| 225kB 1.3MB/s
Collecting Babel>=1.0 (from Flask-BabelPkg>=0.9.4->flask-appbuilder<2.0.0,>=1.4.5->panoramix)
Downloading Babel-2.2.0-py2.py3-none-any.whl (6.5MB)
100% |################################| 6.5MB 139kB/s
Collecting speaklater>=1.2 (from Flask-BabelPkg>=0.9.4->flask-appbuilder<2.0.0,>=1.4.5->panoramix)
Downloading speaklater-1.3.tar.gz
Collecting python-openid>=2.0 (from Flask-OpenID>=1.1.0->flask-appbuilder<2.0.0,>=1.4.5->panoramix)
Downloading python-openid-2.2.5.tar.gz (301kB)
100% |################################| 307kB 1.3MB/s
Collecting WTForms (from Flask-WTF>=0.9.1->flask-appbuilder<2.0.0,>=1.4.5->panoramix)
Downloading WTForms-2.1.zip (553kB)
100% |################################| 563kB 966kB/s
Installing collected packages: sqlalchemy, MarkupSafe, Mako, python-editor, alembic, enum34, ipaddress, pyasn1, six, idna, pycparser, cffi, cryptography, colorama, click, werkzeug, Jinja2, itsdangerous, flask, pytz, Babel, speaklater, Flask-BabelPkg, flask-login, python-openid, Flask-OpenID, flask-sqlalchemy, WTForms, Flask-WTF, flask-appbuilder, flask-script, flask-migrate, flask-testing, gunicorn, markdown, numpy, python-dateutil, pandas, parsedatetime, pydruid, requests, sqlalchemy-utils, sqlparse, panoramix
Running setup.py install for sqlalchemy ... done
Running setup.py install for MarkupSafe ... done
Running setup.py install for Mako ... done
Running setup.py install for python-editor ... done
Running setup.py install for alembic ... done
Running setup.py install for enum34 ... done
Running setup.py install for pycparser ... done
Running setup.py install for itsdangerous ... done
Running setup.py install for flask ... done
Running setup.py install for speaklater ... done
Running setup.py install for Flask-BabelPkg ... done
Running setup.py install for flask-login ... done
Running setup.py install for python-openid ... done
Running setup.py install for Flask-OpenID ... done
Running setup.py install for flask-sqlalchemy ... done
Running setup.py install for WTForms ... done
Running setup.py install for flask-appbuilder ... done
Running setup.py install for flask-script ... done
Running setup.py install for flask-migrate ... done
Running setup.py install for flask-testing ... done
Running setup.py install for markdown ... done
Running setup.py install for pydruid ... done
Running setup.py install for sqlalchemy-utils ... done
Running setup.py install for sqlparse ... done
Running setup.py install for panoramix ... done
Successfully installed Babel-2.2.0 Flask-BabelPkg-0.9.6 Flask-OpenID-1.2.5 Flask-WTF-0.12 Jinja2-2.8 Mako-1.0.3 MarkupSafe-0.23 WTForms-2.1 alembic-0.8.5 cffi-1.5.2 click-6.3 colorama-0.3.7 cryptography-1.2.3 enum34-1.1.2 flask-0.10.1 flask-appbuilder-1.6.0 flask-login-0.2.11 flask-migrate-1.8.0 flask-script-2.0.5 flask-sqlalchemy-2.0 flask-testing-0.4.2 gunicorn-19.4.5 idna-2.0 ipaddress-1.0.16 itsdangerous-0.24 markdown-2.6.5 numpy-1.10.4 pandas-0.16.2 panoramix-0.7.0 parsedatetime-1.5 pyasn1-0.1.9 pycparser-2.14 pydruid-0.2.3 python-dateutil-2.5.0 python-editor-0.5 python-openid-2.2.5 pytz-2015.7 requests-2.9.1 six-1.10.0 speaklater-1.3 sqlalchemy-1.0.12 sqlalchemy-utils-0.31.6 sqlparse-0.1.19 werkzeug-0.11.2
c:\Python27\Scripts>fabmanager create-admin --app panoramix
Username [admin]: abcd
User first name [admin]: abcd
User last name [user]: abcd
Email<EMAIL_ADDRESS><EMAIL_ADDRESS>Password:
Repeat for confirmation:
2016-03-10 11:18:47,601:ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: (sqlite3.OperationalError) unable to open database file

Looks like you are installing on windows. I have no way to test against or support windows...

Thanks, will see if i can figure this out. What platform do you recommend installing for POC?

HI,
I'm managing with Ubuntu and Windows.
To make it work on windows you'll need to tricks:

I'm sure about having to change the data path for the sqllite database, but can not find where I did it, sorry. BTW be sure to have an existing "tmp" folder at C:\
Delete "panoramix\panoramix\static\assets" file and replace by a symlink to  **"..\assest" **
mklink /D assests ..\assests

Hope this helos

Ubuntu should work great. I'm not planning on ever working on windows support. If someone was to take that on I can review the PRs and just make sure it doesn't break the rest.

Thanks

Under windows you will need to create a panoramix_config.py in your PYTHONPATH.

or you can create panoramix_config.py in the same location as config.py and when you run the server config should compile panoramix_config.py
P.S: its changed to caravel_config now ;)

Hi, I am also getting the same error on my Windows machine.
Any updates on this?

Found solution. Error happends because flask_manager could not find default db path for sqlite db. To fix this your need to change SQLALCHEMY_DATABASE_URI in caravel config.py

Go to your anaconda / python directory.
Open %python_path%\Lib\site-packages\caravel\config.py with text editor
Find row with SQLALCHEMY_DATABASE_URI connection string and change it according to your operation system / database setup. For windows you should type something like
'sqlite:///C:\\tmp\\caravel.db'

More examples on connection strings at sql alchemy docs pages:
http://docs.sqlalchemy.org/en/rel_0_9/core/engines.html#database-urls

Thanks a ton! Works like charm :)

Hi, a note on Windows 10. I did not have to edit / create config files. Creating the now missing C:\Temp worked for me though...

Same for me ! Works perfectly now


fix bugs in FormattableDate JS tests

Purpose
Our karma tests for FormattableDates had two consistent failures.  One was a bad test, the other was a bug in the underlying library.  Both tests happen to pass on Travis because the local timezone on their server is GMT.  These tests will fail in any other timezone.
Changes
The first error was caused by FormattableDate assuming that date-only input
represents midnight in local-time.  Our test was comparing the return
value to midnight in UTC, which means the test would fail anywhere but
in +0.  We should probably fix up FormattableDate to consistently return
midnight UTC, but that will require a lot more verification of our
consuming code.  For now, add a new test function that only verifies
the date component of the returned datetime.
The second bug was caused by moment.js not recognizing the '+00' method
of indicating timezone offset.  moment.js has now been pinned to
v2.10.6, and the tests updated to test both positive and negative
offsets.
Side effects
Upgrading moment.js from 2.9.0 to 2.10.6 has the potential to cause errors elsewhere.  I've looked through the code and didn't see any obvious problems, I didn't encounter any JS errors or misformatted dates while running the code locally.  QA should check share events, activity logs, and wiki timestamps.
Ticket
[#OSF-5950|https://openscience.atlassian.net/browse/OSF-5950]
I couldn't reproduce the S3 issues locally, so that is not part of this PR.

Also unable to reproduce the S3 issues locally, confirmed that karma now passes.
LGTM :shipit:


Upper time bound is ignored

Describe the bug
Running the following command
gitflows-stats github $(cat github-token) input-output-hk hydra 2022-09-01 2023-05-31 --format html

yields this stats page

I would have expected the period to end on May 31st. This is not only annoying for display but skews the stats and makes it impossible to extract evolution of average over time, eg. a sliding window of 3 months for example, in order to identify trends.

Hello @abailly ,
Did you try to separate the 2 dates with a comma (2022-09-01,2023-05-31 instead of 2022-09-01 2023-05-31)?
if you run gitflows-stats github --help you will have the help displayed where it explains about the format. I'll should change the place where the format is detailed

🤦
Perhaps the CLI arguments parser should be stricter and fail in this case?

I like the idea. I'll check that 👍

So the displayed range is good:

but the graph still shows Jun

Ok, i'll check that ;)

Issue is fixed on release 0.2.8


Site improvements

Change how the RSS feed is generated in order to avoid a crashing bug in Hugo when
used in server mode.

Prevent the OWNERS file from leaking into the generated site.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
If they are not already assigned, you can assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


fix for issue #73

updating the Gradle files to use version Gradle 2.3.0

This sample has been migrated to a new location where we can accept Pull Requests (check README for more information).
As recommended by GitHub, we are closing all issues and pull requests now that this older repo will be archived.
If you still see this issue in the updated repo, please reopen the issue/PR there. Thank you!


Publish vscode-rdbg in open vsx

According to the latest Microsoft Terms & Policy, VSCodium, Theia IDE, which is used by many remote development platforms like Gitpod, cant use the VSCode marketplace to fetch the extensions.
Alternatively, Open VSX Registry offers to use the extensions without licensing issues.
I request to publish this extension in the Open VSX Registry registry.
It's simple to publish in open-vsix and you can get a guide here

@ono-max what do you think about this ?

Thank you for your proposals, and I already created a PR https://github.com/ruby/vscode-rdbg/pull/109 tro support open vsx. However, we can't merge it now because we don't have a LICENSE yet.

@ono-max oh, got it.

Could you join the conversation in https://github.com/ruby/vscode-rdbg/issues/5? It may be push to supporting open vsx.


refactor: ♻ fix typo in toolkit.tsx comment

createClice -> createSlice

Pull Request Test Coverage Report for Build 96265878

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.344%

Totals

Change from base Build 95901380:
0.0%

Covered Lines:
242

Relevant Lines:
242

💛  - Coveralls

Pull Request Test Coverage Report for Build 96265878
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.344%

Totals

Change from base Build 95901380:
0.0%

Covered Lines:
242

Relevant Lines:
242

💛  - Coveralls


⚠ Samsung has degraded performance

In 1dfd6ce, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2608 ms

Resolved: Samsung performance has improved in d477269.


Random segfault when reconnecting

Sometimes (I hate these kinds of bugs, as they're very difficult to reproduce), when I run the server (OS: Fedora 38 x86-64), and try to connect from Firefox (version 115.0.3 as of now, but version 114 behaved the same) from the https://webtransport.day website, the server segfaults with a ton of these messages:
2023-08-01T08:36:00.648896Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.648932Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.648967Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649003Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649038Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649074Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649110Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649146Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649182Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649217Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649253Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649288Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649324Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649367Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649404Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649440Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649484Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649521Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649558Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649593Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649629Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649665Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649700Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649736Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649771Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649807Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649844Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649879Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649915Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649950Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.649986Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650021Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650057Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650093Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650129Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650165Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650201Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650236Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650272Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650308Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650343Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650397Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650433Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650468Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650502Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650537Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650572Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650606Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650642Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650677Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650713Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650747Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650782Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650816Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650851Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650886Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650920Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650955Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.650990Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651025Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651060Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651094Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651129Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651164Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651199Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651233Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651268Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651303Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651337Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651400Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651447Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651483Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651519Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651555Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651590Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651626Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651662Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651697Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651733Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651768Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651804Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651839Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651876Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651912Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651948Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.651983Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652019Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652054Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652090Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652125Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652161Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652197Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652232Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652268Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652304Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652339Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652394Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652430Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652464Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652499Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652534Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026
2023-08-01T08:36:00.652568Z DEBUG quinn_proto::endpoint: sending stateless reset for 7b35de7faa00c48a to [::1]:45026fish: Job 1, 'env RUST_BACKTRACE=full mix run…' terminated by signal SIGABRT (Abort)

Note that there are many more of these messages than what I pasted here.
To somewhat reproduce the problem, start the server, connect form Firefox, then reload the page and connect again.
Sometimes it crashes, and sometimes not.

To reproduce:

Start the server
Connect from https://webtransport.day
CTRL-C on the server
Shift + reload on the Firefox tab of https://webtransport.day

The wtransport server example does not crash, but I still see the stateless reset flooding.
So I suppose that flooding the stdout crashes the Erlang VM.
Regardless, I think that sending that many stateless resets that fast is still a bug.

Thank you for the investigation.
From a quick glance it seems related to a buggy behavior of Firefox.
When refreshing the tab, for some reason, Firefox keep sending QUIC packets related to the previous connection.
In particular the a CONNECTION_CLOSE QUIC Frame:
    CONNECTION_CLOSE (Application) Error code: 0x100
        Frame Type: CONNECTION_CLOSE (Application) (0x000000000000001d)
        Application Error code: 256
        Reason phrase Length: 0
        Reason phrase:

The restarted server has no information about the previous connection satte, so it replies with a stateless reset.
From QUIC 9000 10.3 (https://datatracker.ietf.org/doc/html/rfc9000#name-stateless-reset):

A crash or outage might result in peers continuing to send data to an endpoint that is unable to properly continue the connection. An endpoint MAY send a Stateless Reset in response to receiving a packet that it cannot associate with an active connection.

Despite of the stateless packet, Firefox keeps sending CONNECTION_CLOSE frames.

Regardless, I think that sending that many stateless resets that fast is still a bug.

When trying on myself, I see 123 stateless retry. All triggered by the frame sent by Firefox. By quickly looking at the QUIC RFC, the QUIC layer (quinn) is correctly behaving. But feel free to point me out if you find differently.

The wtransport server example does not crash, but I still see the stateless reset flooding.
So I suppose that flooding the stdout crashes the Erlang VM.

Those logs are emitted by the QUIC layer (quinn transport library). However, I think you can filter them out (see target, on tracing crate)

From a quick glance it seems related to a buggy behavior of Firefox.

I agree that Firefox has a buggy behaviour here. However, a server should be robust enough to not crash with buggy or malicious clients.

But feel free to point me out if you find differently.

So the correct behaviour for handling a buggy client is to send 123 stateless retries in less than a second?
I think there's a problem here, there should be some kind of limit on how many stateless retries get sent in a given amount of time, do you agree?

By looking at the QUIC standard, I see mentions about the security concern for network amplification attack.

An endpoint MUST ensure that every Stateless Reset that it sends is smaller than the packet that triggered it, unless it maintains state sufficient to prevent looping.

This requirement seems to be fullfilled by the QUIC transport layer (quinn).
The standard also continues with:

An endpoint can remember the number of Stateless Resets that it has sent and stop generating new Stateless Resets once a limit is reached. Using separate limits for different remote addresses will ensure that Stateless Resets can be used to close connections when other peers or connections have exhausted limits.

Where "can" is to be interpreted as optional (as that would imply a logic that keeps track of a state).
It seems to me that loops are acceptable as far as the server replies with smaller packets

Why does it segfault though? Is it a segfault or an OOM kill maybe?
It does not segfault! As can be seen from the logs, it gets an SIGABRT, not SIGSEGV:
terminated by signal SIGABRT (Abort)

This seems like it could be an OOM kill. What does dmesg say?

This seems like it could be an OOM kill. What does dmesg say?

It's not an OOM kill.
I repeated the whole procedure for crashing the application, monitoring with htop, and memory usage was perfectly stable and normal the whole time.
dmesg didn't show anything.

anyway, I'm leaning to believe that the wtransport library is working correctly.
The crash only happens when I run with RUST_LOG=debug.
With RUST_LOG=off it doesn't crash.
This leads me to believe that there is a problem between the Erlang VM and flooding the stdout/stderr.