> What's the output of `ulimit -n` and `lsof -p $(lei daemon-pid)`? 🖳 ulimit -n 1024
🖳 ps -ef |grep lei-daemon root 861005 1 0 19:24 ? 00:00:00 lei-daemon /tmp/lei-0/5.seq.sock louis 1025477 1015489 0 22:22 pts/6 00:00:00 grep --color=auto lei-daemon ~ 🖳 sudo lsof -p 861005 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME lei-daemo 861005 root cwd DIR 0,34 246 2902791 /home/louis/Mail/linux-bpf lei-daemo 861005 root rtd DIR 0,34 158 256 / lei-daemo 861005 root txt REG 0,34 15984 746278 /usr/bin/perl lei-daemo 861005 root mem REG 0,32 746278 /usr/bin/perl (path dev=0,34) lei-daemo 861005 root mem REG 0,32 669987 /usr/lib64/libstdc++.so.6.0.30 (path dev=0,34) lei-daemo 861005 root mem REG 0,32 654072 /usr/lib64/libgcc_s-12-20221121.so.1 (path dev=0,34) lei-daemo 861005 root mem REG 0,32 707780 /usr/lib64/libxapian.so.30.12.1 (path dev=0,34) lei-daemo 861005 root mem REG 0,32 744976 /usr/lib64/perl5/vendor_perl/auto/Data/Dumper/Dumper.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 2847838 /usr/lib64/perl5/vendor_perl/auto/Search/Xapian/Xapian.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 670001 /usr/lib64/libz.so.1.2.12 (path dev=0,34) lei-daemo 861005 root mem REG 0,32 670059 /usr/lib64/libsqlite3.so.0.8.6 (path dev=0,34) lei-daemo 861005 root mem REG 0,32 1142922 /usr/lib/locale/locale-archive (path dev=0,34) lei-daemo 861005 root mem REG 0,32 746285 /usr/lib64/perl5/auto/Sys/Hostname/Hostname.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 670032 /usr/lib64/libuuid.so.1.3.0 (path dev=0,34) lei-daemo 861005 root mem REG 0,32 2846948 /usr/lib64/perl5/vendor_perl/auto/Compress/Raw/Zlib/Zlib.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 2848056 /usr/lib64/perl5/vendor_perl/auto/DBD/SQLite/SQLite.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 748851 /usr/lib64/perl5/vendor_perl/auto/DBI/DBI.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745669 /usr/lib64/perl5/auto/attributes/attributes.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 2847712 /usr/lib64/perl5/vendor_perl/auto/Cpanel/JSON/XS/XS.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 2848586 /usr/lib64/perl5/vendor_perl/auto/Linux/Inotify2/Inotify2.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 2849070 /usr/lib64/perl5/vendor_perl/auto/Socket/MsgHdr/MsgHdr.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 2847193 /usr/lib64/perl5/vendor_perl/auto/Sys/Syslog/Syslog.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745481 /usr/lib64/perl5/vendor_perl/auto/MIME/Base64/Base64.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745670 /usr/lib64/perl5/auto/re/re.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745506 /usr/lib64/perl5/vendor_perl/auto/Storable/Storable.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745611 /usr/lib64/perl5/vendor_perl/auto/Encode/Encode.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 2849930 /usr/lib64/perl5/vendor_perl/auto/Email/Address/XS/XS.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 1143694 /usr/lib64/libm.so.6 (path dev=0,34) lei-daemo 861005 root mem REG 0,32 1143691 /usr/lib64/libc.so.6 (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745650 /usr/lib64/libperl.so.5.36.0 (path dev=0,34) lei-daemo 861005 root mem REG 0,32 2846914 /usr/lib64/perl5/vendor_perl/auto/Digest/SHA/SHA.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745663 /usr/lib64/perl5/auto/File/Glob/Glob.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745449 /usr/lib64/perl5/auto/IO/IO.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745355 /usr/lib64/perl5/vendor_perl/auto/Socket/Socket.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745492 /usr/lib64/perl5/vendor_perl/auto/List/Util/Util.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745259 /usr/lib64/perl5/auto/POSIX/POSIX.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 1019649 /usr/lib64/libcrypt.so.2.0.0 (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745556 /usr/lib64/perl5/vendor_perl/auto/Cwd/Cwd.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 2846928 /usr/lib64/perl5/vendor_perl/auto/Time/HiRes/HiRes.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 745427 /usr/lib64/perl5/auto/Fcntl/Fcntl.so (path dev=0,34) lei-daemo 861005 root mem REG 0,32 1143688 /usr/lib64/ld-linux-x86-64.so.2 (path dev=0,34) lei-daemo 861005 root 0u REG 0,38 0 3448 /tmp/lei-0/errors.log lei-daemo 861005 root 1u REG 0,38 0 3448 /tmp/lei-0/errors.log lei-daemo 861005 root 2u REG 0,38 0 3448 /tmp/lei-0/errors.log lei-daemo 861005 root 3u a_inode 0,14 0 15364 [eventpoll:4,5,7,8,14] lei-daemo 861005 root 4u unix 0x0000000033b859c6 0t0 4095008 /tmp/lei-0/5.seq.sock type=SEQPACKET (LISTEN) lei-daemo 861005 root 5u unix 0x000000007a56c532 0t0 4085549 type=SEQPACKET (CONNECTED) lei-daemo 861005 root 6u unix 0x00000000c6d0e27b 0t0 4085550 type=SEQPACKET (CONNECTED) lei-daemo 861005 root 7r a_inode 0,14 0 15364 inotify lei-daemo 861005 root 8u a_inode 0,14 0 15364 [signalfd] lei-daemo 861005 root 14r FIFO 0,13 0t0 4098533 pipe lei-daemo 861005 root 16u unix 0x00000000557447d0 0t0 4098534 type=SEQPACKET (CONNECTED) lei-daemo 861005 root 17u unix 0x00000000f60edd15 0t0 4098535 type=SEQPACKET (CONNECTED) Above is 54 open sockets. Which seems fine. Should daemon be running as root, if I intend to only use lei as user? On Mon, Mar 27, 2023 at 9:32 PM Eric Wong <[email protected]> wrote: > > Louis DeLosSantos <[email protected]> wrote: > > Hello, > > > > I'm experimenting with `lei` as a nice search tool for `lore.kernel.org` > > > > Everything works fine with the caveat that it seems to break if I'm not > > root. > > > > When using `lei` as non-root we get this error: > > I've never used lei as root nor has any part of public-inbox > ever been intended to run as root. > > > ``` > > E: Linux::Inotify2->new: Too many open files at > > /usr/share/perl5/vendor_perl/PublicInbox/DirIdle.pm line 40. > > connect(/run/user/1000/lei/5.seq.sock): Connection refused (after > > attempted daemon start) > > ``` > > > > Any ideas why this may occur? Is `lei` designed to only be ran as root > > or is Fedora installing perl in an odd fashion which results in root > > needing to be used? > > What's the output of `ulimit -n` and `lsof -p $(lei daemon-pid)`? > > (you may need to use `ps -ef |grep lei-daemon` to get the PID > if lei is broken and using too many FDs, though) > > `ulimit -n' is the open file limit, typically 1024 or higher. > > If `lsof -p $PID` may reveal a bug in lei which leaves too many > files open. lei (especially with inotify on Linux) should use > far less than 1024. > > (FreeBSD may end up using far more open files, but that's a > different story)
