Tracking upstream issue: https://github.com/GoogleChrome/puppeteer/issues/4040
Background
I tested the latest Chromium security updates on deployment-chromium01.deployment-prep.eqiad.wmflabs and it fails with 72.0.3626.96-1~deb9u1 (released as https://lists.debian.org/debian-security-announce/2019/msg00036.html).
I've copied the previous version to my home dir (/home/jmm), reverting to that version fixes PDF generation. In /srv/log/proton/main.log I can see:
{"name":"proton","hostname":"deployment-chromium01","pid":14,"level":50,"msg":"Unexpected error: Error: Failed to launch chrome!\n[0219/100722.128782:ERROR:address_tracker_linux.cc(158)] Could not create NETLINK socket: Operation not supported (95)\nFailed to create secure directory (/nonexistent/.config/pulse): No such file or directory\nReceived signal 11 SEGV_MAPERR 000000000080\n#0 0x5631c6f02711 <unknown>\n#1 0x5631c6f02b7b <unknown>\n#2 0x5631c6f031de <unknown>\n#3 0x7f412c3350c0 <unknown>\n#4 0x5631c52ea314 <unknown>\n#5 0x5631c52f51b7 <unknown>\n#6 0x5631ca9dd566 <unknown>\n#7 0x5631ca9dd61a [0219/100722.141180:ERROR:udev_linux.cc(21)] Failed to initialize udev, possibly due to an invalid system configuration. Various device-related browser features may be broken.\n<unknown>\n#8 0x5631c5286fd3 <unknown>\n#9 0x5631c5700c32 <unknown>\n#10 0x5631c5289089 <unknown>\n#11 0x5631c528a039 <unknown>\n#12 0x5631cb4af775 <unknown>\n#13 0x5631c69ad257 <unknown>\n#14 0x5631c69ad501 <unknown>\n#15 0x5631c69ad8b0 <unknown>\n#16 0x5631c69b8b7a <unknown>\n#17 0x5631c69ab6c5 <unknown>\n#18 0x5631ca9e32e3 <unknown>\n#19 0x5631ca9e34d4 <unknown>\n#20 0x5631c69b5d49 <unknown>\n#21 0x5631c4653d6d ChromeMain\n#22 0x7f411e75f2b1 __libc_start_main\n#23 0x5631c4653b8a _start\n r8: 0000000000000001 r9: 0000000000000030 r10: 00007f40ebfff9d0 r11: 0000000000000202\n r12: 00007ffff50ac1f0 r13: 00005631ce187d30 r14: 00007ffff50ac240 r15: 00005631ce1862c0\n di: 00007ffff50ac1f0 si: 00005631cba9a770 bp: 00007ffff50ac290 bx: 00005631ce186490\n dx: 00005631c52ea314 ax: 00007ffff50ac1f0 cx: 0000000000000319 sp: 00007ffff50ac190\n ip: 00005631c52ea314 efl: 0000000000010202 cgf: 002b000000000033 erf: 0000000000000004\n trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000080\n[end of stack trace]\nCalling _exit(1). Core file will not be generated.\n\n\nTROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md\n","trace":"Error: Failed to launch chrome!\n[0219/100722.128782:ERROR:address_tracker_linux.cc(158)] Could not create NETLINK socket: Operation not supported (95)\nFailed to create secure directory (/nonexistent/.config/pulse): No such file or directory\nReceived signal 11 SEGV_MAPERR 000000000080\n#0 0x5631c6f02711 <unknown>\n#1 0x5631c6f02b7b <unknown>\n#2 0x5631c6f031de <unknown>\n#3 0x7f412c3350c0 <unknown>\n#4 0x5631c52ea314 <unknown>\n#5 0x5631c52f51b7 <unknown>\n#6 0x5631ca9dd566 <unknown>\n#7 0x5631ca9dd61a [0219/100722.141180:ERROR:udev_linux.cc(21)] Failed to initialize udev, possibly due to an invalid system configuration. Various device-related browser features may be broken.\n<unknown>\n#8 0x5631c5286fd3 <unknown>\n#9 0x5631c5700c32 <unknown>\n#10 0x5631c5289089 <unknown>\n#11 0x5631c528a039 <unknown>\n#12 0x5631cb4af775 <unknown>\n#13 0x5631c69ad257 <unknown>\n#14 0x5631c69ad501 <unknown>\n#15 0x5631c69ad8b0 <unknown>\n#16 0x5631c69b8b7a <unknown>\n#17 0x5631c69ab6c5 <unknown>\n#18 0x5631ca9e32e3 <unknown>\n#19 0x5631ca9e34d4 <unknown>\n#20 0x5631c69b5d49 <unknown>\n#21 0x5631c4653d6d ChromeMain\n#22 0x7f411e75f2b1 __libc_start_main\n#23 0x5631c4653b8a _start\n r8: 0000000000000001 r9: 0000000000000030 r10: 00007f40ebfff9d0 r11: 0000000000000202\n r12: 00007ffff50ac1f0 r13: 00005631ce187d30 r14: 00007ffff50ac240 r15: 00005631ce1862c0\n di: 00007ffff50ac1f0 si: 00005631cba9a770 bp: 00007ffff50ac290 bx: 00005631ce186490\n dx: 00005631c52ea314 ax: 00007ffff50ac1f0 cx: 0000000000000319 sp: 00007ffff50ac190\n ip: 00005631c52ea314 efl: 0000000000010202 cgf: 002b000000000033 erf: 0000000000000004\n trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000080\n[end of stack trace]\nCalling _exit(1). Core file will not be generated.\n\n\nTROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md\n\n at onClose (/srv/deployment/proton/deploy-cache/revs/ff7c8a2f8a09ae0893e27f2b25df65edff7a9b32/node_modules/puppeteer-core/node6/lib/Launcher.js:417:14)\n at Interface.helper.addEventListener (/srv/deployment/proton/deploy-cache/revs/ff7c8a2f8a09ae0893e27f2b25df65edff7a9b32/node_modules/puppeteer-core/node6/lib/Launcher.js:406:50)\n at emitNone (events.js:91:20)\n at Interface.emit (events.js:185:7)\n at Interface.close (readline.js:320:8)\n at Socket.onend (readline.js:109:10)\n at emitNone (events.js:91:20)\n at Socket.emit (events.js:185:7)\n at endReadableNT (_stream_readable.js:974:12)\n at _combinedTickCallback (internal/process/next_tick.js:80:11)\n at process._tickCallback (internal/process/next_tick.js:104:9)","levelPath":"error/request","time":"2019-02-19T10:07:22.169Z","v":0}
Reproduce the error
cd path/to/proton docker build ./ --file testing.Dockerfile -t proton docker run -it -p 3030:3030 proton
- If you can see the service startup log, access http://localhost:3030/en.wikipedia.org/v1/pdf/Barack_Obama/letter
Open Questions
We are currently using puppeteer v1.9.0 and the closest version to match the current debian chromium version is v1.11.0, which is paired with chromium 72.0.3618.0.
- Upgrading puppeteer is enough or the difference between minor versions is a problem?
- Tests show that is not possible, see T216493#4969147