Hangs on code reformat on Mac OS #56

Open
timothybasanov opened this Issue Feb 21, 2013 · 9 comments

Comments

Projects
None yet
4 participants
@timothybasanov

I've created simple project rooted at ~/Documents/Erlang with only one file:
~/Documents/Erlang/test/src/test.app.src/test.erl

-module(test).

-export([start/0]).

start() ->
  "1".

When I try to reformat it, Sublime hangs, quits only on Forced Quit.

Not sure how to provide more useful information.

Date/Time:       2013-02-20 20:42:40 -0800
OS Version:      10.8.2 (Build 12C3012)
Architecture:    x86_64
Report Version:  11

Command:         Sublime Text 2
Path:            /Applications/Sublime Text 2.app/Contents/MacOS/Sublime Text 2
Version:         Version 2.0.1, Build 2217 (2217)
Parent:          launchd [465]

PID:             94188
Event:           hang
Duration:        1.17s
Steps:           12 (100ms sampling interval)

Hardware model:  MacBookAir5,2
Active cpus:     4
Free pages:      819957 pages (+1304)
Pageins:         0 pages
Pageouts:        0 pages


Process:         Sublime Text 2 [94188]
Path:            /Applications/Sublime Text 2.app/Contents/MacOS/Sublime Text 2
Architecture:    x86_64
Parent:          launchd [465]
UID:             54686
Task size:       11267 pages

  Thread 0x42040f   DispatchQueue 1          priority 46        
  12 start + 52 (Sublime Text 2) [0x10d8cd064]
    12 main + 2251 (Sublime Text 2) [0x10d9be3cb]
      12 -[NSApplication run] + 636 (AppKit) [0x7fff8db362fa]
        12 -[NSApplication sendEvent:] + 4480 (AppKit) [0x7fff8dc20243]
          12 -[NSApplication _handleKeyEquivalent:] + 462 (AppKit) [0x7fff8dd63114]
            12 -[NSWindow performKeyEquivalent:] + 64 (AppKit) [0x7fff8dd63329]
              12 -[NSView _performKeyEquivalent:conditionally:] + 41 (AppKit) [0x7fff8dd633c9]
                12 -[NSView performKeyEquivalent:] + 166 (AppKit) [0x7fff8dd63512]
                  12 -[NSView _performKeyEquivalent:conditionally:] + 41 (AppKit) [0x7fff8dd633c9]
                    12 ??? (Sublime Text 2 + 2489896) [0x10db2ae28]
                      12 window_impl::handle_event(px_event_t*) + 6795 (Sublime Text 2) [0x10d94118f]
                        12 route_message_using_input_focus(ui_message_type, void*, control*) + 151 (Sublime Text 2) [0x10d8ef547]
                          12 message_handler::handle_message(ui_message_type, void*) + 652 (Sublime Text 2) [0x10d90e6f4]
                            12 python_command::run(value const&) + 131 (Sublime Text 2) [0x10da0cb2d]
                              12 PyEval_CallFunction + 183 (Python) [0x10e2bb80a]
                                12 PyEval_CallObjectWithKeywords + 177 (Python) [0x10e292dfc]
                                  12 PyObject_Call + 97 (Python) [0x10e28baba]
                                    12 ??? (Python + 188826) [0x10e2a619a]
                                      12 PyObject_Call + 97 (Python) [0x10e28baba]
                                        12 ??? (Python + 348024) [0x10e2ccf78]
                                          12 PyEval_EvalCodeEx + 1956 (Python) [0x10e28d281]
                                            12 PyEval_EvalFrameEx + 7693 (Python) [0x10e28f0d2]
                                              12 ??? (Python + 112107) [0x10e2935eb]
                                                12 PyEval_EvalFrameEx + 7693 (Python) [0x10e28f0d2]
                                                  12 ??? (Python + 112107) [0x10e2935eb]
                                                    12 PyEval_EvalFrameEx + 7693 (Python) [0x10e28f0d2]
                                                      12 ??? (Python + 112107) [0x10e2935eb]
                                                        12 PyEval_EvalFrameEx + 7693 (Python) [0x10e28f0d2]
                                                          12 ??? (Python + 112107) [0x10e2935eb]
                                                            12 PyEval_EvalFrameEx + 7693 (Python) [0x10e28f0d2]
                                                              12 ??? (Python + 112225) [0x10e293661]
                                                                12 PyEval_EvalCodeEx + 1956 (Python) [0x10e28d281]
                                                                  12 PyEval_EvalFrameEx + 7693 (Python) [0x10e28f0d2]
                                                                    12 ??? (Python + 112107) [0x10e2935eb]
                                                                      12 PyEval_EvalFrameEx + 7548 (Python) [0x10e28f041]
                                                                        12 __select + 10 (libsystem_kernel.dylib) [0x7fff8c4c4322]
                                                                         *12 ??? (mach_kernel + 3576576) [0xffffff8000569300]

  Thread 0x42041c   DispatchQueue 2          priority 48        
  12 _dispatch_mgr_thread + 54 (libdispatch.dylib) [0x7fff8c4a09ee]
    12 kevent + 10 (libsystem_kernel.dylib) [0x7fff8c4c4d16]
     *12 ??? (mach_kernel + 3467616) [0xffffff800054e960]

  Thread 0x42041e   priority 46        
  12 thread_start + 13 (libsystem_c.dylib) [0x7fff8bd96181]
    12 _pthread_start + 327 (libsystem_c.dylib) [0x7fff8bda9742]
      12 ??? (Sublime Text 2 + 56745) [0x10d8d8da9]
        12 thread_queue_runner::run() + 97 (Sublime Text 2) [0x10d8d8f7b]
          12 __psynch_cvwait + 10 (libsystem_kernel.dylib) [0x7fff8c4c40fa]
           *12 psynch_cvcontinue + 0 (mach_kernel) [0xffffff80005b4b10]

  Thread 0x42041f   priority 46        
  12 thread_start + 13 (libsystem_c.dylib) [0x7fff8bd96181]
    12 _pthread_start + 327 (libsystem_c.dylib) [0x7fff8bda9742]
      12 ??? (Sublime Text 2 + 90745) [0x10d8e1279]
        12 io_worker::thread_proc() + 155 (Sublime Text 2) [0x10d8e1253]
          12 io_scheduler::extract_next_request() + 148 (Sublime Text 2) [0x10d8e1184]
            12 __psynch_cvwait + 10 (libsystem_kernel.dylib) [0x7fff8c4c40fa]
             *12 psynch_cvcontinue + 0 (mach_kernel) [0xffffff80005b4b10]

  Thread 0x420420   priority 46        
  12 thread_start + 13 (libsystem_c.dylib) [0x7fff8bd96181]
    12 _pthread_start + 327 (libsystem_c.dylib) [0x7fff8bda9742]
      12 ??? (Sublime Text 2 + 90745) [0x10d8e1279]
        12 io_worker::thread_proc() + 155 (Sublime Text 2) [0x10d8e1253]
          12 io_scheduler::extract_next_request() + 148 (Sublime Text 2) [0x10d8e1184]
            12 __psynch_cvwait + 10 (libsystem_kernel.dylib) [0x7fff8c4c40fa]
             *12 psynch_cvcontinue + 0 (mach_kernel) [0xffffff80005b4b10]

  Thread 0x420465   priority 46        
  12 thread_start + 13 (libsystem_c.dylib) [0x7fff8bd96181]
    12 _pthread_start + 327 (libsystem_c.dylib) [0x7fff8bda9742]
      12 ??? (Python + 446480) [0x10e2e5010]
        12 PyEval_CallObjectWithKeywords + 177 (Python) [0x10e292dfc]
          12 PyObject_Call + 97 (Python) [0x10e28baba]
            12 ??? (Python + 188826) [0x10e2a619a]
              12 PyObject_Call + 97 (Python) [0x10e28baba]
                12 ??? (Python + 348024) [0x10e2ccf78]
                  12 PyEval_EvalCodeEx + 1956 (Python) [0x10e28d281]
                    12 PyEval_EvalFrameEx + 7693 (Python) [0x10e28f0d2]
                      12 ??? (Python + 112107) [0x10e2935eb]
                        12 PyEval_EvalFrameEx + 7693 (Python) [0x10e28f0d2]
                          12 ??? (Python + 112107) [0x10e2935eb]
                            12 PyEval_EvalFrameEx + 2452 (Python) [0x10e28dc59]
                              12 PyObject_Call + 97 (Python) [0x10e28baba]
                                12 ??? (Python + 348024) [0x10e2ccf78]
                                  12 PyEval_EvalCodeEx + 1956 (Python) [0x10e28d281]
                                    12 PyEval_EvalFrameEx + 7693 (Python) [0x10e28f0d2]
                                      12 ??? (Python + 112225) [0x10e293661]
                                        12 PyEval_EvalCodeEx + 1956 (Python) [0x10e28d281]
                                          12 PyEval_EvalFrameEx + 7693 (Python) [0x10e28f0d2]
                                            12 ??? (Python + 112225) [0x10e293661]
                                              12 PyEval_EvalCodeEx + 1956 (Python) [0x10e28d281]
                                                12 PyEval_EvalFrameEx + 7548 (Python) [0x10e28f041]
                                                  12 ??? (Python + 445416) [0x10e2e4be8]
                                                    12 PyThread_acquire_lock + 96 (Python) [0x10e2de54e]
                                                      12 __psynch_cvwait + 10 (libsystem_kernel.dylib) [0x7fff8c4c40fa]
                                                       *12 psynch_cvcontinue + 0 (mach_kernel) [0xffffff80005b4b10]

