box86: zoom crash on camera access libturbojpeg.so:"???", for accessing (nil)
Hi. I’m getting crash with zoom on camera access (open video settings or start new meeting with camera).
I’m using Armbian with XFCE + Box86 with Dynarec v0.1.3 4f06cfa0 built on Oct 6 2020 15:10:19 + Zoom 5.3.469451.0927 (from zoom_i686.tar.xz) + old Genius Facecam 3000 - it works on my sbc (ASUS Tinker Board) with Cheese.
Some info about camera:
$ v4l2-ctl --list-devices
rockchip,rk3288-vpu-enc (platform: hantro-vpu):
/dev/video3
/dev/video4
/dev/media1
rockchip-rga (platform:rga):
/dev/video2
FaceCam 3000: FaceCam 3000 (usb-ff540000.usb-1.1):
/dev/video0
/dev/video1
/dev/media0
$ lsusb | grep 0458:707a
Bus 001 Device 003: ID 0458:707a KYE Systems Corp. (Mouse Systems) USB2.0 Hub
https://linux-hardware.org/index.php?id=usb:0458-707a
I run zoom with commands: box86 zoom and BOX86_DLSYM_ERROR=1 BOX86_TRACE_FILE=trace.txt box86 zoom - same crash.
$ BOX86_DLSYM_ERROR=1 BOX86_TRACE_FILE=trace.txt box86 zoom
BOX86 Trace redirected to "trace.txt"
Box86 with Dynarec v0.1.3 4f06cfa0 built on Oct 6 2020 15:10:19
zoom started.
Client: Breakpad is using Single Client Mode! client fd = -1
[CZPClientLogMgr::LogClientEnvironment] [MacAddr: 2C:4D:54:43:33:FF][client: Linux][OS: Armbian 20.11 Focal][Hardware: CPU Core:4 Frenquency:1.8 G Memory size:2001MB CPU Brand: Intel(R) Pentium(R) 4 CPU 1800MHz GPU Brand:][Req ID: ]
Linux Client Version is 5.3.469451.0927
QSG_RENDER_LOOP is
XDG_CURRENT_DESKTOP = XFCE; GDMSESSION = xfce
Graphics Card Info::
Zoom package arch is 32bit, runing OS arch is i386
AppIconMgr::systemDesktopName log Desktop Name: xfce
link image0 hasn't been detected!
Could not resolve property : pattern0
Error: Send error, 22 Invalid argument
Error: Send error, 22 Invalid argument
Error: Send error, 22 Invalid argument
Segmentation fault
trace.txt attached + it’s last lines:
dlopen: New handle 0x1d (/home/q/soft/zoom/libturbojpeg.so), dlopened=1
Call to dlsym(0x1d, TJBUFSIZEYUV) :0x5af474a0
Call to dlsym(0x1d, TJBUFSIZE) :0x5af474e0
Call to dlsym(0x1d, tjInitDecompress) :0x5af484e0
Call to dlsym(0x1d, tjInitCompress) :0x5af482c0
Call to dlsym(0x1d, tjDecompressHeader2) :0x5af47890
Call to dlsym(0x1d, tjDecompressToYUV) :0x5af4dc00
Call to dlsym(0x1d, tjCompressFromYUVPlanes) :0x5af4b130
Call to dlsym(0x1d, tjDestroy) :0x5af4d290
Call to dlsym(0x1d, tjGetErrorStr) :0x5af46f30
7856|SIGSEGV @0x5914253c (???) (x86pc=0x5af77957//home/q/soft/zoom/libturbojpeg.so:"???"), for accessing (nil) (code=1), db=0x684a5408(0x5af77957/???)
7856|Double SIGSEGV!
I know, that may be hard to fix, but I can build box86 from source with patches for testing or get some addition log or backtrace.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 24 (24 by maintainers)
Commits related to this issue
- Wrapped libturbojpeg.so.0 with a small set of functions (should help #268) — committed to ptitSeb/box86 by ptitSeb 4 years ago
- Added Zoom detection and hack to first try to use system libturbojpeg.so if loaded (still for #268) — committed to ptitSeb/box86 by ptitSeb 4 years ago
- Fix Zoom hack for libturbojpeg.so (for #268) — committed to ptitSeb/box86 by ptitSeb 4 years ago
- Fix a callback for pulse audio (help #268, seems to be working now) — committed to ptitSeb/box86 by ptitSeb 4 years ago
Ok, seems enough. Looks like an issue with the pulse audio. I’ll try to reproduce on my side.
Thanks 😃
Note that you’ll have to remove the trace hack this time, before applying next patch.