Hello,
I setup notmuch in my user account "cweiske" and now want to use the
browser-based "notmore" UI for it.
I setup notmore on Apache + PHP, and it runs as www-data user.
The directory permissions should be fine; I changed via "su -s /bin/bash
- www-data" to the user and executed "notmuch --config /home/cweiske/...
search test" and it returned results.
When "notmuch search" is run via apache's mod_php, it exits with
status code 1, and no output in stdout nor stderr.
What could the reason be for that?
----
Running "notmuch config list" via apache works.
There are no selinux/apparmor errors in jourctl or dmesg.
"strace -f" output it not really helpful, but is attached.
--
Regards/Mit freundlichen Grüßen
Christian Weiske
-=≡ Geeking around in the name of science since 1982 ≡=-
Exception: notmuch command failed with exit code 1 (strace -f /usr/bin/notmuch --config /home/cweiske/.config/notmuch/default/config search --format=json bosal): execve("/usr/bin/notmuch", ["/usr/bin/notmuch", "--config", "/home/cweiske/.config/notmuch/de"..., "search", "--format=json", "bosal"], 0x7fff50b059b0 /* 17 vars */) = 0
brk(NULL) = 0x5642034ea000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1dd1ad9000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=153515, ...}) = 0
mmap(NULL, 153515, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f1dd1ab3000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libnotmuch.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=295944, ...}) = 0
mmap(NULL, 298088, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1a6a000
mmap(0x7f1dd1a77000, 176128, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x7f1dd1a77000
mmap(0x7f1dd1aa2000, 57344, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x38000) = 0x7f1dd1aa2000
mmap(0x7f1dd1ab0000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x45000) = 0x7f1dd1ab0000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgmime-3.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=538840, ...}) = 0
mmap(NULL, 542016, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd19e5000
mmap(0x7f1dd19fc000, 249856, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f1dd19fc000
mmap(0x7f1dd1a39000, 106496, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x54000) = 0x7f1dd1a39000
mmap(0x7f1dd1a53000, 94208, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6d000) = 0x7f1dd1a53000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgobject-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=403680, ...}) = 0
mmap(NULL, 404488, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1982000
mmap(0x7f1dd1992000, 217088, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0x7f1dd1992000
mmap(0x7f1dd19c7000, 106496, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x45000) = 0x7f1dd19c7000
mmap(0x7f1dd19e1000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5f000) = 0x7f1dd19e1000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1404320, ...}) = 0
mmap(NULL, 1405416, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd182a000
mmap(0x7f1dd1849000, 659456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0x7f1dd1849000
mmap(0x7f1dd18ea000, 610304, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc0000) = 0x7f1dd18ea000
mmap(0x7f1dd197f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x155000) = 0x7f1dd197f000
mmap(0x7f1dd1981000, 488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1dd1981000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libtalloc.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=51120, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1dd1828000
mmap(NULL, 49232, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd181b000
mmap(0x7f1dd181e000, 24576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f1dd181e000
mmap(0x7f1dd1824000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f1dd1824000
mmap(0x7f1dd1826000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7f1dd1826000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=125376, ...}) = 0
mmap(NULL, 127376, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd17fb000
mmap(0x7f1dd17fe000, 81920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f1dd17fe000
mmap(0x7f1dd1812000, 28672, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f1dd1812000
mmap(0x7f1dd1819000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x7f1dd1819000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\236\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 840, 64) = 840
fstat(3, {st_mode=S_IFREG|0755, st_size=1995216, ...}) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 840, 64) = 840
mmap(NULL, 2047568, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1607000
mmap(0x7f1dd162f000, 1454080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f1dd162f000
mmap(0x7f1dd1792000, 352256, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18b000) = 0x7f1dd1792000
mmap(0x7f1dd17e8000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e0000) = 0x7f1dd17e8000
mmap(0x7f1dd17ee000, 52816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1dd17ee000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libxapian.so.30", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=2473472, ...}) = 0
mmap(NULL, 2475552, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1200000
mmap(0x7f1dd1235000, 1716224, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x35000) = 0x7f1dd1235000
mmap(0x7f1dd13d8000, 503808, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d8000) = 0x7f1dd13d8000
mmap(0x7f1dd1453000, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x252000) = 0x7f1dd1453000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libsexp.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=46968, ...}) = 0
mmap(NULL, 45096, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd15fb000
mmap(0x7f1dd15fd000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f1dd15fd000
mmap(0x7f1dd1604000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f1dd1604000
mmap(0x7f1dd1605000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f1dd1605000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=2497768, ...}) = 0
mmap(NULL, 2511040, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd0e00000
mmap(0x7f1dd0e9d000, 1216512, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9d000) = 0x7f1dd0e9d000
mmap(0x7f1dd0fc6000, 581632, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c6000) = 0x7f1dd0fc6000
mmap(0x7f1dd1054000, 57344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x254000) = 0x7f1dd1054000
mmap(0x7f1dd1062000, 12480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1dd1062000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=182856, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1dd15f9000
mmap(NULL, 181160, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd15cc000
mmap(0x7f1dd15d0000, 143360, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f1dd15d0000
mmap(0x7f1dd15f3000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0x7f1dd15f3000
mmap(0x7f1dd15f7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2b000) = 0x7f1dd15f7000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgio-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=2051320, ...}) = 0
mmap(NULL, 2061608, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd0c08000
mmap(0x7f1dd0c46000, 1171456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3e000) = 0x7f1dd0c46000
mmap(0x7f1dd0d64000, 585728, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f1dd0d64000
mmap(0x7f1dd0df3000, 45056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ea000) = 0x7f1dd0df3000
mmap(0x7f1dd0dfe000, 5416, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1dd0dfe000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgpgme.so.11", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=363912, ...}) = 0
mmap(NULL, 362200, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1573000
mmap(0x7f1dd157b000, 233472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7f1dd157b000
mmap(0x7f1dd15b4000, 86016, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x41000) = 0x7f1dd15b4000
mmap(0x7f1dd15c9000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x56000) = 0x7f1dd15c9000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libidn2.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=202872, ...}) = 0
mmap(NULL, 204952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1540000
mmap(0x7f1dd1542000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f1dd1542000
mmap(0x7f1dd154a000, 159744, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f1dd154a000
mmap(0x7f1dd1571000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x30000) = 0x7f1dd1571000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libffi.so.8", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=47576, ...}) = 0
mmap(NULL, 50792, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1533000
mmap(0x7f1dd1535000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f1dd1535000
mmap(0x7f1dd153c000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f1dd153c000
mmap(0x7f1dd153e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f1dd153e000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libatomic.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=30848, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1dd1531000
mmap(NULL, 37000, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1527000
mmap(0x7f1dd1529000, 12288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f1dd1529000
mmap(0x7f1dd152c000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f1dd152c000
mmap(0x7f1dd152e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f1dd152e000
mmap(0x7f1dd1530000, 136, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1dd1530000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=977112, ...}) = 0
mmap(NULL, 978968, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1110000
mmap(0x7f1dd1121000, 512000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x7f1dd1121000
mmap(0x7f1dd119e000, 393216, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8e000) = 0x7f1dd119e000
mmap(0x7f1dd11fe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xed000) = 0x7f1dd11fe000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=711216, ...}) = 0
mmap(NULL, 713544, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1478000
mmap(0x7f1dd147b000, 503808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f1dd147b000
mmap(0x7f1dd14f6000, 192512, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7e000) = 0x7f1dd14f6000
mmap(0x7f1dd1525000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xac000) = 0x7f1dd1525000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=39048, ...}) = 0
mmap(NULL, 36936, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd146e000
mmap(0x7f1dd1470000, 20480, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f1dd1470000
mmap(0x7f1dd1475000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f1dd1475000
mmap(0x7f1dd1476000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7f1dd1476000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgmodule-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=22584, ...}) = 0
mmap(NULL, 24712, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1467000
mmap(0x7f1dd1469000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f1dd1469000
mmap(0x7f1dd146b000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f1dd146b000
mmap(0x7f1dd146c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f1dd146c000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libmount.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=502512, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1dd1465000
mmap(NULL, 504456, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd1094000
mmap(0x7f1dd10a1000, 331776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x7f1dd10a1000
mmap(0x7f1dd10f2000, 106496, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5e000) = 0x7f1dd10f2000
mmap(0x7f1dd110c000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x77000) = 0x7f1dd110c000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=202984, ...}) = 0
mmap(NULL, 210640, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd0bd4000
mmap(0x7f1dd0bdb000, 131072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f1dd0bdb000
mmap(0x7f1dd0bfb000, 36864, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0x7f1dd0bfb000
mmap(0x7f1dd0c04000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x30000) = 0x7f1dd0c04000
mmap(0x7f1dd0c06000, 5840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1dd0c06000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libassuan.so.9", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=84120, ...}) = 0
mmap(NULL, 86400, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd107e000
mmap(0x7f1dd1082000, 45056, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f1dd1082000
mmap(0x7f1dd108d000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f1dd108d000
mmap(0x7f1dd1092000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7f1dd1092000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libgpg-error.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=170056, ...}) = 0
mmap(NULL, 168400, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd0baa000
mmap(0x7f1dd0baf000, 98304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f1dd0baf000
mmap(0x7f1dd0bc7000, 45056, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d000) = 0x7f1dd0bc7000
mmap(0x7f1dd0bd2000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f1dd0bd2000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libunistring.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1996840, ...}) = 0
mmap(NULL, 1997072, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd09c2000
mmap(0x7f1dd09d5000, 274432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13000) = 0x7f1dd09d5000
mmap(0x7f1dd0a18000, 1626112, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x56000) = 0x7f1dd0a18000
mmap(0x7f1dd0ba5000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e3000) = 0x7f1dd0ba5000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libblkid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=392160, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1dd1463000
mmap(NULL, 390016, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1dd0962000
mmap(0x7f1dd096c000, 245760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f1dd096c000
mmap(0x7f1dd09a8000, 77824, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x46000) = 0x7f1dd09a8000
mmap(0x7f1dd09bb000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x59000) = 0x7f1dd09bb000
close(3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1dd1461000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1dd145f000
arch_prctl(ARCH_SET_FS, 0x7f1dd1460000) = 0
set_tid_address(0x7f1dd14602d0) = 848742
set_robust_list(0x7f1dd14602e0, 24) = 0
rseq(0x7f1dd145fdc0, 0x20, 0, 0x53053053) = 0
mprotect(0x7f1dd17e8000, 16384, PROT_READ) = 0
mprotect(0x7f1dd09bb000, 24576, PROT_READ) = 0
mprotect(0x7f1dd0ba5000, 16384, PROT_READ) = 0
mprotect(0x7f1dd0bd2000, 4096, PROT_READ) = 0
mprotect(0x7f1dd1092000, 4096, PROT_READ) = 0
mprotect(0x7f1dd1525000, 4096, PROT_READ) = 0
mprotect(0x7f1dd0c04000, 4096, PROT_READ) = 0
mprotect(0x7f1dd110c000, 12288, PROT_READ) = 0
mprotect(0x7f1dd152e000, 4096, PROT_READ) = 0
mprotect(0x7f1dd11fe000, 4096, PROT_READ) = 0
mprotect(0x7f1dd197f000, 4096, PROT_READ) = 0
mprotect(0x7f1dd146c000, 4096, PROT_READ) = 0
mprotect(0x7f1dd1476000, 4096, PROT_READ) = 0
mprotect(0x7f1dd153e000, 4096, PROT_READ) = 0
mprotect(0x7f1dd1571000, 4096, PROT_READ) = 0
mprotect(0x7f1dd15c9000, 4096, PROT_READ) = 0
mprotect(0x7f1dd19e1000, 12288, PROT_READ) = 0
mprotect(0x7f1dd1819000, 4096, PROT_READ) = 0
mprotect(0x7f1dd0df3000, 40960, PROT_READ) = 0
mprotect(0x7f1dd15f7000, 4096, PROT_READ) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1dd145d000
mprotect(0x7f1dd1054000, 45056, PROT_READ) = 0
mprotect(0x7f1dd1605000, 4096, PROT_READ) = 0
mprotect(0x7f1dd1453000, 36864, PROT_READ) = 0
mprotect(0x7f1dd1826000, 4096, PROT_READ) = 0
mprotect(0x7f1dd1a53000, 24576, PROT_READ) = 0
mprotect(0x7f1dd1ab0000, 8192, PROT_READ) = 0
mprotect(0x564200855000, 8192, PROT_READ) = 0
mprotect(0x7f1dd1b17000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7f1dd1ab3000, 153515) = 0
getrandom("\xb2\xdd\xba\x44\x67\xe9\xcf\xfa", 8, GRND_NONBLOCK) = 8
brk(NULL) = 0x5642034ea000
brk(0x56420350b000) = 0x56420350b000
statfs("/sys/fs/selinux", 0x7ffef0a77870) = -1 ENOENT (No such file or directory)
statfs("/selinux", 0x7ffef0a77870) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/proc/filesystems", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "nodev\tsysfs\nnodev\ttmpfs\nnodev\tbd"..., 1024) = 443
read(3, "", 1024) = 0
close(3) = 0
access("/etc/selinux/config", F_OK) = -1 ENOENT (No such file or directory)
futex(0x7f1dd1980ed8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f1dd1980ed8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f1dd106273c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
rt_sigaction(SIGPIPE, NULL, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=0}, 8) = 0
brk(0x56420352c000) = 0x56420352c000
futex(0x7f1dd1980ed8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f1dd1980ed8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f1dd1ab2c60, FUTEX_WAKE_PRIVATE, 2147483647) = 0
openat(AT_FDCWD, "/home/cweiske/.config/notmuch/default/config", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0664, st_size=2610, ...}) = 0
read(3, "# .notmuch-config - Configuratio"..., 4096) = 2610
read(3, "", 4096) = 0
futex(0x7f1dd1980ed8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f1dd1980ed8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
close(3) = 0
newfstatat(AT_FDCWD, "/home/cweiske/Mail", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/cweiske/Mail", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/cweiske/Mail", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/cweiske/Mail/xapian", 0x7ffef0a77480, 0) = -1 ENOENT (No such file or directory)
futex(0x7f1dd15f8230, FUTEX_WAKE_PRIVATE, 2147483647) = 0
newfstatat(AT_FDCWD, "/home/cweiske/Mail/.notmuch", {st_mode=S_IFDIR|0775, st_size=4096, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian", {st_mode=S_IFDIR|0775, st_size=4096, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/iamchert", 0x7ffef0a77510, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/iamglass", {st_mode=S_IFREG|0664, st_size=148, ...}, 0) = 0
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/iamglass", O_RDONLY) = 3
read(3, "\17\rXapian Glass\4n\f\301\254\254\227|A\206\273k\226\260\32b6a"..., 256) = 148
read(3, "", 108) = 0
close(3) = 0
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/docdata.glass", O_RDONLY|O_CLOEXEC) = 3
pread64(3, "\0\0\0\31\1\37\276\37\276\0\25\37\371\37\360\37\346\37\334\37\323\0\0\0\0\0\0\0\0\0\0\0"..., 8192, 32768) = 8192
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/spelling.glass", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/synonym.glass", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/termlist.glass", O_RDONLY|O_CLOEXEC) = 4
pread64(4, "\0\0\0\31\2\30M\30M\1W\37\371\37\360\37\347\37\336\37\325\37\314\37\303\37\272\37\261\37\250\37"..., 8192, 29327360) = 8192
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/position.glass", O_RDONLY|O_CLOEXEC) = 5
pread64(5, "\0\0\0\31\2\6:\6:\2\323\37\371\23.\22\225\31x\22\210\v\347\25\214\16\2\33\227\n\240\34"..., 8192, 537100288) = 8192
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/postlist.glass", O_RDONLY|O_CLOEXEC) = 6
brk(0x56420354d000) = 0x56420354d000
pread64(6, "\0\0\0\31\2\21\251\21\251\1A\37\371\34\277\32\35\23\261\0243\0270\0356\25\3\36\37\32\376\30"..., 8192, 377864192) = 8192
close(3) = 0
close(4) = 0
close(5) = 0
close(6) = 0
brk(0x56420354b000) = 0x56420354b000
brk(0x564203549000) = 0x564203549000
brk(0x564203531000) = 0x564203531000
newfstatat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian", {st_mode=S_IFDIR|0775, st_size=4096, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/iamchert", 0x7ffef0a77500, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/iamglass", {st_mode=S_IFREG|0664, st_size=148, ...}, 0) = 0
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/iamglass", O_RDONLY) = 3
read(3, "\17\rXapian Glass\4n\f\301\254\254\227|A\206\273k\226\260\32b6a"..., 256) = 148
read(3, "", 108) = 0
close(3) = 0
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/docdata.glass", O_RDONLY|O_CLOEXEC) = 3
pread64(3, "\0\0\0\31\1\37\276\37\276\0\25\37\371\37\360\37\346\37\334\37\323\0\0\0\0\0\0\0\0\0\0\0"..., 8192, 32768) = 8192
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/spelling.glass", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/synonym.glass", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/termlist.glass", O_RDONLY|O_CLOEXEC) = 4
pread64(4, "\0\0\0\31\2\30M\30M\1W\37\371\37\360\37\347\37\336\37\325\37\314\37\303\37\272\37\261\37\250\37"..., 8192, 29327360) = 8192
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/position.glass", O_RDONLY|O_CLOEXEC) = 5
pread64(5, "\0\0\0\31\2\6:\6:\2\323\37\371\23.\22\225\31x\22\210\v\347\25\214\16\2\33\227\n\240\34"..., 8192, 537100288) = 8192
openat(AT_FDCWD, "/home/cweiske/Mail/.notmuch/xapian/postlist.glass", O_RDONLY|O_CLOEXEC) = 6
pread64(6, "\0\0\0\31\2\21\251\21\251\1A\37\371\34\277\32\35\23\261\0243\0270\0356\25\3\36\37\32\376\30"..., 8192, 377864192) = 8192
pread64(6, "\0\0\0\31\1\4j\4j\4\1\37\371\37\356\37\343\37\330\37\315\37\302\37\267\37\254\t.\37\241\37"..., 8192, 377774080) = 8192
pread64(6, "\0\0\0\31\0\t\357\25\37\0\37\37\375\36\373\36\330\36\313\n\16\22\253\21\373\23P\22Q\n\36\26"..., 8192, 377765888) = 8192
close(3) = 0
close(4) = 0
close(5) = 0
close(6) = 0
exit_group(1) = ?
+++ exited with 1 +++ in /home/cweiske/dev/tools/notmore/src/Notmuch/Client.php:58
Stack trace:
#0 /home/cweiske/dev/tools/notmore/src/Notmuch/Client.php(120): splitbrain\notmore\Notmuch\Client->run()
#1 /home/cweiske/dev/tools/notmore/src/Notmuch/SearchClient.php(18): splitbrain\notmore\Notmuch\Client->runJson()
#2 /home/cweiske/dev/tools/notmore/src/Controller/MailController.php(29): splitbrain\notmore\Notmuch\SearchClient->search()
#3 /home/cweiske/dev/tools/notmore/src/AppRouter.php(45): splitbrain\notmore\Controller\MailController->search()
#4 /home/cweiske/dev/tools/notmore/src/Router.php(59): splitbrain\notmore\AppRouter->onMatch()
#5 /home/cweiske/dev/tools/notmore/public/index.php(7): splitbrain\notmore\Router->route()
#6 {main}
_______________________________________________
notmuch mailing list -- [email protected]
To unsubscribe send an email to [email protected]