Process:         bash [94209]
Path:            /bin/bash
Architecture:    x86_64
Parent:          login [94208]
UID:             54686
Task size:       305 pages

Process:         beam.smp [94212]
Path:            /usr/local/lib/erlang/erts-5.10/bin/beam.smp
Architecture:    x86_64
Parent:          bash [94209]
UID:             54686
Task size:       4637 pages


Process:         beam.smp [94222]
Path:            /usr/local/lib/erlang/erts-5.10/bin/beam.smp
Architecture:    x86_64
Parent:          Sublime Text 2 [94188]
UID:             54686
Task size:       6079 pages (-32)
CPU Time:        1.078s
@ostinelli

This comment has been minimized.

Show comment
Hide comment
@ostinelli

ostinelli Mar 1, 2013

Owner

Not sure how to look into this. Any idea on how to reproduce it? What version of Erlang are you using?

Owner

ostinelli commented Mar 1, 2013

Not sure how to look into this. Any idea on how to reproduce it? What version of Erlang are you using?

@timothybasanov

This comment has been minimized.

Show comment
Hide comment
@timothybasanov

timothybasanov Mar 1, 2013

I uninstalled Erlang Solitions Erlang and reinstalled it from homebrew.
Now it works just fine and problem does not reproduce itself anymore.

