#851783 gnucash: GNUCash crashes when asking for a report, if talkplugin for chrome is installed

Package:
gnucash
Source:
gnucash
Description:
personal and small-business financial-accounting software
Submitter:
Sergio Costas
Date:
2018-12-09 16:18:07 UTC
Severity:
important
#851783#5
Date:
2017-01-18 17:54:08 UTC
From:
To:
Dear Maintainer,

I've been using GNUCash for about ten years, but some months ago it started to
crash every time I tried to get a report. Since I use it mainly to keep my
house accounts, it wasn't a big problem, until I really needed a report. I
tried running GNUCash with valgrind and it returned this error:

Vector smash protection is enabled.
No bp log location saved, using default.
[000:000] Cpu: 6.60.3, x4, 3300Mhz, 15989MB
[000:008] Computer model: Not available
[000:011] Browser XEmbed support present: 1
[000:012] Browser toolkit is Gtk2.
==2869==
==2869== Process terminating with default action of signal 11 (SIGSEGV)
==2869==  Access not within mapped region at address 0x38
==2869==    at 0x400BABC: elf_machine_rela (dl-machine.h:305)
==2869==    by 0x400BABC: elf_dynamic_do_Rela (do-rel.h:137)
==2869==    by 0x400BABC: _dl_relocate_object (dl-reloc.c:259)
==2869==    by 0x4013BF0: dl_open_worker (dl-open.c:435)
==2869==    by 0x400F483: _dl_catch_error (dl-error.c:187)
==2869==    by 0x4013418: _dl_open (dl-open.c:660)
==2869==    by 0xB224EE8: dlopen_doit (dlopen.c:66)
==2869==    by 0x400F483: _dl_catch_error (dl-error.c:187)
==2869==    by 0xB225520: _dlerror_run (dlerror.c:163)
==2869==    by 0xB224F81: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==2869==    by 0x81658862: ??? (in
/home/raster/datos_extra/opt/google/talkplugin/libnpgoogletalk.so)
==2869==    by 0xE151902: ??? (in /usr/lib/x86_64-linux-
gnu/libwebkitgtk-1.0.so.0.22.17)
==2869==    by 0xE151A0A: ??? (in /usr/lib/x86_64-linux-
gnu/libwebkitgtk-1.0.so.0.22.17)
==2869==    by 0xD8611C6: ??? (in /usr/lib/x86_64-linux-
gnu/libwebkitgtk-1.0.so.0.22.17)
==2869==  If you believe this happened as a result of a stack
==2869==  overflow in your program's main thread (unlikely but
==2869==  possible), you can try to increase the size of the
==2869==  main thread stack using the --main-stacksize= flag.
==2869==  The main thread stack size used in this run was 8388608.
==2869==
==2869== HEAP SUMMARY:
==2869==     in use at exit: 62,993,798 bytes in 731,922 blocks
==2869==   total heap usage: 17,810,483 allocs, 17,078,561 frees, 4,698,818,468
bytes allocated
==2869==
==2869== LEAK SUMMARY:
==2869==    definitely lost: 330,267 bytes in 37,438 blocks
==2869==    indirectly lost: 54,805 bytes in 2,273 blocks
==2869==      possibly lost: 138,963 bytes in 274 blocks
==2869==    still reachable: 52,779,443 bytes in 650,723 blocks
==2869==                       of which reachable via heuristic:
==2869==                         stdstring          : 8,234 bytes in 3 blocks
==2869==                         length64           : 475,408 bytes in 440
blocks
==2869==                         newarray           : 2,208 bytes in 58 blocks
==2869==         suppressed: 0 bytes in 0 blocks
==2869== Rerun with --leak-check=full to see details of leaked memory
==2869==
==2869== For counts of detected and suppressed errors, rerun with: -v
==2869== Use --track-origins=yes to see where uninitialised values come from
==2869== ERROR SUMMARY: 1700407 errors from 187 contexts (suppressed: 1 from 1)
Violación de segmento

After inspecting the output I tried to remove the /opt/google/talkplugin folder
and tried again. This time everything worked like a charm. Enabling again the
plugin made gnucash crash again.

I suspect that the problem is in the libwebkit used in gnucash, that, for some
obscure reason, tries to load all the chrome plugins.

#851783#10
Date:
2018-12-09 16:15:26 UTC
From:
To:
Hi Sergio,

Do you still face this issue? I cannot reproduce neither on stable (version 2.15) nor unstable (version 3.3).

Cheers,
Bertrand