Experience report: nothing much is working, every useful action is failing or crashing #237
Labels
No labels
Android
CS::needs customer feedback
CS::needs follow up
CS::needs on prem installation
CS::waiting
Chrome
Design:: Ready
Design:: in progress
Design::UX
E2EE
Edge
Firefox
GDPR
Iteration 13 IM
Linux
MacOS
Need::Discussion
Need::Steps to reproduce
Need::Upstream fix
Needs:: Planning
Needs::Dev-Team
Needs::More information
Needs::Priority
Needs::Product
Needs::Refinement
Needs::Severity
Priority::1-Critical
Priority::2-Max
Priority::3-Impending
Priority::4-High
Priority::5-Medium
Priority::6-Low
Priority::7-None
Progress::Backlog
Progress::Review
Progress::Started
Progress::Testing
Progress::Triage
Progress::Waiting
Reporter::Sentry
Safari
Target::Community
Target::Customer
Target::Internal
Target::PoC
Target::Security
Team:Customer-Success
Team:Design
Team:Infrastructure
Team:Instant-Messaging
Team:Product
Team:Workflows
Type::Bug
Type::Design
Type::Documentation
Type::Feature
Type::Improvement
Type::Support
Type::Tests
Windows
blocked
blocked-by-spec
cla-signed
conduit
contribution::advanced
contribution::easy
contribution::help needed
from::review
iOS
p::ti-tenant
performance
product::triage
proposal
refactor
release-blocker
s: dart_openapi_codegen
s::Famedly-Patient
s::Org-Directory
s::Passport-Generator
s::Requeuest
s:CRM
s:Famedly-App
s:Famedly-Web
s:Fhiroxide
s:Fhiroxide-cli
s:Fhiroxide-client
s:Fhirs
s:Hedwig
s:LISA
s:Matrix-Dart-SDK
s:Role-Manager
s:Synapse
s:User-Directory
s:WFS-Matrix
s:Workflow Engine
s:dtls
s:famedly-error
s:fcm-shared-isolate
s:matrix-api-lite
s:multiple-tab-detector
s:native-imaging
severity::1
severity::2
severity::3
severity::4
technical-debt
voip
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Matthias/conduit#237
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Here is a report from trying to set this up on chrismorgan.info.
Latest everything: conduit next (
0cec421
); Arch Linux, built with the PKGBUILD from https://github.com/S7evinK/conduit-archlinux/pull/1; current nightly rustc. Server has about 7GB out of 20GB disk space free, about 750MB out of 1GB RAM free, and one core, which sits close to idle (typical load factor <0.05). Straightforward nginx reverse proxy on 443 and 8448.allow_registration = false
in my config file and restarted Conduit.# allow_encryption = false
and# allow_federation = false
, with the text before the first roughly saying that its default istrue
, and so I assumed that this meant thatallow_federation
also defaulted totrue
. Eventually I looked at the code, and no, federation is indeed false by default. Recommendation: where there are commented-out values in the sample config file, they should either clearly match the defaults, or clearly be different from the defaults (probably the former—though it’s risky in case of changing defaults, so that there can also be merit in just spelling everything out). Also a line break is needed between these two because they’re completely unrelated. And later in the file onproxy
it refers to a source file which you can’t reasonably assume the reader has, and the path is wrong too. And I wish you didn’t have a bunch of slightly-divergent sample config files (conduit-example.toml, DEPLOY.md, debian/postinst; also other config stuff, and systemctl units, with DEPLOY.md duplicating yet deviating from debian/matrix-conduit.service). Anyway, I successfully enabled federation. Incidentally I would also note from looking at config.rs that it doesn’t include everything, even comparatively normal config likeallow_room_creation
..expect("#admins:server_name is a valid room alias")
which is worded back to front: the argument toexpect
should not be the failed expectation, but the problem, which would be that it was not a valid room alias.)I’m not giving up on Conduit, but would like to get this working, and so am happy to work further with you. Given that nothing useful is actually working yet, I’m quite content to scrap the db and start from scratch at this stage.
Hmm, I just figured I’d try it in a clean location, run directly rather than via systemd.
Turns out that what I built crashes on the first execution, presumably at some point in database initialisation, but without debug symbols I don’t know how to get anything useful out of it. I guess that could explain why there was no “Created new {} database with version {}” message in the journal.
I tried swapping from rocksdb to sqlite, same crash.
Tried running it on my laptop (which is where I built the package because it’s at least 20× as fast, probably more like 100×, for such purposes), and it didn’t crash.
The plot thickens. Building it on the server now. If it succeeds, I suppose something is doing compile-time CPU feature detection, which is a very bad idea. If it doesn’t, perhaps something is depending on too-recent CPU features and should be relaxed. (My server is with Vultr; /proc/cpuinfo says vendor_id GenuineIntel, family 6, model 61, model name Virtual CPU a7769a6388d5.) Or else I’m not sure yet, perhaps if it gets to that I can build it locally with debug symbols and see where it’s actually crashing.
So: the worst of my initial report here is probably all caused by one specific issue, though there are a few independent points.
I’ll post more in a year or three when the server finishes compiling and I’ve tried it out. (OK, so it’s actually almost up to linking, because I did half the build earlier before switching to my laptop, and I started the remainder probably only 20 or 30 minutes ago.)
I'm sorry for your horrible experience, I hope we can solve all these problems
OK, the build on the server finished, and it’s reaching “Created new rocksdb database with version 11” without a crash. This suggests to me that something is doing compile-time CPU feature detection, which is very undesirable as a default (though it can be a useful optional feature).
See you in #conduit:fachschaften.org soon, provided everything else goes smoothly!
What's the status of your server? Can I close this issue?