Bug 238413 - www/opera: 12.16_6 -- crashes with bus error (SIGBUS) if print is selected
Summary: www/opera: 12.16_6 -- crashes with bus error (SIGBUS) if print is selected
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Alex Kozlov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-08 04:56 UTC by Ronald F. Guilmette
Modified: 2019-06-21 03:10 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ronald F. Guilmette 2019-06-08 04:56:18 UTC
I started up opera fresh after having previously configured it in minor ways, e.g. to set https://www.google.cocm/ to the home page.

This time, right after starting it up, I selected the "Print" option from the
main Opera control menu.  Before I could even select which specific printer to print to, Opera crashed with a SIGBUS error.

I subsequently ran gdb on the resulting opera.core file and obtained the following stack trace, which I hope may be helpful to whoever ends up trying to fix this serious bug:

==============================================================================
% gdb /usr/local/lib/opera/opera opera.core
GNU gdb (GDB) 8.2.1 [GDB v8.2.1 for FreeBSD]
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-portbld-freebsd12.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/lib/opera/opera...(no debugging symbols found)...done.
[New LWP 100206]
[New LWP 100199]
[New LWP 100201]
[New LWP 100202]
[New LWP 100204]
[New LWP 100205]
[New LWP 100209]
[New LWP 100210]
Core was generated by `/usr/local/lib/opera/opera'.
Program terminated with signal SIGBUS, Bus error.
#0  0x0000000804a7e9e8 in vtable for __cxxabiv1::__si_class_type_info ()
   from /lib/libcxxrt.so.1
[Current thread is 1 (LWP 100206)]
(gdb) where
#0  0x0000000804a7e9e8 in vtable for __cxxabiv1::__si_class_type_info ()
    at /lib/libcxxrt.so.1
#1  0x000000080202ef21 in __dynamic_cast ()
    at /usr/local/lib/opera/libstdc++.so.6
#2  0x0000000808721cfa in std::__1::vector<libproxy::config_extension*, std::__1::allocator<libproxy::config_extension*> > libmodman::module_manager::get_extensions<libproxy::config_extension>() const ()
    at /usr/local/lib/libproxy.so.1
#3  0x000000080871e08f in  () at /usr/local/lib/libproxy.so.1
#4  0x000000080871d8dd in  () at /usr/local/lib/libproxy.so.1
#5  0x0000000808720a95 in px_proxy_factory_get_proxies ()
    at /usr/local/lib/libproxy.so.1
#6  0x0000000806b4b47b in  ()
    at /usr/local/lib/gio/modules/libgiolibproxy.so
#7  0x000000080404f26a in  () at /usr/local/lib/libgio-2.0.so.0
#8  0x00000008043b4513 in  () at /usr/local/lib/libglib-2.0.so.0
#9  0x00000008043b35fa in  () at /usr/local/lib/libglib-2.0.so.0
#10 0x0000000801f32776 in  () at /lib/libthr.so.3
#11 0x0000000000000000 in  ()
==============================================================================
Comment 1 Ronald F. Guilmette 2019-06-08 04:58:25 UTC
Sorry.  Minor typo.  I obviously meant to say that I had previously set:

https://www.google.com/

as the default Opera home page... although that probably makes no difference at all to this bug.
Comment 2 Alex Kozlov freebsd_committer 2019-06-10 19:04:21 UTC
Can you please post your uname -a and make showconfig -C ${PORTSDIR}/www/opera?
Comment 3 Ronald F. Guilmette 2019-06-10 20:32:11 UTC
% uname -a
FreeBSD coredump.tristatelogic.com 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC  amd64

% make showconfig -C /usr/ports/www/opera
===> The following configuration options are available for opera-12.16_6:
     CUPS=on: support for printing (requires CUPS)
     VIDEO=on: support for HTML5 video (requires GStreamer)
     GTK2=off: GTK+ 2 GUI toolkit support
     KDE4=off: KDE 4 desktop environment support
===> Use 'make config' to modify these settings

PLEASE NOTE:  I *did not* build this from ports.  I installed the opera pre-built package.
Comment 4 Alex Kozlov freebsd_committer 2019-06-11 06:53:40 UTC
Thanks.
From the core, it seems that the issue is in px_proxy_factory_get_proxies() (in libproxy.so.1 from net/libproxy, dependency of net/glib-networking I assume).
Can you please deinstall it temporarily to confirm that the problem is originating from it?
Comment 5 Ronald F. Guilmette 2019-06-11 18:04:35 UTC
I'm sorry.  Can you please clarify your request.  You want me to de-install net/libproxy and try again?

NOTE: I did not elect to install that particular package, so it is obviously a prerequsite of one or more other packages that I do have installed.  If you want me to remove it and try again running opera, then I will, but I am concerned that removal, even temporarily, may break an unknown number of other things.
Comment 6 Ronald F. Guilmette 2019-06-11 19:19:48 UTC
OK, I did proceed and I did a "pkg delete -f" on libproxy, and yes, that seems to allow Opera not to crash when an attempt is made to print something from it.

I hope that helps.

Meanwhile, I need to reinstall libproxy now, I think, because I have a whole raft of other things installed that depened on it, specifically:

        glib-networking-2.56.1_1
        libquvi09-0.9.4_4
        libsoup-2.62.3
        libsoup-gnome-2.62.3
        gimp-app-2.10.8_2,1
        py27-gimp-2.10.8_2
        totem-pl-parser-3.26.1
        geoclue-2.4.7
        webkit2-gtk3-2.24.0_1
        gnome-online-accounts-3.28.0_1
        tracker-2.0.4_3
        libgdata-0.17.9
        gvfs-1.30.4
        yelp-3.28.1_1
        gthumb-3.6.1_7
        rest-0.7.93
        gimp-gutenprint-5.2.14
        gimp-2.10.8,2
        brasero-3.12.2
        nautilus-3.28.1_2
        evince-3.28.5_1
Comment 7 Alex Kozlov freebsd_committer 2019-06-11 19:35:15 UTC
Thank you for confirming[*]. Can you please open bug for net/libproxy?

[*] Please set autoremove flag on net/libproxy if you didn't do it already, so it can be removed once nothing depends on it:
$pkg set -A 1 libproxy
Comment 8 Ronald F. Guilmette 2019-06-11 20:41:20 UTC
As requested, I have filed a PR on libproxy:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238507

Thank you for the tip about autoremove.  I was not previously aware of that option.