mbsync/isync fails wit pledge "fattr", syscall 76

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

mbsync/isync fails wit pledge "fattr", syscall 76

Arnaud BRAND
>Synopsis: mbsync/isync fails wit pledge "fattr", syscall 76
>Category: pledge or syscall problem
>Environment:
        System      : OpenBSD 6.4
        Details     : OpenBSD 6.4-current (GENERIC.MP) #425: Sun Nov  4 21:32:53 MST 2018
                         [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP

        Architecture: OpenBSD.amd64
        Machine     : amd64
>Description:
Not sure if this was due to ports@, sorry if it's misdirected.
I just tried to install isync/mbsync to give it a try.
After figuring out the config file syntax, I launched 'mbsync -a'.
It failed with a pledge error.
Since I'm (trying to) follow current I thought it was a because I didn't upgrade before installing isync.
So I updgraded to the latest snapshot, rebooted, did pkg_add -u, rebooted and retried.
Same error :

ccam$ mbsync -a
C: 0/1  B: 0/6  M: +0/0 *0/0 #0/0  S: +0/0 *0/0 #0/0
Warning: lost track of 553 pulled message(s)
C: 0/1  B: 0/6  M: +0/0 *0/0 #0/0  S: +0/556 *0/0 #0/0Abort trap (core dumped)

And at the end of the dmesg, we can find the pledge error.

>How-To-Repeat:
Install latest snapshot and isync package
Put the following config in .mbsyncrc :
##############################
SyncState *

MaildirStore admin_local
Inbox ~/mail/admin/Maildir
SubFolders Verbatim
Path ~/mail/

IMAPAccount admin_account
Host xxxxxx
Port 993
User xxxxxx
Pass xxxxxx
SSLType IMAPS

IMAPStore admin_imap
Account admin_account

Channel admin
Master :admin_imap:
Slave  :admin_local:
Patterns *
Sync Pull
Create Slave
Remove Slave
Expunge Slave
CopyArrivalDate yes
################################

mkdir ~/mail
mbsync -a

>Fix:
I don't kown.
I hope I provided enough info for someone to understand what is going on.


dmesg:
OpenBSD 6.4-current (GENERIC.MP) #425: Sun Nov  4 21:32:53 MST 2018
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 4259946496 (4062MB)
avail mem = 4121559040 (3930MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xcfe9b020 (7 entries)
bios0: vendor coreboot version "v4.8.0.3" date 20180708
bios0: PC Engines apu4
acpi0 at bios0: rev 2
acpi0: sleep states S0 S1 S4 S5
acpi0: tables DSDT FACP SSDT TCPA APIC HEST IVRS SSDT SSDT HPET
acpi0: wakeup devices PWRB(S4) PBR4(S4) PBR5(S4) PBR6(S4) PBR7(S4) PBR8(S4) UOH1(S3) UOH2(S3) UOH3(S3) UOH4(S3) UOH5(S3) UOH6(S3) XHC0(S4)
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD GX-412TC SOC, 998.41 MHz, 16-30-01
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 99MHz
cpu0: mwait min=64, max=64, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: AMD GX-412TC SOC, 998.28 MHz, 16-30-01
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu1: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
cpu1: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu1: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 2 (application processor)
Cpu2: AMD GX-412TC SOC, 998.16 MHz, 16-30-01
cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu2: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
cpu2: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu2: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu2: smt 0, core 2, package 0
cpu3 at mainbus0: apid 3 (application processor)
cpu3: AMD GX-412TC SOC, 998.16 MHz, 16-30-01
cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu3: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
cpu3: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu3: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu3: smt 0, core 3, package 0
ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 21, 24 pins
ioapic1 at mainbus0: apid 5 pa 0xfec20000, version 21, 32 pins, remapped
acpihpet0 at acpi0: 14318180 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (PBR4)
acpiprt2 at acpi0: bus 2 (PBR5)
acpiprt3 at acpi0: bus 3 (PBR6)
acpiprt4 at acpi0: bus 4 (PBR7)
acpiprt5 at acpi0: bus -1 (PBR8)
acpicpu0 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
acpicpu1 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
acpicpu2 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
acpicpu3 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
acpibtn0 at acpi0: PWRB
acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
acpicmos0 at acpi0
"BOOT0000" at acpi0 not configured
cpu0: 998 MHz: speeds: 1000 800 600 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "AMD AMD64 16h Root Complex" rev 0x00
vendor "AMD", unknown product 0x1567 (class system subclass IOMMU, rev 0x00) at pci0 dev 0 function 2 not configured
pchb1 at pci0 dev 2 function 0 "AMD AMD64 16h Host" rev 0x00
ppb0 at pci0 dev 2 function 1 "AMD AMD64 16h PCIE" rev 0x00: msi
pci1 at ppb0 bus 1
em0 at pci1 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:4c:e4:98
ppb1 at pci0 dev 2 function 2 "AMD AMD64 16h PCIE" rev 0x00: msi
pci2 at ppb1 bus 2
em1 at pci2 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:4c:e4:99
ppb2 at pci0 dev 2 function 3 "AMD AMD64 16h PCIE" rev 0x00: msi
pci3 at ppb2 bus 3
em2 at pci3 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:4c:e4:9a
ppb3 at pci0 dev 2 function 4 "AMD AMD64 16h PCIE" rev 0x00: msi
pci4 at ppb3 bus 4
em3 at pci4 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:4c:e4:9b
ccp0 at pci0 dev 8 function 0 "AMD Cryptographic Co-processor v3" rev 0x00
xhci0 at pci0 dev 16 function 0 "AMD Bolton xHCI" rev 0x11: msi, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1
ahci0 at pci0 dev 17 function 0 "AMD Hudson-2 SATA" rev 0x39: msi, AHCI 1.3
ahci0: port 0: 6.0Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, SATA SSD, SBFM> SCSI3 0/direct fixed naa.0000000000000000
sd0: 15272MB, 512 bytes/sector, 31277232 sectors, thin
ehci0 at pci0 dev 19 function 0 "AMD Hudson-2 USB2" rev 0x39: apic 4 int 18
usb1 at ehci0: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
piixpm0 at pci0 dev 20 function 0 "AMD Hudson-2 SMBus" rev 0x42: SMBus disabled
pcib0 at pci0 dev 20 function 3 "AMD Hudson-2 LPC" rev 0x11
sdhc0 at pci0 dev 20 function 7 "AMD Bolton SD/MMC" rev 0x01: apic 4 int 16
sdhc0: SDHC 2.0, 50 MHz base clock
sdmmc0 at sdhc0: 4-bit, sd high-speed, mmc high-speed, dma
pchb2 at pci0 dev 24 function 0 "AMD AMD64 16h Link Cfg" rev 0x00
pchb3 at pci0 dev 24 function 1 "AMD AMD64 16h Address Map" rev 0x00
pchb4 at pci0 dev 24 function 2 "AMD AMD64 16h DRAM Cfg" rev 0x00
km0 at pci0 dev 24 function 3 "AMD AMD64 16h Misc Cfg" rev 0x00
pchb5 at pci0 dev 24 function 4 "AMD AMD64 16h CPU Power" rev 0x00
pchb6 at pci0 dev 24 function 5 "AMD AMD64 16h Misc Cfg" rev 0x00
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
com2 at isa0 port 0x3e8/8 irq 5: ns16550a, 16 byte fifo
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
wbsio0 at isa0 port 0x2e/2: NCT5104D rev 0x53
vmm0 at mainbus0: SVM/RVI
uhub2 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices product 0x7900" rev 2.00/0.18 addr 2
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (35197439207035ce.a) swap on sd0b dump on sd0b

usbdevs:
Controller /dev/usb0:
addr 01: 1022:0000 AMD, xHCI root hub
         super speed, self powered, config 1, rev 1.00
         driver: uhub0
Controller /dev/usb1:
addr 01: 1022:0000 AMD, EHCI root hub
         high speed, self powered, config 1, rev 1.00
         driver: uhub1
addr 02: 0438:7900 Advanced Micro Devices, product 0x7900
         high speed, self powered, config 1, rev 0.18
         driver: uhub2

Reply | Threaded
Open this post in threaded view
|

Re: mbsync/isync fails wit pledge "fattr", syscall 76

Stuart Henderson
On 2018/11/08 01:32, [hidden email] wrote:

> >Synopsis: mbsync/isync fails wit pledge "fattr", syscall 76
> >Category: pledge or syscall problem
> >Environment:
> System      : OpenBSD 6.4
> Details     : OpenBSD 6.4-current (GENERIC.MP) #425: Sun Nov  4 21:32:53 MST 2018
> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
> Architecture: OpenBSD.amd64
> Machine     : amd64
> >Description:
> Not sure if this was due to ports@, sorry if it's misdirected.

Ideally if it's a porting-related problem (rather than something which
is clearly a problem with the upstream software itself) then the maintainer
should at least be CC'd (I've added him here). ports@ is probably slightly
better than bugs@.

> I just tried to install isync/mbsync to give it a try.
> After figuring out the config file syntax, I launched 'mbsync -a'.
> It failed with a pledge error.
> Since I'm (trying to) follow current I thought it was a because I didn't upgrade before installing isync.
> So I updgraded to the latest snapshot, rebooted, did pkg_add -u, rebooted and retried.
> Same error :
>
> ccam$ mbsync -a
> C: 0/1  B: 0/6  M: +0/0 *0/0 #0/0  S: +0/0 *0/0 #0/0
> Warning: lost track of 553 pulled message(s)
> C: 0/1  B: 0/6  M: +0/0 *0/0 #0/0  S: +0/556 *0/0 #0/0Abort trap (core dumped)
>
> And at the end of the dmesg, we can find the pledge error.

You mentioned in subject, but it would be clearer to include this here too, e.g.

mbsync[96869]: pledge "fattr", syscall 76

Using your config (which was useful) I can confirm it.

syscall 76 is utimes() which is done here in maildir_store_msg()
in drv_maildir.c:

1636         if (data->date) {
1637                 /* Set atime and mtime according to INTERNALDATE or mtime of source message */
1638                 struct utimbuf utimebuf;
1639                 utimebuf.actime = utimebuf.modtime = data->date;
1640                 if (utime( buf, &utimebuf ) < 0) {
1641                         sys_error( "Maildir error: cannot set times for %s", buf );
1642                         cb( DRV_BOX_BAD, 0, aux );
1643                         return;
1644                 }
1645         }

