erlang / otp

Erlang/OTP
http://erlang.org
Apache License 2.0
11.39k stars 2.96k forks source link

ERL-139: Observer causes segfault on OS X #3446

Closed OTP-Maintainer closed 3 years ago

OTP-Maintainer commented 8 years ago

Original reporter: bbhoss Affected version: OTP-18.3 Component: observer Migrated from: https://bugs.erlang.org/browse/ERL-139


Hi all, I have been having this issue for some time, and figured I'd report it since it's so easy to reproduce. I am running Mac OS X 10.11.4 (15E65), and Erlang 18.3 that I installed from Homebrew. All you have to do is start the Observer, visit the Applications tab and double click a process of your choosing. Once the process info window is open, close it. It will either crash immediately (segfault), or clear the window. If you try closing the blank window, the VM segfaults.

It's really unfortunate that this happens because I often use the observer as an example of Erlang/OTP tooling when evangelizing its use, and it makes Erlang look bad when it segfaults seemingly so easily.
OTP-Maintainer commented 8 years ago

dgud said:

None of us (with a Mac) have managed to reproduce the issue with 18.3 or the latest on master. 
But neither of us use homebrew either, and I'm not interested in debugging the homebrew builds.

Can you build wxWidgets and erlang yourself and see if you can reproduce it?

What if you open and close a process info window from the Processes tab, does it crash as well?
OTP-Maintainer commented 8 years ago

kamidev said:

I can reproduce this on OS X 10.11.6, running Erlang/OTP 19 [erts-8.0]. Installation via kerl. 

Double-clicking on a process in the Applications tab always segfaults after closing the process window. 
Opening and closing a process from the Processes tab does not seem to have this problem.
OTP-Maintainer commented 8 years ago

dgud said:

Which wxWidgets version and did you build it?
OTP-Maintainer commented 8 years ago

kamidev said:

My_wx_dir = code:lib_dir(wx).
"/Users/jonas/.kerl/installations/19.0/lib/wx-1.7"

I did not build it. This is apparently the default kerl uses.
OTP-Maintainer commented 8 years ago

dgud said:

That is the path to erlang library, I ask about the backend C++ library version, i.e. 
{noformat}
wx-config --version  && which wx-config 
{noformat}
OTP-Maintainer commented 8 years ago

kamidev said:

wx-config --version  && which wx-config
3.0.2 
OTP-Maintainer commented 8 years ago

kamidev said:

Good news. After upgrading to macOS 10.12 (Sierra), I can no longer reproduce this bug. 
I have tested Erlang/OTP 18.3, 19.0 and 19.1, built using kerl (https://github.com/kerl/kerl)

For Erlang: "erl -sname observer -hidden -setcookie MyCookie -run observe" 
For Elixir: run iex,  then ":observer.start()" 
Double-click any process in the Applications tab to get a new process window, then close it.

This used to cause a segfault every time but longer does. 
OTP-Maintainer commented 7 years ago

dalizard said:

The issue (or a similar/related one) is reproducible on my end and I've created a [new ticket|https://bugs.erlang.org/browse/ERL-403].