$ file /usr/local/citadel/citserver
/usr/local/citadel/citserver: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=116b0efcfd50697924880cf1089992ea8332ba57, for GNU/Linux 3.7.0, with debug_info, not stripped
Running: Citadel Server 1001 with WebCit 1009
Server Build: 1001
How to get a stack trace?
Today I was run "curl https://easyinstall.citadel.org/install | bash". After 5 minutes citadel.service failed, I try to restart and after few seconds fail again! (((((((((((((((((((((((( I restored again from morning backup
I found the problem, but did not find the solution. When updating citadel, only webcit is updated, but the database and the server itself are not updated. Accordingly, when restoring the server from a backup, the server and DB version are 1001, after starting the update, the server and DB are updated and an error occurs with the database files and the service crashes. Why is the database not converted during the update?
Also, for testing purposes, I installed citadel on a new server and loaded the DB dump, after which there is also a failure. I noticed that on the old server, the dump is made with the utility from the DB version 1001, and on the new server, the dump is loaded for the DB version 1009, and errors about damaged records pour in. After the dump is loaded, the citadel service starts and I can log in as a regular user, a user with administrative rights cannot log in, an incorrect password error occurs. And if you restart the reinstallation after this via easyinstall, everything crashes into an error.
I did another test. I installed a clean citadel installation on another server, then copied the database directory from the working server to the test server. After that, citadel started and worked successfully, and the database version was updated to version 1009. After that, I went again and set up a new mail sorting rule, citadel failed again. I deleted the database files again and copied them from the archive, citadel started and did not fail anymore. I decided to check again and went to the section for changing my contact information, made changes and citadel failed again after a few seconds. (((((((
I currently have the following version on my test server:
Running: Citadel Server 1009 with WebCit 1009
Server Build: 1009
Feb 19 20:28:24 deb-ams1-01 citserver[40754]: Existing database version on disk is 1001
Feb 19 20:28:24 deb-ams1-01 citserver[40754]: citserver[40754]: Existing database version on disk is 1001
Feb 19 20:28:24 deb-ams1-01 citserver[40754]: citserver[40754]: Running post-startup database upgrades.
Feb 19 20:28:24 deb-ams1-01 citserver[40754]: citserver[40754]: extensions: service DICT_TCP has been manually disabled, skipping
Feb 19 20:28:24 deb-ams1-01 citserver[40754]: citserver[40754]: extensions: TCP port *:5222: (XMPP) registered.
Feb 19 20:28:24 deb-ams1-01 citserver[40754]: Running post-startup database upgrades.
After restarting citadel:
Feb 19 20:28:49 deb-ams1-01 citserver[40763]: extensions: unix domain socket 'lmtp.socket': registered.
Feb 19 20:28:49 deb-ams1-01 citserver[40763]: extensions: unix domain socket 'lmtp-unfiltered.socket': registered.
Feb 19 20:28:49 deb-ams1-01 citserver[40763]: Existing database version on disk is 1009
Feb 19 20:28:49 deb-ams1-01 citserver[40763]: citserver[40763]: Existing database version on disk is 1009
Any change to the user settings causes a crash.
Hooray, I found a solution to the problem!!!!
I had an error in the rights on the database files:
Was:
-rw------- 1 citadel root 65M Feb 19 20:50 cdb.00
I installed sudo chown citadel:citadel *
Now:
-rw------- 1 citadel citadel 65M Feb 19 20:50 cdb.00
I don't understand when the rights disappeared.
The joy is premature. On the test server of x86 architecture the problem was solved. But on the main working server with aarm64 (Orange Pi 5) on Debian 11 it was only possible to update all components to version 1009, but also all changes lead to a fail and arclog files start multiplying and citadel no longer starts.
Is it possible to create mail filter rules for rooms ?
Greetings
Goose
Armbian is more up to date.
The joy is premature. On the test server of x86 architecture the problem was solved. But on the main working server with aarm64 (Orange Pi 5) on Debian 11 it was only possible to update all components to version 1009, but also all changes lead to a fail and arclog files start multiplying and citadel no longer starts.
The problem is still not solved. I tried it on another test server x86 Debian, as soon as I change any settings for the user, citadel crashes and a large number of log.xxxx files start to be created in the /usr/local/citadel/data folder and the service immediately crashes.
Please enable core dumps on your system. (If you don't know how to do that, check your favorite search engine.)
After the Citadel Server crashes, you can then do this:
cd /usr/local/citadel
gdb ./citserver [path/to/core_file]
The debugger will start up and put you into the server program right after it crashed. Now do this:
thread apply all bt
And post the output of that command. It is also imperative that you are running the latest version. Your problem sounds like one we fixed a couple of versions ago where a corrupt incoming message (usually a spam) causes the server to crash whenever the indexer is run.
I've just compiled the current version of citadel (1009) from source.
It looks like the options for citserver have changed from the documentation. On https://citadel.org/citserver.html there is a -d option to run as a daemon, but on the version I've compiled there is no -d option but there is a -r option I can't find documented anywhere. Are there more up to date docs or have I missed a compile option?
On the same vein I can't find a sample init script anywhere. I'm trying to install on Slackware. Happy to create my own init script but it would be good to have either a sysvinit or systemd service file as an example. Are there any examples around?
I'm trying to follow the setup instructions at https://citadel.org/system_administration_manual.html. It mentions logging in with the citadel binary but when I compiled there was no citadel binary built. I note it is not referenced at https://citadel.org/documentation.html. Is this now deprecated in favor of webciv?
Thanks in advance for any pointers :)
Unfortunately there is no longer a `-d` option. citserver now always runs "in the foreground" because most sites are running it under systemd, which waits for the process to exit so that some action can be taken. If you do need to run citserver from some other init system that requires it to go into the background, simply put an `&` after the citserver command.
Thanks for that. Do you know what the '-r' option to citserver is for?
Also should the citadel binary have been built? When I compile 1009 I'm not getting one.
how do i connect anetwork room with another citadel bbs?
Thanks for that. Do you know what the '-r' option to citserver is for?
Also should the citadel binary have been built? When I compile 1009 I'm not getting one.
'-r' is an undocumented switch that tells Citadel Server not to drop root permissions after initializing. There is normally no reason to do this unless you're troubleshooting a special condition.
The 'citadel' binary is the text mode client. If you are manually compiling the components of the Citadel system, you'll find that build in the textclient/ directory.
how do i connect anetwork room with another citadel bbs?
Room sharing was discontinued a long time ago. It will likely reappear in some other form in the future, probably some sort of fediverse type of thing where we can integrate with more than just other Citadels.
Do you have two or more Citadel sites that you need to string together with room sharing? You might be able to bodge something together by having them pull each other's RSS feeds for each shared room. I haven't tried it but it might just work.