I think that I used R16A and R15B03 from Erlang Soutions, Mac OS 64 bit
package to let it crash.

As it does not reproduce anymore, ticket could be closed.
Thanks!

Timothy Basanov

On Thu, Feb 28, 2013 at 8:35 PM, Roberto Ostinelli <notifications@github.com

wrote:

Not sure how to look into this. Any idea on how to reproduce it? What
version of Erlang are you using?


Reply to this email directly or view it on GitHubhttps://github.com/ostinelli/SublimErl/issues/56#issuecomment-14272826
.

I uninstalled Erlang Solitions Erlang and reinstalled it from homebrew.
Now it works just fine and problem does not reproduce itself anymore.

I think that I used R16A and R15B03 from Erlang Soutions, Mac OS 64 bit
package to let it crash.

As it does not reproduce anymore, ticket could be closed.
Thanks!

Timothy Basanov

On Thu, Feb 28, 2013 at 8:35 PM, Roberto Ostinelli <notifications@github.com

wrote:

Not sure how to look into this. Any idea on how to reproduce it? What
version of Erlang are you using?


Reply to this email directly or view it on GitHubhttps://github.com/ostinelli/SublimErl/issues/56#issuecomment-14272826
.

@frepond

This comment has been minimized.

Show comment
Hide comment
@frepond

frepond Mar 13, 2013

The same happens here under Ubuntu with R16B from Erlang Solutions.

frepond commented Mar 13, 2013

The same happens here under Ubuntu with R16B from Erlang Solutions.

@ostinelli

This comment has been minimized.

Show comment
Hide comment
@ostinelli

ostinelli Mar 22, 2013