This port diff should fix things.

Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/isync/Makefile,v
retrieving revision 1.37
diff -u -p -r1.37 Makefile
--- Makefile 22 May 2018 21:24:08 -0000 1.37
+++ Makefile 8 Nov 2018 10:50:20 -0000
@@ -3,7 +3,7 @@
 COMMENT= synchronize IMAP4 and maildir mailboxes
 
 DISTNAME= isync-1.3.0
-REVISION= 3
+REVISION= 4
 
 CATEGORIES= mail
 MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=isync/}
Index: patches/patch-src_main_c
===================================================================
RCS file: /cvs/ports/mail/isync/patches/patch-src_main_c,v
retrieving revision 1.5
diff -u -p -r1.5 patch-src_main_c
--- patches/patch-src_main_c 22 May 2018 21:24:08 -0000 1.5
+++ patches/patch-src_main_c 8 Nov 2018 10:50:20 -0000
@@ -33,14 +33,14 @@ Index: src/main.c
 + }
 + } else {
 + if (needs_proc_exec) {
-+ if (pledge("stdio rpath wpath cpath inet flock dns"
-+    " getpw tty proc exec prot_exec", NULL) == -1) {
++ if (pledge("stdio rpath wpath cpath inet fattr flock"
++    " dns getpw tty proc exec prot_exec", NULL) == -1) {
 + sys_error("pledge\n");
 + exit(1);
 + }
 + } else {
-+ if (pledge("stdio rpath wpath cpath inet flock dns"
-+    " getpw tty prot_exec", NULL) == -1) {
++ if (pledge("stdio rpath wpath cpath inet fattr flock"
++    " dns getpw tty prot_exec", NULL) == -1) {
 + sys_error("pledge\n");
 + exit(1);
 + }

Reply | Threaded
Open this post in threaded view
|

Re: mbsync/isync fails wit pledge "fattr", syscall 76

Klemens Nanni-2
On Thu, Nov 08, 2018 at 10:50:47AM +0000, Stuart Henderson wrote:

> > ccam$ mbsync -a
> > C: 0/1  B: 0/6  M: +0/0 *0/0 #0/0  S: +0/0 *0/0 #0/0
> > Warning: lost track of 553 pulled message(s)
> > C: 0/1  B: 0/6  M: +0/0 *0/0 #0/0  S: +0/556 *0/0 #0/0Abort trap (core dumped)
> >
> > And at the end of the dmesg, we can find the pledge error.
>
> You mentioned in subject, but it would be clearer to include this here too, e.g.
>
> mbsync[96869]: pledge "fattr", syscall 76
>
> Using your config (which was useful) I can confirm it.
This is triggered by the `CopyArrivalDate' option I did not account for
back when adding pledge.

> syscall 76 is utimes() which is done here in maildir_store_msg()
> in drv_maildir.c:
>
> 1636         if (data->date) {
> 1637                 /* Set atime and mtime according to INTERNALDATE or mtime of source message */
> 1638                 struct utimbuf utimebuf;
> 1639                 utimebuf.actime = utimebuf.modtime = data->date;
> 1640                 if (utime( buf, &utimebuf ) < 0) {
> 1641                         sys_error( "Maildir error: cannot set times for %s", buf );
> 1642                         cb( DRV_BOX_BAD, 0, aux );
> 1643                         return;
> 1644                 }
> 1645         }
>
> This port diff should fix things.
Yes, OK kn.

Thanks Stuart for the quick handling!

Reply | Threaded
Open this post in threaded view
|

Re: mbsync/isync fails wit pledge "fattr", syscall 76

Arnaud BRAND
Le 2018-11-08 12:02, Klemens Nanni a écrit :

> On Thu, Nov 08, 2018 at 10:50:47AM +0000, Stuart Henderson wrote:
>> > ccam$ mbsync -a
>> > C: 0/1  B: 0/6  M: +0/0 *0/0 #0/0  S: +0/0 *0/0 #0/0
>> > Warning: lost track of 553 pulled message(s)
>> > C: 0/1  B: 0/6  M: +0/0 *0/0 #0/0  S: +0/556 *0/0 #0/0Abort trap (core dumped)
>> >
>> > And at the end of the dmesg, we can find the pledge error.
>>
>> You mentioned in subject, but it would be clearer to include this here
>> too, e.g.
>>
>> mbsync[96869]: pledge "fattr", syscall 76
>>
>> Using your config (which was useful) I can confirm it.
> This is triggered by the `CopyArrivalDate' option I did not account for
> back when adding pledge.
>
>> syscall 76 is utimes() which is done here in maildir_store_msg()
>> in drv_maildir.c:
>>
>> 1636         if (data->date) {
>> 1637                 /* Set atime and mtime according to INTERNALDATE
>> or mtime of source message */
>> 1638                 struct utimbuf utimebuf;
>> 1639                 utimebuf.actime = utimebuf.modtime = data->date;
>> 1640                 if (utime( buf, &utimebuf ) < 0) {
>> 1641                         sys_error( "Maildir error: cannot set
>> times for %s", buf );
>> 1642                         cb( DRV_BOX_BAD, 0, aux );
>> 1643                         return;
>> 1644                 }
>> 1645         }
>>
>> This port diff should fix things.
> Yes, OK kn.
>
> Thanks Stuart for the quick handling!

Thanks you Klemens and Stuart, both for the patch and for the posting
tips !

Sorry to have missed the error line in the debug, it showed when I typed
"dmesg" but not in the "sendbug" and I failed to double check it.