# gtk programs core dump



## tankist02 (Dec 19, 2015)

System:


```
FreeBSD bclinton 10.2-STABLE FreeBSD 10.2-STABLE #0 r291083: Sun Nov 22 21:34:30 PST 2015     toor@bclinton:/usr/obj/usr/src/sys/GENERIC  amd64
```

Ports revision: r403953

All packages are built in poudriere with jail built from the same base r291083 and all packages reinstalled by running `pkg upgrade -f`.

After that the following programs crashed with the following backtraces:

`caja`:

```
#0  0x000000080595dddd in free () from /lib/libc.so.7
#1  0x0000000804380b0c in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#2  0x000000080437f31e in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#3  0x000000080437f878 in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#4  0x0000000804ce05c8 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
#5  0x0000000804ce08fb in g_main_context_pending () from /usr/local/lib/libglib-2.0.so.0
#6  0x0000000804ce0c0f in g_main_loop_run () from /usr/local/lib/libglib-2.0.so.0
#7  0x0000000802f5746f in gtk_main () from /usr/local/lib/libgtk-x11-2.0.so.0
#8  0x0000000000465877 in main ()
```


`firefox`:

```
#0  0x000000080eebc270 in g_file_monitor_emit_event () from /usr/local/lib/libgio-2.0.so.0
#1  0x000000080ef66d0a in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#2  0x000000080ef682da in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#3  0x000000080ef66316 in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#4  0x000000080ef66878 in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#5  0x000000080dfd75c8 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
#6  0x000000080dfd78fb in g_main_context_pending () from /usr/local/lib/libglib-2.0.so.0
#7  0x000000080dfd7984 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0
#8  0x0000000804400efc in std::__1::__tree<unsigned long, std::__1::less<unsigned long>, std::__1::allocator<unsigned long> >::destroy ()
   from /usr/local/lib/firefox/libxul.so
#9  0x00000008043d4835 in std::__1::__tree<unsigned long, std::__1::less<unsigned long>, std::__1::allocator<unsigned long> >::destroy ()
   from /usr/local/lib/firefox/libxul.so
#10 0x00000008043d493d in std::__1::__tree<unsigned long, std::__1::less<unsigned long>, std::__1::allocator<unsigned long> >::destroy ()
   from /usr/local/lib/firefox/libxul.so
#11 0x0000000802b70ab7 in XRE_AddJarManifestLocation () from /usr/local/lib/firefox/libxul.so
#12 0x0000000802b92383 in std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >::__push_back_slow_path<unsigned long> ()
   from /usr/local/lib/firefox/libxul.so
#13 0x0000000802deccf4 in std::__1::vector<std::__1::pair<int, int>, std::__1::allocator<std::__1::pair<int, int> > >::__push_back_slow_path<std::__1::pair<int, int> > () from /usr/local/lib/firefox/libxul.so
#14 0x0000000802dd166c in std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::insert<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> > () from /usr/local/lib/firefox/libxul.so
#15 0x00000008043d452b in std::__1::__tree<unsigned long, std::__1::less<unsigned long>, std::__1::allocator<unsigned long> >::destroy ()
   from /usr/local/lib/firefox/libxul.so
#16 0x0000000804b9c79e in XRE_StartupTimelineRecord () from /usr/local/lib/firefox/libxul.so
#17 0x0000000804be6724 in XRE_InitCommandLine () from /usr/local/lib/firefox/libxul.so
#18 0x0000000804be69a4 in XRE_GlibInit () from /usr/local/lib/firefox/libxul.so
#19 0x0000000804be6dc6 in XRE_main () from /usr/local/lib/firefox/libxul.so
#20 0x000000000040657c in _start ()
#21 0x0000000000405fbf in _start ()
#22 0x0000000800672000 in ?? ()
#23 0x0000000000000000 in ?? ()
```

`transmission`:

```
#0  0x000000080493845c in sbrk () from /lib/libc.so.7
#1  0x0000000804922193 in syscall () from /lib/libc.so.7
#2  0x0000000804943fe3 in free () from /lib/libc.so.7
#3  0x0000000802df0b14 in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#4  0x0000000802def31e in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#5  0x0000000802def878 in g_local_file_monitor_get_type () from /usr/local/lib/libgio-2.0.so.0
#6  0x00000008036ef5c8 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
#7  0x00000008036ef8fb in g_main_context_pending () from /usr/local/lib/libglib-2.0.so.0
#8  0x00000008036ef984 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0
#9  0x0000000802d96f9c in g_application_run () from /usr/local/lib/libgio-2.0.so.0
#10 0x000000000042eae7 in main ()
```

It looks something is not right with my libgio?


----------



## chrbr (Dec 19, 2015)

Yesterday I had a similar issue with firefox. Rebuilding firefox fixed the situation. I have had to add to /etc/make.conf

```
MAKE_JOBS_UNSAFE=YES
```
for re-building firefox because firefox is currently marked as vulnerable. Afterwards I have deleted the line. It might be possible that this will help in your situation, too.


----------



## chrbr (Dec 21, 2015)

Dear tankist02 ,
have you already fixed the issue? If not please note that I might have mixed up the line to be entered in /etc/make.conf. To disable the check of vulnerable ports it should be

```
DISABLE_VULNERABILITIES=yes
```
.
I am not sure if www/firefox is vulnerable anymore because the version number is increased. If not the entry should not be necessary to build www/firefox to work with the updated libraries.


----------



## tankist02 (Jan 8, 2016)

After some experimenting I found that official packages are the most stable. I disabled my Poudriere repository, enabled the official one, reinstalled all packages with `pkg upgrade -f` and now (almost) don't have crashes anymore.


----------



## chrbr (Jan 9, 2016)

I am just starting with ports-mgmt/poudriere. I have followed the handbook, the wiki and Thread  pkg-package-repository-using-ports-mgmt-poudriere-no-zfs-required.38859. In Thread updating-with-poudriere.54649 garry gave me information about a good work flow. One idea was also not to rely on `pkg upgrade -f`. I think others have the same recommendation. I have almost no experience, at least any bad experience up to now .


----------



## kpa (Jan 9, 2016)

You should use `pkg upgrade -f` only if you're switching from one repository to another (let's say from quarterly branch of the official packages to the latest), the dependency solver is otherwise smart enough to figure out the correct course of action in almost all cases.


----------