Owner

Does all the rest of the plugin actually work? Or is it only the code reformat?

Owner

ostinelli commented Mar 22, 2013

Does all the rest of the plugin actually work? Or is it only the code reformat?

@frepond

This comment has been minimized.

Show comment
Hide comment
@frepond

frepond Mar 25, 2013

Yes, the rest works just fine. Only formatting seems to have problem under Erlang Solution's R15 and R16.

frepond commented Mar 25, 2013

Yes, the rest works just fine. Only formatting seems to have problem under Erlang Solution's R15 and R16.

@ostinelli

This comment has been minimized.

Show comment
Hide comment
@ostinelli

ostinelli Mar 27, 2013

Owner

Ok thank you.

Owner

ostinelli commented Mar 27, 2013

Ok thank you.

@kgadek

This comment has been minimized.

Show comment
Hide comment
@kgadek

kgadek Apr 2, 2013

Ok, so I found a problematic command -- it's retcode, data = SUBLIMERL.execute_os_command('%s %s' % (SUBLIMERL.escript_path, escript_command)) in sublimerl_formatter.py in line 54. It calls /usr/local/bin/escript sublimerl_formatter.erl '/some_path_here/tmpl5fUjO', the temp file is (obviously?) equal to test.erl and yet the escript command never finishes.

What's weird: escript is stuck at compiling the file. Very strange. I think I saw something related on some erlang mailing list.

Yet SublimErl seem ok, issue to be closed. If I'd find anything, I'll leave further notes here.

kgadek commented Apr 2, 2013

Ok, so I found a problematic command -- it's retcode, data = SUBLIMERL.execute_os_command('%s %s' % (SUBLIMERL.escript_path, escript_command)) in sublimerl_formatter.py in line 54. It calls /usr/local/bin/escript sublimerl_formatter.erl '/some_path_here/tmpl5fUjO', the temp file is (obviously?) equal to test.erl and yet the escript command never finishes.

What's weird: escript is stuck at compiling the file. Very strange. I think I saw something related on some erlang mailing list.

Yet SublimErl seem ok, issue to be closed. If I'd find anything, I'll leave further notes here.

@kgadek

This comment has been minimized.

Show comment
Hide comment
@kgadek

kgadek Apr 2, 2013

Ok, found it quicker than I expected: http://erlang.org/pipermail/erlang-bugs/2013-March/003454.html

The module (distilled here: http://pastebin.com/2Q1m3beB ) takes 120s to compile (so we thought it's hanged). On the mailing list is distilled module from vimerl which is also problematic.

The problem was introduced R16A/B and shall be fixed in R16B01 (on R15B03 everything works just fine).

--edit--
A quickfix: comment-out -mode(compile). line. Diff below:

--- a/support/sublimerl_formatter.erl
+++ b/support/sublimerl_formatter.erl
@@ -30,7 +30,7 @@
 %% NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 %% POSSIBILITY OF SUCH DAMAGE.
 %% ==========================================================================================================
--mode(compile).
+%-mode(compile).

 % macros
 -define(IS(T, C), (element(1, T) == C)).

kgadek commented Apr 2, 2013

Ok, found it quicker than I expected: http://erlang.org/pipermail/erlang-bugs/2013-March/003454.html

The module (distilled here: http://pastebin.com/2Q1m3beB ) takes 120s to compile (so we thought it's hanged). On the mailing list is distilled module from vimerl which is also problematic.

The problem was introduced R16A/B and shall be fixed in R16B01 (on R15B03 everything works just fine).

--edit--
A quickfix: comment-out -mode(compile). line. Diff below:

--- a/support/sublimerl_formatter.erl
+++ b/support/sublimerl_formatter.erl
@@ -30,7 +30,7 @@
 %% NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 %% POSSIBILITY OF SUCH DAMAGE.
 %% ==========================================================================================================
--mode(compile).
+%-mode(compile).

 % macros
 -define(IS(T, C), (element(1, T) == C)).
@ostinelli

This comment has been minimized.

Show comment
Hide comment
@ostinelli

ostinelli Apr 8, 2013

Owner

Thank you for this. Will update the README.

Owner

ostinelli commented Apr 8, 2013

Thank you for this. Will update the README.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment