Firefox extension broken in -current's v71.0

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

Firefox extension broken in -current's v71.0

openbsd-24
>Synopsis: "1Password X" extension on Firefox shows 0 passwords
>Category:
>Environment:
        System      : OpenBSD 6.6
        Details     : OpenBSD 6.6-current (GENERIC.MP) #565: Tue Dec 24 13:18:50 MST 2019
                         [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP

        Architecture: OpenBSD.amd64
        Machine     : amd64
>Description:
        When logging into the 1Password X extension, you'll see a brief flash
        of your vault items (passwords), but after ~100ms they disappear and
        are replaced with the text "No items in this vault." As a result I'm
        unable to access any of my passwords on any OpenBSD device running
        -current.

        After communicating with a 1Password dev, he confirmed that all
        1Password X storage is within Firefox's cache visible in about:cache.

        If it helps debug, Chrome also experiences this same issue, but it has
        been a problem in Chrome for longer.
>How-To-Repeat:
        Install Firefox and the 1Password X extension. Save a password (vault
        item) into the extension. Log into the extension. You'll see the vault
        item briefly flash onto the screen then disappear.
>Fix:
        Unknown. Initially I thought this could be related to the unveil
        changes that happened around the same time, since Chrome also has the
        same issue. I modified the /etc/firefox/unveil.main file to have
        `/ rwc` for testing but that did not change the behavior. I found no
        indications of a pledge-permission problem in dmesg.


dmesg:
OpenBSD 6.6-current (GENERIC.MP) #565: Tue Dec 24 13:18:50 MST 2019
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 17098555392 (16306MB)
avail mem = 16567906304 (15800MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 3.0 @ 0x8f9a8000 (94 entries)
bios0: vendor American Megatrends Inc. version "3801" date 03/14/2018
bios0: ASUSTeK COMPUTER INC. Z170-AR
acpi0 at bios0: ACPI 6.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC FPDT TPM2 MCFG SSDT FIDT SSDT SSDT HPET SSDT SSDT UEFI SSDT LPIT WSMT SSDT SSDT DBGP DBG2
acpi0: wakeup devices PEG0(S4) PEGP(S4) PEG1(S4) PEGP(S4) PEG2(S4) PEGP(S4) SIO1(S3) PS2K(S4) PS2M(S4) UAR1(S4) RP09(S4) PXSX(S4) RP10(S4) PXSX(S4) RP11(S4) PXSX(S4) [...]
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz, 3510.83 MHz, 06-5e-03
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
cpu0: 256KB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
cpu0: apic clock running at 24MHz
cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1, IBE
cpu1 at mainbus0: apid 2 (application processor)
cpu1: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz, 3509.52 MHz, 06-5e-03
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
cpu1: 256KB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 4 (application processor)
cpu2: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz, 3509.52 MHz, 06-5e-03
cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
cpu2: 256KB 64b/line 8-way L2 cache
cpu2: smt 0, core 2, package 0
cpu3 at mainbus0: apid 6 (application processor)
cpu3: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz, 3509.52 MHz, 06-5e-03
cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
cpu3: 256KB 64b/line 8-way L2 cache
cpu3: smt 0, core 3, package 0
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 120 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpihpet0 at acpi0: 23999999 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (PEG0)
acpiprt2 at acpi0: bus -1 (PEG1)
acpiprt3 at acpi0: bus -1 (PEG2)
acpiprt4 at acpi0: bus 7 (RP09)
acpiprt5 at acpi0: bus -1 (RP10)
acpiprt6 at acpi0: bus -1 (RP11)
acpiprt7 at acpi0: bus -1 (RP12)
acpiprt8 at acpi0: bus -1 (RP13)
acpiprt9 at acpi0: bus 3 (RP01)
acpiprt10 at acpi0: bus -1 (RP02)
acpiprt11 at acpi0: bus 4 (RP03)
acpiprt12 at acpi0: bus -1 (RP04)
acpiprt13 at acpi0: bus -1 (RP05)
acpiprt14 at acpi0: bus 6 (RP06)
acpiprt15 at acpi0: bus -1 (RP07)
acpiprt16 at acpi0: bus -1 (RP08)
acpiprt17 at acpi0: bus 2 (RP17)
acpiprt18 at acpi0: bus -1 (RP18)
acpiprt19 at acpi0: bus -1 (RP19)
acpiprt20 at acpi0: bus -1 (RP20)
acpiprt21 at acpi0: bus -1 (RP21)
acpiprt22 at acpi0: bus -1 (RP22)
acpiprt23 at acpi0: bus -1 (RP23)
acpiprt24 at acpi0: bus -1 (RP24)
acpiprt25 at acpi0: bus -1 (RP14)
acpiprt26 at acpi0: bus -1 (RP15)
acpiprt27 at acpi0: bus -1 (RP16)
acpiec0 at acpi0: not present
acpicpu0 at acpi0: C1(@1 halt!), PSS
acpicpu1 at acpi0: C1(@1 halt!), PSS
acpicpu2 at acpi0: C1(@1 halt!), PSS
acpicpu3 at acpi0: C1(@1 halt!), PSS
acpipwrres0 at acpi0: PG00, resource for PEG0
acpipwrres1 at acpi0: PG01, resource for PEG1
acpipwrres2 at acpi0: PG02, resource for PEG2
acpipwrres3 at acpi0: WRST
acpipwrres4 at acpi0: WRST
acpipwrres5 at acpi0: WRST
acpipwrres6 at acpi0: WRST
acpipwrres7 at acpi0: WRST
acpipwrres8 at acpi0: WRST
acpipwrres9 at acpi0: WRST
acpipwrres10 at acpi0: WRST
acpipwrres11 at acpi0: WRST
acpipwrres12 at acpi0: WRST
acpipwrres13 at acpi0: WRST
acpipwrres14 at acpi0: WRST
acpipwrres15 at acpi0: WRST
acpipwrres16 at acpi0: WRST
acpipwrres17 at acpi0: WRST
acpipwrres18 at acpi0: WRST
acpipwrres19 at acpi0: WRST
acpipwrres20 at acpi0: WRST
acpipwrres21 at acpi0: WRST
acpipwrres22 at acpi0: WRST
acpipci0 at acpi0 PCI0: 0x00000004 0x00000011 0x00000001
acpicmos0 at acpi0
"PNP0C14" at acpi0 not configured
acpibtn0 at acpi0: SLPB
"PNP0C14" at acpi0 not configured
"INT33A1" at acpi0 not configured
acpibtn1 at acpi0: PWRB
"MSFT0101" at acpi0 not configured
"PNP0C14" at acpi0 not configured
acpivideo0 at acpi0: GFX0
acpivout0 at acpivideo0: DD1F
cpu0: using VERW MDS workaround (except on vmm entry)
cpu0: Enhanced SpeedStep 3510 MHz: speeds: 3501, 3500, 3300, 3100, 2900, 2700, 2500, 2300, 2100, 2000, 1800, 1600, 1400, 1200, 1000, 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Core 6G Host" rev 0x07
ppb0 at pci0 dev 1 function 0 "Intel Core 6G PCIE" rev 0x07: msi
pci1 at ppb0 bus 1
amdgpu0 at pci1 dev 0 function 0 "ATI Polaris 10" rev 0xe7
drm0 at amdgpu0
amdgpu0: msi
azalia0 at pci1 dev 0 function 1 vendor "ATI", unknown product 0xaaf0 rev 0x00: msi
azalia0: no supported codecs
xhci0 at pci0 dev 20 function 0 "Intel 100 Series xHCI" rev 0x31: msi, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
"Intel 100 Series MEI" rev 0x31 at pci0 dev 22 function 0 not configured
ahci0 at pci0 dev 23 function 0 "Intel 100 Series AHCI" rev 0x31: msi, AHCI 1.3.1
ahci0: PHY offline on port 0
ahci0: PHY offline on port 1
ahci0: port 2: 6.0Gb/s
ahci0: port 3: 6.0Gb/s
ahci0: PHY offline on port 4
ahci0: PHY offline on port 5
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 2 lun 0: <ATA, ST2000DX001-1NS1, CC41> naa.5000c50087c25129
sd0: 1907729MB, 512 bytes/sector, 3907029168 sectors
sd1 at scsibus1 targ 3 lun 0: <ATA, Samsung SSD 850, EMT0> naa.5002538d4070cf6e
sd1: 238475MB, 512 bytes/sector, 488397168 sectors, thin
ppb1 at pci0 dev 27 function 0 "Intel 100 Series PCIE" rev 0xf1: msi
pci2 at ppb1 bus 2
ppb2 at pci0 dev 28 function 0 "Intel 100 Series PCIE" rev 0xf1: msi
pci3 at ppb2 bus 3
xhci1 at pci3 dev 0 function 0 "ASMedia ASM1042AE xHCI" rev 0x00: msi, xHCI 1.10
usb1 at xhci1: USB revision 3.0
uhub1 at usb1 configuration 1 interface 0 "ASMedia xHCI root hub" rev 3.00/1.00 addr 1
ppb3 at pci0 dev 28 function 2 "Intel 100 Series PCIE" rev 0xf1: msi
pci4 at ppb3 bus 4
ppb4 at pci4 dev 0 function 0 "ASMedia ASM1083/1085 PCIE-PCI" rev 0x04
pci5 at ppb4 bus 5
ppb5 at pci0 dev 28 function 5 "Intel 100 Series PCIE" rev 0xf1: msi
pci6 at ppb5 bus 6
iwm0 at pci6 dev 0 function 0 "Intel Dual Band Wireless AC 7260" rev 0x73, msi
ppb6 at pci0 dev 29 function 0 "Intel 100 Series PCIE" rev 0xf1: msi
pci7 at ppb6 bus 7
nvme0 at pci7 dev 0 function 0 "Samsung SM981/PM981 NVMe" rev 0x00: msix, NVMe 1.3
nvme0: Samsung SSD 970 EVO 500GB, firmware 1B2QEXE7, serial S466NB0K616489R
scsibus2 at nvme0: 2 targets, initiator 0
sd2 at scsibus2 targ 1 lun 0: <NVMe, Samsung SSD 970, 1B2Q>
sd2: 476940MB, 512 bytes/sector, 976773168 sectors
pcib0 at pci0 dev 31 function 0 "Intel Z170 LPC" rev 0x31
"Intel 100 Series PMC" rev 0x31 at pci0 dev 31 function 2 not configured
azalia1 at pci0 dev 31 function 3 "Intel 100 Series HD Audio" rev 0x31: msi
azalia1: codecs: Realtek/0x0892
audio0 at azalia1
ichiic0 at pci0 dev 31 function 4 "Intel 100 Series SMBus" rev 0x31: apic 2 int 16
iic0 at ichiic0
sdtemp0 at iic0 addr 0x18: gt30ts00
sdtemp1 at iic0 addr 0x19: gt30ts00
em0 at pci0 dev 31 function 6 "Intel I219-V" rev 0x31: msi, address 30:5a:3a:54:cf:ea
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
vmm0 at mainbus0: VMX/EPT
uhub2 at uhub0 port 5 configuration 1 interface 0 "Texas Instruments product 0x8142" rev 2.10/1.00 addr 2
uhidev0 at uhub0 port 10 configuration 1 interface 0 "Logitech Gaming Mouse G402" rev 2.00/90.02 addr 3
uhidev0: iclass 3/1
ums0 at uhidev0: 16 buttons, Z and W dir
wsmouse0 at ums0 mux 0
uhidev1 at uhub0 port 10 configuration 1 interface 1 "Logitech Gaming Mouse G402" rev 2.00/90.02 addr 3
uhidev1: iclass 3/0, 17 report ids
ukbd0 at uhidev1 reportid 1: 8 variable keys, 6 key codes
wskbd1 at ukbd0 mux 1
uhid0 at uhidev1 reportid 3: input=4, output=0, feature=0
uhid1 at uhidev1 reportid 4: input=1, output=0, feature=0
uhid2 at uhidev1 reportid 16: input=6, output=6, feature=0
uhid3 at uhidev1 reportid 17: input=19, output=19, feature=0
umass0 at uhub0 port 22 configuration 1 interface 0 "AmazonBasics AmazonBasics Hard Drive Enclos" rev 3.10/2.38 addr 4
umass0: using SCSI over Bulk-Only
scsibus3 at umass0: 2 targets, initiator 0
sd3 at scsibus3 targ 1 lun 0: <WDC WD40, EZRZ-75GXCB0, 80.0> serial.21090711190108026979
sd3: 3815447MB, 512 bytes/sector, 7814037168 sectors
uhidev2 at uhub1 port 4 configuration 1 interface 0 "Holtek USB Keyboard" rev 1.10/1.10 addr 2
uhidev2: iclass 3/1
ukbd1 at uhidev2: 8 variable keys, 6 key codes
wskbd2 at ukbd1 mux 1
uhidev3 at uhub1 port 4 configuration 1 interface 1 "Holtek USB Keyboard" rev 1.10/1.10 addr 2
uhidev3: iclass 3/1, 2 report ids
uhid4 at uhidev3 reportid 1: input=6, output=0, feature=0
uhid5 at uhidev3 reportid 2: input=1, output=0, feature=0
vscsi0 at root
scsibus4 at vscsi0: 256 targets
softraid0 at root
scsibus5 at softraid0: 256 targets
sd4 at scsibus5 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006>
sd4: 238472MB, 512 bytes/sector, 488391473 sectors
root on sd4a (4ff3f83b32292268.a) swap on sd4b dump on sd4b
initializing kernel modesetting (POLARIS10 0x1002:0x67DF 0x1DA2:0xE353 0xE7).
amdgpu_irq_add_domain: stub
amdgpu_device_resize_fb_bar: stub
amdgpu: [powerplay] Failed to retrieve minimum clocks.
amdgpu0: 2560x1440, 32bpp
wsdisplay0 at amdgpu0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
wskbd2: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)
iwm0: hw rev 0x140, fw ver 17.3216344376.0, address 7c:5c:f8:2b:30:59

usbdevs:
Controller /dev/usb0:
addr 01: 8086:0000 Intel, xHCI root hub
         super speed, self powered, config 1, rev 1.00
         driver: uhub0
addr 02: 0451:8142 Texas Instruments, product 0x8142
         high speed, self powered, config 1, rev 1.00, iSerial A2000849C37F
         driver: uhub2
addr 03: 046d:c07e Logitech, Gaming Mouse G402
         full speed, power 300 mA, config 1, rev 90.02, iSerial 6D7524725055
         driver: uhidev0
         driver: uhidev1
addr 04: 2109:0711 AmazonBasics, AmazonBasics Hard Drive Enclos
         super speed, self powered, config 1, rev 2.38, iSerial 190108026979
         driver: umass0
Controller /dev/usb1:
addr 01: 1b21:0000 ASMedia, xHCI root hub
         super speed, self powered, config 1, rev 1.00
         driver: uhub1
addr 02: 04d9:0169 Holtek, USB Keyboard
         low speed, power 100 mA, config 1, rev 1.10
         driver: uhidev2
         driver: uhidev3

Reply | Threaded
Open this post in threaded view
|

Re: Firefox extension broken in -current's v71.0

Stuart Henderson
On 2019/12/26 07:53, [hidden email] wrote:

> >Synopsis: "1Password X" extension on Firefox shows 0 passwords
> >Category:
> >Environment:
> System      : OpenBSD 6.6
> Details     : OpenBSD 6.6-current (GENERIC.MP) #565: Tue Dec 24 13:18:50 MST 2019
> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
> Architecture: OpenBSD.amd64
> Machine     : amd64
> >Description:
> When logging into the 1Password X extension, you'll see a brief flash
> of your vault items (passwords), but after ~100ms they disappear and
> are replaced with the text "No items in this vault." As a result I'm
> unable to access any of my passwords on any OpenBSD device running
> -current.
>
> After communicating with a 1Password dev, he confirmed that all
> 1Password X storage is within Firefox's cache visible in about:cache.
>
> If it helps debug, Chrome also experiences this same issue, but it has
> been a problem in Chrome for longer.
> >How-To-Repeat:
> Install Firefox and the 1Password X extension. Save a password (vault
> item) into the extension. Log into the extension. You'll see the vault
> item briefly flash onto the screen then disappear.
> >Fix:
> Unknown. Initially I thought this could be related to the unveil
> changes that happened around the same time, since Chrome also has the
> same issue. I modified the /etc/firefox/unveil.main file to have
> `/ rwc` for testing but that did not change the behavior. I found no
> indications of a pledge-permission problem in dmesg.

Perhaps it is not in the main process - try unveil.content?

Running firefox under ktrace -di may also give clues but it's very noisy,
I would usually get it started and to the point just before I trigger the
behaviour, then "ktrace -di -p <parent process pid>" - the parent process
is the one just named "/usr/local/bin/firefox" in the ps(1) listing.

Reply | Threaded
Open this post in threaded view
|

Re: Firefox extension broken in -current's v71.0

Evan Tann
On Thu Dec 26, 2019 at 6:12 PM, Stuart Henderson wrote:

> On 2019/12/26 07:53, [hidden email] wrote:
> > >Synopsis: "1Password X" extension on Firefox shows 0 passwords
> > >Category:
> > >Environment:
> > System      : OpenBSD 6.6
> > Details     : OpenBSD 6.6-current (GENERIC.MP) #565: Tue Dec 24 13:18:50 MST 2019
> > [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >
> > Architecture: OpenBSD.amd64
> > Machine     : amd64
> > >Description:
> > When logging into the 1Password X extension, you'll see a brief flash
> > of your vault items (passwords), but after ~100ms they disappear and
> > are replaced with the text "No items in this vault." As a result I'm
> > unable to access any of my passwords on any OpenBSD device running
> > -current.
> >
> > After communicating with a 1Password dev, he confirmed that all
> > 1Password X storage is within Firefox's cache visible in about:cache.
> >
> > If it helps debug, Chrome also experiences this same issue, but it has
> > been a problem in Chrome for longer.
> > >How-To-Repeat:
> > Install Firefox and the 1Password X extension. Save a password (vault
> > item) into the extension. Log into the extension. You'll see the vault
> > item briefly flash onto the screen then disappear.
> > >Fix:
> > Unknown. Initially I thought this could be related to the unveil
> > changes that happened around the same time, since Chrome also has the
> > same issue. I modified the /etc/firefox/unveil.main file to have
> > `/ rwc` for testing but that did not change the behavior. I found no
> > indications of a pledge-permission problem in dmesg.
>
>
> Perhaps it is not in the main process - try unveil.content?
>
>
> Running firefox under ktrace -di may also give clues but it's very
> noisy,
> I would usually get it started and to the point just before I trigger
> the
> behaviour, then "ktrace -di -p <parent process pid>" - the parent
> process
> is the one just named "/usr/local/bin/firefox" in the ps(1) listing.

Adding `/ rwc` to unveil.content and unveil.main did not fix the problem.

ktrace was indeed very noisy. I grepped the kdump with

$ kdump | grep RET -C4 | grep "\-1" -C4

to focus on -1 exit codes and searched the resulting output for
"1password". I found 2 errors. The first with the mem address
substituted:

CALL  futex($MEM_ADDRESS,0x82<FUTEX_WAKE|FUTEX_PRIVATE_FLAG>,1,0,0)
RET   write 1
RET   futex -1 errno 1 Operation not permitted

And the second with my cache folder and hash substituted:

NAMI  "$CACHE_FOLDER/entries/$HEX_HASH"
RET   sendmsg 32/0x20
RET   acess -1 errno 2 No such file or directory

I checked and indeed that cache entry does not exist on my filesystem.

Just searching kdump for 1password reveals many http requests, however
it's not clear to me if there's any errors surrounding those.

Reply | Threaded
Open this post in threaded view
|

Re: Firefox extension broken in -current's v71.0

myportslist20190323
>Synopsis: "1Password X" extension on Firefox shows 0 passwords
>When logging into the 1Password X extension, you'll see a brief flash
> of your vault items (passwords), but after ~100ms they
>disappear and are replaced with the text "No items in this vault."

I had this problem until I changed /etc/login.conf default class to use
datasize-max=7000M: and datasize-cur=7000M and rebooted. I have
8GB RAM and haven't tried lower values yet for datasize-max and -cur.

I am using only three extensions: 1Password X, Firefox Containers, and UBlock
Origin. For me, 1Password X will not work until I disable UBlock Origin and then
restart Firefox. I then sign in to 1 Password X. At that point, I can
re-enable UBlock Origin and everything works.

The problem started with 1Password's new version 1.17.0. This workaround
does work on all my -current machines.

If I go to about:debugging# and This Firefox and UBlock Origin, I
see
"WebAssembly.Memory failed to reserve a large virtual memory region.
This may be due to low configured virtual memory limits on this system."

I don't know how to fix this, and my increased datasize-max and -cur don't
change this. But if UBlock Origin starts before 1Password X, my guess is
that this memory error stops 1Password X from working.

As a side note, I have to start Firefox from the Downloads folder if I want
to be able to upload files from it.

Reply | Threaded
Open this post in threaded view
|

Re: Firefox extension broken in -current's v71.0

George Koehler-2
On Thu, 26 Dec 2019 19:58:31 -0600
[hidden email] wrote:

> >Synopsis: "1Password X" extension on Firefox shows 0 passwords
> >When logging into the 1Password X extension, you'll see a brief flash
> > of your vault items (passwords), but after ~100ms they
> >disappear and are replaced with the text "No items in this vault."
>
> I had this problem until I changed /etc/login.conf default class to use
> datasize-max=7000M: and datasize-cur=7000M and rebooted. I have
> 8GB RAM and haven't tried lower values yet for datasize-max and -cur.
>
> ...
>
> If I go to about:debugging# and This Firefox and UBlock Origin, I
> see
> "WebAssembly.Memory failed to reserve a large virtual memory region.
> This may be due to low configured virtual memory limits on this system."

WebAssembly in Firefox is broken because it allocates too much memory.
A Reddit comment from /u/brynet [1] suggests to disable WebAssembly.
"You need to manually set `javascript.options.wasm;false` in Firefox
`about:config`."  I have never tried this and don't know whether it
would fix anything.

I run my amd64 desktop with datasize-cur=8G, though I have only 4G total
RAM.  (I'm in the staff class, says `userinfo kernigh`.)  This is enough
for Firefox to run some small WebAssembly demos [2], but doesn't fix
Twitch video.

[1] https://www.reddit.com/r/openbsd/comments/dlps5a/what_are_the_required_aboutconfig_settings_on/f4txe1c?utm_source=share&utm_medium=web2x
[2] https://docs.assemblyscript.org/examples

-- George

Reply | Threaded
Open this post in threaded view
|

Re: Firefox extension broken in -current's v71.0

Solene Rapenne
In reply to this post by openbsd-24
Le 2019-12-26 16:53, [hidden email] a écrit :

>> Synopsis: "1Password X" extension on Firefox shows 0 passwords
>> Category:
>> Environment:
> System      : OpenBSD 6.6
> Details     : OpenBSD 6.6-current (GENERIC.MP) #565: Tue Dec 24
> 13:18:50 MST 2019
>
> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
> Architecture: OpenBSD.amd64
> Machine     : amd64
>> Description:
> When logging into the 1Password X extension, you'll see a brief flash
> of your vault items (passwords), but after ~100ms they disappear and
> are replaced with the text "No items in this vault." As a result I'm
> unable to access any of my passwords on any OpenBSD device running
> -current.
>
> After communicating with a 1Password dev, he confirmed that all
> 1Password X storage is within Firefox's cache visible in about:cache.
>
> If it helps debug, Chrome also experiences this same issue, but it has
> been a problem in Chrome for longer.
>> How-To-Repeat:
> Install Firefox and the 1Password X extension. Save a password (vault
> item) into the extension. Log into the extension. You'll see the vault
> item briefly flash onto the screen then disappear.
>> Fix:
> Unknown. Initially I thought this could be related to the unveil
> changes that happened around the same time, since Chrome also has the
> same issue. I modified the /etc/firefox/unveil.main file to have
> `/ rwc` for testing but that did not change the behavior. I found no
> indications of a pledge-permission problem in dmesg.
>
>

you want to try disabling unveil and pledge first, but adding / rwc
is not the correct way to do so.

disabling unveil/pledge is explained in the pkg-readme firefox file
installed under /usr/local/share/doc/pkg-readmes/firefox

-----
To disable pledge and/or unveil support when troubleshooting, set the
corresponding pledge or unveil file in
/etc/firefox/{unveil,pledge}.{main,content,gpu} to contain
just "disable".
-----

Reply | Threaded
Open this post in threaded view
|

Re: Firefox extension broken in -current's v71.0

Evan Tann
In reply to this post by George Koehler-2
On Fri Dec 27, 2019 at 12:18 AM, George Koehler wrote:

> On Thu, 26 Dec 2019 19:58:31 -0600
> [hidden email] wrote:
>
>
> > >Synopsis: "1Password X" extension on Firefox shows 0 passwords
> > >When logging into the 1Password X extension, you'll see a brief flash
> > > of your vault items (passwords), but after ~100ms they
> > >disappear and are replaced with the text "No items in this vault."
> >
> > I had this problem until I changed /etc/login.conf default class to use
> > datasize-max=7000M: and datasize-cur=7000M and rebooted. I have
> > 8GB RAM and haven't tried lower values yet for datasize-max and -cur.
> >
> > ...
> >
> > If I go to about:debugging# and This Firefox and UBlock Origin, I
> > see
> > "WebAssembly.Memory failed to reserve a large virtual memory region.
> > This may be due to low configured virtual memory limits on this system."
>
>
> WebAssembly in Firefox is broken because it allocates too much memory.
> A Reddit comment from /u/brynet [1] suggests to disable WebAssembly.
> "You need to manually set `javascript.options.wasm;false` in Firefox
> `about:config`." I have never tried this and don't know whether it
> would fix anything.

I tried disabling wasm however the problem persists.

> I run my amd64 desktop with datasize-cur=8G, though I have only 4G total
> RAM. (I'm in the staff class, says `userinfo kernigh`.) This is enough
> for Firefox to run some small WebAssembly demos [2], but doesn't fix
> Twitch video.

My staff class datasize-cur is 8192M and -max is infinity running 16G.

Reply | Threaded
Open this post in threaded view
|

Re: Firefox extension broken in -current's v71.0

Evan Tann
In reply to this post by Solene Rapenne
On Fri Dec 27, 2019 at 10:00 AM, Solène Rapenne wrote:

> Le 2019-12-26 16:53, [hidden email] a écrit :
> >> Synopsis: "1Password X" extension on Firefox shows 0 passwords
> >> Category:
> >> Environment:
> > System      : OpenBSD 6.6
> > Details     : OpenBSD 6.6-current (GENERIC.MP) #565: Tue Dec 24
> > 13:18:50 MST 2019
> >
> > [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >
> > Architecture: OpenBSD.amd64
> > Machine     : amd64
> >> Description:
> > When logging into the 1Password X extension, you'll see a brief flash
> > of your vault items (passwords), but after ~100ms they disappear and
> > are replaced with the text "No items in this vault." As a result I'm
> > unable to access any of my passwords on any OpenBSD device running
> > -current.
> >
> > After communicating with a 1Password dev, he confirmed that all
> > 1Password X storage is within Firefox's cache visible in about:cache.
> >
> > If it helps debug, Chrome also experiences this same issue, but it has
> > been a problem in Chrome for longer.
> >> How-To-Repeat:
> > Install Firefox and the 1Password X extension. Save a password (vault
> > item) into the extension. Log into the extension. You'll see the vault
> > item briefly flash onto the screen then disappear.
> >> Fix:
> > Unknown. Initially I thought this could be related to the unveil
> > changes that happened around the same time, since Chrome also has the
> > same issue. I modified the /etc/firefox/unveil.main file to have
> > `/ rwc` for testing but that did not change the behavior. I found no
> > indications of a pledge-permission problem in dmesg.
> >
> >
>
>
> you want to try disabling unveil and pledge first, but adding / rwc
> is not the correct way to do so.
>
>
> disabling unveil/pledge is explained in the pkg-readme firefox file
> installed under /usr/local/share/doc/pkg-readmes/firefox

I don't have that directory on my machine. `man firefox` was the first
place I looked, however it doesn't mention anything about pledge/unveil
(or much of anything outside of flags), and SEE ALSO was not helpful.

> -----
> To disable pledge and/or unveil support when troubleshooting, set the
> corresponding pledge or unveil file in
> /etc/firefox/{unveil,pledge}.{main,content,gpu} to contain
> just "disable".
> -----

I disabled pledge and unveil per your instructions (creating a total of
6 files), however the bug is not fixed.

Reply | Threaded
Open this post in threaded view
|

Re: Firefox extension broken in -current's v71.0

Stuart Henderson
On 2019/12/27 07:18, Evan Tann wrote:

> On Fri Dec 27, 2019 at 10:00 AM, Solène Rapenne wrote:
> > Le 2019-12-26 16:53, [hidden email] a écrit :
> > >> Synopsis: "1Password X" extension on Firefox shows 0 passwords
> > >> Category:
> > >> Environment:
> > > System      : OpenBSD 6.6
> > > Details     : OpenBSD 6.6-current (GENERIC.MP) #565: Tue Dec 24
> > > 13:18:50 MST 2019
> > >
> > > [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> > >
> > > Architecture: OpenBSD.amd64
> > > Machine     : amd64
> > >> Description:
> > > When logging into the 1Password X extension, you'll see a brief flash
> > > of your vault items (passwords), but after ~100ms they disappear and
> > > are replaced with the text "No items in this vault." As a result I'm
> > > unable to access any of my passwords on any OpenBSD device running
> > > -current.
> > >
> > > After communicating with a 1Password dev, he confirmed that all
> > > 1Password X storage is within Firefox's cache visible in about:cache.
> > >
> > > If it helps debug, Chrome also experiences this same issue, but it has
> > > been a problem in Chrome for longer.
> > >> How-To-Repeat:
> > > Install Firefox and the 1Password X extension. Save a password (vault
> > > item) into the extension. Log into the extension. You'll see the vault
> > > item briefly flash onto the screen then disappear.
> > >> Fix:
> > > Unknown. Initially I thought this could be related to the unveil
> > > changes that happened around the same time, since Chrome also has the
> > > same issue. I modified the /etc/firefox/unveil.main file to have
> > > `/ rwc` for testing but that did not change the behavior. I found no
> > > indications of a pledge-permission problem in dmesg.
> > >
> > >
> >
> >
> > you want to try disabling unveil and pledge first, but adding / rwc
> > is not the correct way to do so.
> >
> >
> > disabling unveil/pledge is explained in the pkg-readme firefox file
> > installed under /usr/local/share/doc/pkg-readmes/firefox
>
> I don't have that directory on my machine. `man firefox` was the first
> place I looked, however it doesn't mention anything about pledge/unveil
> (or much of anything outside of flags), and SEE ALSO was not helpful.

Here are the contents, however something is strangely wrong with your
installation if you have installed firefox from ports/packages and this
doesn't exist.

$ cat /usr/local/share/doc/pkg-readmes/firefox
$OpenBSD: README,v 1.25 2019/12/03 17:00:46 landry Exp $

+-----------------------------------------------------------------------
| Running firefox on OpenBSD
+-----------------------------------------------------------------------

If you encounter strange problems relating to bookmarks, downloads,
window placement, toolbars, history, or other settings, it is
recommended that you create a new profile and attempt to
reproduce the problem before filing bugs.  To create a new profile,
start Firefox with the -ProfileManager switch, e.g.
firefox -ProfileManager, and click "Create Profile".

If Firefox doesn't start at all, try starting it with -safe-mode
switch, which disables extensions and themes for your session.

pledge(2) and unveil(2) Support
===============================
Firefox on OpenBSD is secured with pledge(2) and unveil(2) to limit
the system calls and filesystem access that each of Firefox's three
process types (main, content, and GPU) is permitted.  By default,
only ~/Downloads and /tmp can be written to when downloading files,
or when viewing local files as file:// URLs.

Files containing pledge promises and unveil paths and permissions
for each type of process are located in
/usr/local/lib/firefox/browser/defaults/preferences/.
Each file can be overridden by copying it to /etc/firefox/
and modifying it.

3rd-Party MIME Handlers
=======================
Due to unveil(2) limiting filesystem access, only the default MIME
handler registered for a given type can be chosen when opening a
downloaded file.  For example, to use the mupdf package to read
PDFs, it must be registered as the default with XDG:

        $ xdg-mime default mupdf.desktop application/pdf

The current default for a given type can be viewed with xdg-mime's
query command:

        $ xdg-mime query default application/pdf

The older mailcap-format handlers are also supported, but the path
being executed must be explicitly added to the unveil.main file
with "rx" permissions.  For example, a ~/.mailcap file specifying:

        application/pdf; /usr/local/bin/xpdf %s

must have "/usr/local/bin/xpdf rx" added to unveil.main for it to
appear as an option in the "Open With" drop-down.

Using mailto: links
===================
To enable mailto: links in Firefox to open in your mail program,
you may have to set a mailto protocol handler. Type "about:config"
in Firefox's URL text field.  Type "mailto" in the filter.  If there
is a string called "network.protocol-handler.app.mailto", its value
names the application for mailto URLs. If present, right click,
choose Modify, and enter the path to your mail program, e.g.,
"/usr/local/bin/thunderbird" or "/usr/local/bin/kmail" (other
programs may work, but these two have been tested).  If absent,
right click, choose New String. Set the name to
"network.protocol-handler.app.mailto" and the value to the path to
your mailer.

Debugging
=========
If you encounter crashes, you might want to build the debug FLAVOR of
this package, and run firefox inside egdb, so that you can gather
debugging logs and traces (for all threads!).

If this is a pledge violation, you should figure out which codepath
in which process leads to calling a forbidden syscall, and which pledge
is missing from the sets configured according to the section above.
Setting MOZ_LOG=OpenBSDSandbox:5 should help.  Bug reports without
enough information will be ignored.

To disable pledge and/or unveil support when troubleshooting, set the
corresponding pledge or unveil file in
/etc/firefox/{unveil,pledge}.{main,content,gpu} to contain
just "disable".

D-BUS
=====
For proper integration with various desktop-oriented components, firefox
needs a session bus instance running.
If you're not running a desktop environment that takes care of it,
refer to /usr/local/share/doc/pkg-readmes/dbus-* to configure your
session startup script to start one.
Without a session bus running, the port is faking one (see
https://bugzilla.mozilla.org/show_bug.cgi?id=1466593), but GLIB might still try
to spawn one which might lead to a 'proc' pledge violation in the content
process.

HTML5 audio/video support
=========================
For a full multimedia experience, such as playing MP3 audio or MPEG
videos, install the "ffmpeg" package. It will be used at runtime if
firefox finds it.

# pkg_add ffmpeg

WebRTC support
==============
For WebRTC to properly work, it is required to enable audio recording:

# sysctl kern.audio.record=1

It is also required to change the ownership of the video(4) device so that your
regular user can access the webcam device.

# chown youruser /dev/video0

KerberosV support
=================
To use Kerberized Firefox, first manually install the "heimdal" package
and configure the Kerberos client.

Firefox will load the libraries at runtime if required. On OpenBSD, they
are installed in a non-standard location; to allow Firefox to find them,
either set LD_LIBRARY_PATH=/usr/local/heimdal/lib in your environment
(possibly via a shell alias or wrapper script if you only want to
set this for Firefox), or modify 'shlib_dirs' in /etc/rc.conf.local.

To instruct Firefox to use Kerberos for specific domains, open
'about:config' and modify the following key:

network.negotiate-auth.trusted-uris: .example.com

Graphic Acceleration
====================
By default on unices the OpenGL acceleration is disabled. One can enable it by
setting MOZ_ACCELERATED=1 in the environment, or by switching the about:config
layers.acceleration.force-enable knob to true.  Check the 'Decision log'
section in about:support to see whether HW_COMPOSITING and OPENGL_COMPOSITING
are enabled.

Similarly, for the rust-based WebRender compositor, it is enabled by setting
MOZ_WEBRENDER=1 in the environment, or by switching the about:config
gfx.webrender.enabled knob to true. Check it is enabled in the 'Features'
section of about:support. For this feature, WebGL2 is necessary, so your
hardware must support at least OpenGL 4.

Check
https://wiki.mozilla.org/Platform/GFX/Quantum_Render for more details.