random crash (SIGSEGV) in UnicodeMap::match
I got a random crash (SIGSEGV) in UnicodeMap::match in evince when I was viewing a PDF.
I am using evince 3.38.0-2 with GNOME 3.38, mesa 20.2.2-1 and the Linux 5.9.1-1, with all packages provided by Debian bullseye.
I have included the relevant Linux kernel log entry and short backtrace below and attached the full backtrace.
I am not sure if this is a poppler bug or an evince bug, please reassign to poppler if appropriate.
I am not able to reproduce this crash, so if the information provided is not useful, please close this bug report.
Nov 17 16:57:28 kernel: traps: EvJobScheduler[1746720] general protection fault ip:7f42749cabe0 sp:7f42757be798 error:0 in libpoppler.so.102.0.0[7f42748c6000+177000]
#0 UnicodeMap::match (this=this@entry=0x40853dba4f00ef13, encodingNameA=...) at ./poppler/UnicodeMap.cc:233
233 ./poppler/UnicodeMap.cc: No such file or directory.
[Current thread is 1 (Thread 0x7f42757bf700 (LWP 1746720))]
#0 UnicodeMap::match(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const (this=this@entry=0x40853dba4f00ef13, encodingNameA="\001\000\000\000\020") at ./poppler/UnicodeMap.cc:233
#1 0x00007f42749cae47 in UnicodeMapCache::getUnicodeMap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x7f426402db30, encodingName="\001\000\000\000\020") at ./poppler/UnicodeMap.cc:298
#2 0x00007f427497895e in GlobalParams::getUnicodeMap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (encodingName="\001\000\000\000\020", this=0x555edc2cac00) at ./poppler/GlobalParams.cc:1199
#3 GlobalParams::getUnicodeMap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x555edc2cac00, encodingName="\001\000\000\000\020") at ./poppler/GlobalParams.cc:1193
#4 0x00007f42749f3d26 in TextPage::coalesce(bool, double, bool) (doHTML=false, fixedPitch=0, physLayout=true, this=0x7f42640ba080) at ./poppler/TextOutputDev.cc:2875
#5 TextPage::coalesce(bool, double, bool) (this=0x7f42640ba080, physLayout=<optimized out>, fixedPitch=0, doHTML=<optimized out>) at ./poppler/TextOutputDev.cc:2853
#6 0x00007f4274940e22 in Gfx::~Gfx() (this=0x7f42641fb5e0, __in_chrg=<optimized out>) at ./poppler/Gfx.cc:607
#7 0x00007f427499c268 in Page::displaySlice(OutputDev*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*, bool) (this=0x7f426405bc40, out=<optimized out>, hDPI=<optimized out>, vDPI=<optimized out>, rotate=<optimized out>, useMediaBox=<optimized out>, crop=<optimized out>, sliceX=<optimized out>, sliceY=-1, sliceW=-1, sliceH=-1, printing=false, abortCheckCbk=0x0, abortCheckCbkData=0x0, annotDisplayDecideCbk=0x0, annotDisplayDecideCbkData=0x0, copyXRef=false) at ./poppler/Page.cc:598
#8 0x00007f4274d382dc in _poppler_page_render(PopplerPage*, cairo_t*, bool, PopplerPrintFlags) (page=page@entry=0x7f42641839c0 [PopplerPage], cairo=cairo@entry=0x555edc3e6900, printing=printing@entry=false, print_flags=print_flags@entry=POPPLER_PRINT_DOCUMENT) at ./glib/poppler-page.cc:325
#9 0x00007f4274d3876a in poppler_page_render(PopplerPage*, cairo_t*) (page=page@entry=0x7f42641839c0 [PopplerPage], cairo=cairo@entry=0x555edc3e6900) at ./glib/poppler-page.cc:350
#10 0x00007f4274f61e21 in pdf_page_render(PopplerPage*, gint, gint, EvRenderContext*) (page=page@entry=0x7f42641839c0 [PopplerPage], width=100, height=136, rc=rc@entry=0x7f4264183a00 [EvRenderContext]) at ../backend/pdf/ev-poppler.cc:445
#11 0x00007f4274f61f90 in pdf_document_get_thumbnail_surface(EvDocument*, EvRenderContext*) (document=<optimized out>, rc=0x7f4264183a00 [EvRenderContext]) at ../backend/pdf/ev-poppler.cc:580
#12 0x00007f427b63ca25 in ev_job_thumbnail_run (job=0x555edc3328f0 [EvJobThumbnail]) at ../libview/ev-jobs.c:885
#13 0x00007f427b63e1a7 in ev_job_thread (job=0x555edc3328f0 [EvJobThumbnail]) at ../libview/ev-job-scheduler.c:184
#14 ev_job_thread_proxy (data=<optimized out>) at ../libview/ev-job-scheduler.c:217
#15 0x00007f427b4b3dfd in g_thread_proxy (data=0x555edc36b700) at ../../../glib/gthread.c:820
#16 0x00007f427a1fbea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#17 0x00007f427a53dd4f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
-- bye, pabs