Home Download Buy Blog Forum Support

Bug: Infinite loop/freeze on OSX

Bug: Infinite loop/freeze on OSX

Postby quarnster on Sun Oct 28, 2012 6:50 am

This happens several times per day with build 2219 on OSX.

How to reproduce:
- Revert to a freshly installed state
- Create a plugin with this content:
Code: Select all
import sublime, sublime_plugin

count = 0
class MyEventListener(sublime_plugin.EventListener):
   def on_selection_modified(self, view):
      global count
      print "%d" % count
      count += 1

- Open up the default settings file
- Put the cursor on the last visible line and then drag select downwards to select text outside of the current viewport
- Beachball/freeze

Stack:
Code: Select all
Thread 0x15ace    DispatchQueue 1          priority 47         cpu time   1.486s
  16 start + 52 (Sublime Text 2) [0x102afb444]
    16 main + 2251 (Sublime Text 2) [0x102becb6b]
      16 -[NSApplication run] + 517 (AppKit) [0x7fff89408283]
        16 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128 (AppKit) [0x7fff89410ed2]
          16 _DPSNextEvent + 685 (AppKit) [0x7fff89411613]
            16 BlockUntilNextEventMatchingListInMode + 62 (HIToolbox) [0x7fff8e458cd3]
              16 ReceiveNextEventCommon + 356 (HIToolbox) [0x7fff8e458e42]
                16 RunCurrentEventLoopInMode + 209 (HIToolbox) [0x7fff8e4590a4]
                  16 CFRunLoopRunSpecific + 290 (CoreFoundation) [0x7fff8cce56b2]
                    16 __CFRunLoopRun + 789 (CoreFoundation) [0x7fff8cce5dc5]
                      16 __CFRunLoopDoSources0 + 245 (CoreFoundation) [0x7fff8ccc2a25]
                        16 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 (CoreFoundation) [0x7fff8ccc3101]
                          16 __NSThreadPerformPerform + 225 (Foundation) [0x7fff881b5677]
                            13 ns_work_queue_runner::run_items() + 169 (Sublime Text 2) [0x102d5ea63]
                              13 funnel_log_listener::main_thread_thunk(void*) + 102 (Sublime Text 2) [0x102b86ee6]
                                13 non-virtual thunk to console_panel::on_message_logged(log_header, char const*) + 46 (Sublime Text 2) [0x102b858de]
                                  5  console_panel::on_message_logged(log_header, char const*) + 291 (Sublime Text 2) [0x102b85a07]
                                    5  TextBuffer::eraseCharacters(SelectionRegion) + 640 (Sublime Text 2) [0x102cbf3fc]
                                      4  TokenStorage::eraseCharacters(SelectionRegion) + 1038 (Sublime Text 2) [0x102d31f3c]
                                        4  TokenBuffer::updateLayout() + 45 (Sublime Text 2) [0x102d14eef]
                                          4  TokenBuffer::updateLayout() + 45 (Sublime Text 2) [0x102d14eef]
                                            3  TokenBuffer::updateLayout() + 45 (Sublime Text 2) [0x102d14eef]
                                              2  TokenBuffer::updateLayout() + 45 (Sublime Text 2) [0x102d14eef]
                                                2  TokenBuffer::updateLayout() + 62 (Sublime Text 2) [0x102d14f00]
                                                  2  TokenBuffer::reflowLayout() + 298 (Sublime Text 2) [0x102d14d52]
                                                    2  TokenBuffer::calculateLayout(unsigned int, LayoutInfo const&) + 1101 (Sublime Text 2) [0x102d14a6d]
                                                      2  TokenWordWrapper<HorizontalExtentsTrackingRenderer>::processToken(Token*) + 416 (Sublime Text 2) [0x102d15c58]
                                                        1  TokenWordWrapper<HorizontalExtentsTrackingRenderer>::processWord(slate::usubstring, float, Token*) + 479 (Sublime Text 2) [0x102d15919]
                                                          1  <executing in user space>
                                                        1  TokenWordWrapper<HorizontalExtentsTrackingRenderer>::processWord(slate::usubstring, float, Token*) + 242 (Sublime Text 2) [0x102d1582c]
                                                          1  <executing in user space>
                                              1  TokenBuffer::updateLayout() + 62 (Sublime Text 2) [0x102d14f00]
                                                1  TokenBuffer::reflowLayout() + 298 (Sublime Text 2) [0x102d14d52]
                                                  1  TokenBuffer::calculateLayout(unsigned int, LayoutInfo const&) + 1101 (Sublime Text 2) [0x102d14a6d]
                                                    1  TokenWordWrapper<HorizontalExtentsTrackingRenderer>::processToken(Token*) + 416 (Sublime Text 2) [0x102d15c58]
                                                      1  TokenWordWrapper<HorizontalExtentsTrackingRenderer>::processWord(slate::usubstring, float, Token*) + 212 (Sublime Text 2) [0x102d1580e]
                                                        1  <executing in user space>
                                            1  TokenBuffer::updateLayout() + 62 (Sublime Text 2) [0x102d14f00]
                                              1  TokenBuffer::reflowLayout() + 298 (Sublime Text 2) [0x102d14d52]
                                                1  TokenBuffer::calculateLayout(unsigned int, LayoutInfo const&) + 1101 (Sublime Text 2) [0x102d14a6d]
                                                  1  TokenWordWrapper<HorizontalExtentsTrackingRenderer>::processToken(Token*) + 416 (Sublime Text 2) [0x102d15c58]
                                                    1  TokenWordWrapper<HorizontalExtentsTrackingRenderer>::processWord(slate::usubstring, float, Token*) + 611 (Sublime Text 2) [0x102d1599d]
                                                      1  TokenWordWrapper<HorizontalExtentsTrackingRenderer>::drawCharacterWrapped(double, slate::usubstring) + 150 (Sublime Text 2) [0x102d156e2]
                                                        1  <executing in user space>
                                      1  TokenStorage::eraseCharacters(SelectionRegion) + 1019 (Sublime Text 2) [0x102d31f29]
                                        1  TokenStorage::tokenise(BucketContainer<tree_list<TokenBuffer, TokenBuffer::token_list_ops>, TokenStorage::TokenBufferFactory>::iterator, long long, LexerState*, slate::usubstring) + 547 (Sublime Text 2) [0x102d31a83]
                                          1  TokenStorage::insertTokens(BucketContainer<tree_list<TokenBuffer, TokenBuffer::token_list_ops>, TokenStorage::TokenBufferFactory>::iterator, std::vector<TokenInfo, std::allocator<TokenInfo> >) + 816 (Sublime Text 2) [0x102d317ee]
                                            1  void BucketContainer<tree_list<TokenBuffer, TokenBuffer::token_list_ops>, TokenStorage::TokenBufferFactory>::insert<__gnu_cxx::__normal_iterator<Token**, std::vector<Token*, std::allocator<Token*> > > >(BucketContainer<tree_list<TokenBuffer, TokenBuffer::token_list_ops>, TokenStorage::TokenBufferFactory>::iterator, __gnu_cxx::__normal_iterator<Token**, std::vector<Token*, std::allocator<Token*> > >, __gnu_cxx::__normal_iterator<Token**, std::vector<Token*, std::allocator<Token*> > >) + 214 (Sublime Text 2) [0x102d4c4b2]
                                              1  void TokenBuffer::insert<Token**>(Token**, Token**, Token**) + 185 (Sublime Text 2) [0x102d4b941]
                                                1  <executing in user space>
                                  4  console_panel::on_message_logged(log_header, char const*) + 311 (Sublime Text 2) [0x102b85a1b]
                                    4  control::update_layout() + 82 (Sublime Text 2) [0x102b1d208]
                                      4  control::update_layout() + 130 (Sublime Text 2) [0x102b1d238]
                                        4  scroll_area_control::on_layout() + 42 (Sublime Text 2) [0x102b48532]
                                          4  scroll_area_control::run_layout() + 3225 (Sublime Text 2) [0x102b47fd5]
                                            4  non-virtual thunk to skyline_text_control::get_tracked_position() + 16 (Sublime Text 2) [0x102c82fc0]
                                              4  skyline_text_control::get_tracked_position() + 240 (Sublime Text 2) [0x102c830b2]
                                                4  TextBufferView::pointToView(long long) + 16 (Sublime Text 2) [0x102cdd33e]
                                                  4  TokenRenderer::pointToView(long long) + 47 (Sublime Text 2) [0x102d1999f]
                                                    4  TokenStorage::pointToView(unsigned int, long long) + 463 (Sublime Text 2) [0x102d35a4f]
                                                      4  TokenStorage::Location TokenStorage::summarise<LayoutSummary>(long long, LayoutSummary&) + 187 (Sublime Text 2) [0x102d447a9]
                                                        3  TokenWordWrapper<LayoutSummary::RecordingTextRenderer>::processToken(Token*) + 466 (Sublime Text 2) [0x102d4418a]
                                                          3  TokenWordWrapper<LayoutSummary::RecordingTextRenderer>::processWord(slate::usubstring, float, Token*) + 654 (Sublime Text 2) [0x102d43ea0]
                                                            2  TokenWordWrapper<LayoutSummary::RecordingTextRenderer>::drawCharacterWrapped(double, slate::usubstring) + 69 (Sublime Text 2) [0x102d43911]
                                                              1  FontLayoutInfo::charWidth(double, wchar_t) const + 6 (Sublime Text 2) [0x102d200ee]
                                                                1  <executing in user space>
                                                              1  FontLayoutInfo::charWidth(double, wchar_t) const + 102 (Sublime Text 2) [0x102d2014e]
                                                                1  google::dense_hashtable<std::pair<unsigned int const, float>, unsigned int, std::tr1::hash<unsigned int>, google::dense_hash_map<unsigned int, float, std::tr1::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<float> >::SelectKey, google::dense_hash_map<unsigned int, float, std::tr1::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<float> >::SetKey, std::equal_to<unsigned int>, std::allocator<float> >::find(unsigned int const&) const + 315 (Sublime Text 2) [0x102ce65cb]
                                                                  1  <executing in user space>
                                                            1  TokenWordWrapper<LayoutSummary::RecordingTextRenderer>::drawCharacterWrapped(double, slate::usubstring) + 107 (Sublime Text 2) [0x102d43937]
                                                              1  <executing in user space>
                                                        1  TokenWordWrapper<LayoutSummary::RecordingTextRenderer>::processToken(Token*) + 156 (Sublime Text 2) [0x102d44054]
                                                          1  TokenWordWrapper<LayoutSummary::RecordingTextRenderer>::visibleRegion(slate::usubstring) + 179 (Sublime Text 2) [0x102d3789d]
                                                            1  <executing in user space>
                                  3  console_panel::on_message_logged(log_header, char const*) + 193 (Sublime Text 2) [0x102b859a5]
                                    2  TextBuffer::insertCharacters(long long, slate::usubstring, bool) + 1054 (Sublime Text 2) [0x102cbebd8]
                                      2  TextBuffer::endAction(bool, bool) + 644 (Sublime Text 2) [0x102cbeece]
                                        2  scroll_area_control::on_preferred_size_changed() + 65 (Sublime Text 2) [0x102b466d5]
                                          2  non-virtual thunk to skyline_text_control::get_tracked_position() + 16 (Sublime Text 2) [0x102c82fc0]
                                            2  skyline_text_control::get_tracked_position() + 240 (Sublime Text 2) [0x102c830b2]
                                              2  TextBufferView::pointToView(long long) + 16 (Sublime Text 2) [0x102cdd33e]
                                                2  TokenRenderer::pointToView(long long) + 47 (Sublime Text 2) [0x102d1999f]
                                                  2  TokenStorage::pointToView(unsigned int, long long) + 463 (Sublime Text 2) [0x102d35a4f]
                                                    2  TokenStorage::Location TokenStorage::summarise<LayoutSummary>(long long, LayoutSummary&) + 187 (Sublime Text 2) [0x102d447a9]
                                                      2  TokenWordWrapper<LayoutSummary::RecordingTextRenderer>::processToken(Token*) + 466 (Sublime Text 2) [0x102d4418a]
                                                        2  TokenWordWrapper<LayoutSummary::RecordingTextRenderer>::processWord(slate::usubstring, float, Token*) + 654 (Sublime Text 2) [0x102d43ea0]
                                                          1  TokenWordWrapper<LayoutSummary::RecordingTextRenderer>::drawCharacterWrapped(double, slate::usubstring) + 217 (Sublime Text 2) [0x102d439a5]
                                                            1  <executing in user space>
                                                          1  TokenWordWrapper<LayoutSummary::RecordingTextRenderer>::drawCharacterWrapped(double, slate::usubstring) + 156 (Sublime Text 2) [0x102d43968]
                                                            1  <executing in user space>
                                    1  TextBuffer::insertCharacters(long long, slate::usubstring, bool) + 102 (Sublime Text 2) [0x102cbe820]
                                      1  TextBuffer::beginAction(const_substring) + 210 (Sublime Text 2) [0x102cbe5f8]
                                        1  TransientState::TransientState(TextBuffer*) + 788 (Sublime Text 2) [0x102cc7346]
                                          1  boost::unordered_detail::hash_table<boost::unordered_detail::set<boost::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> > >::find(std::string const&) const + 147 (Sublime Text 2) [0x102bf3903]
                                            1  <executing in user space>
                                  1  console_panel::on_message_logged(log_header, char const*) + 338 (Sublime Text 2) [0x102b85a36]
                                    1  scroll_area_control::scroll_to(point, bool, bool) + 380 (Sublime Text 2) [0x102b46d1e]
                                      1  scroll_area_control::scroll_to_impl(point, bool) + 331 (Sublime Text 2) [0x102b4698d]
                                        1  skyline_text_control::track_position(point) + 47 (Sublime Text 2) [0x102c84051]
                                          1  TokenStorage::viewToPoint(unsigned int, point const&) + 423 (Sublime Text 2) [0x102d2f135]
                                            1  void TokenBuffer::visitBuffers<ViewToPointExtractor>(ViewToPointExtractor&) + 324 (Sublime Text 2) [0x102d45450]
                                              1  ViewToPointExtractor::visitBuffer(TokenBuffer const&) + 970 (Sublime Text 2) [0x102d4521c]
                                                1  TokenWordWrapper<TrackingTextRenderer>::processToken(Token*) + 282 (Sublime Text 2) [0x102d44e42]
                                                  1  TokenWordWrapper<TrackingTextRenderer>::processWord(slate::usubstring, float, Token*) + 641 (Sublime Text 2) [0x102d44c15]
                                                    1  TokenWordWrapper<TrackingTextRenderer>::drawCharacterWrapped(double, slate::usubstring) + 228 (Sublime Text 2) [0x102d43bd8]
                                                      1  TrackingTextRenderer::emit(point, double, slate::usubstring) + 489 (Sublime Text 2) [0x102d43259]
                                                        1  <executing in user space>
                            2  ns_work_queue_runner::run_items() + 188 (Sublime Text 2) [0x102d5ea76]
                              2  _px_post_timeout() + 184 (Sublime Text 2) [0x102d57788]
                                2  window_impl::pre_paint() + 20 (Sublime Text 2) [0x102b6d7b2]
                                  2  window_impl::tick_animations() + 218 (Sublime Text 2) [0x102b6d2b4]
                                    2  text_drag_handler::tick(double) + 134 (Sublime Text 2) [0x102c959b6]
                                      2  text_drag_handler::select_to_point(point) + 505 (Sublime Text 2) [0x102c9631b]
                                        2  TextBuffer::notifySelectionModified() + 34 (Sublime Text 2) [0x102cb963e]
                                          2  plugin_handler::on_selection_modified() + 98 (Sublime Text 2) [0x102c493a4]
                                            2  plugin_loader::run_buffer_callback(char const*, SP<TextBuffer>) + 236 (Sublime Text 2) [0x102c360e0]
                                              2  boost::python::detail::returnable<boost::python::api::object>::type boost::python::call<boost::python::api::object, SP<TextBufferView> >(_object*, SP<TextBufferView> const&, boost::type<boost::python::api::object>*) + 63 (Sublime Text 2) [0x102c3a4df]
                                                2  PyEval_CallFunction + 183 (Python) [0x1034ec80a]
                                                  2  PyEval_CallObjectWithKeywords + 177 (Python) [0x1034c3dfc]
                                                    2  PyObject_Call + 97 (Python) [0x1034bcaba]
                                                      2  ??? (Python + 348024) [0x1034fdf78]
                                                        2  PyEval_EvalCodeEx + 1956 (Python) [0x1034be281]
                                                          1  PyEval_EvalFrameEx + 14248 (Python) [0x1034c1a6d]
                                                            1  <executing in user space>
                                                          1  PyEval_EvalFrameEx + 7693 (Python) [0x1034c00d2]
                                                            1  ??? (Python + 112107) [0x1034c45eb]
                                                              1  PyEval_EvalFrameEx + 14302 (Python) [0x1034c1aa3]
                                                                1  ??? (Python + 427663) [0x10351168f]
                                                                  1  <executing in user space>
                            1  ns_work_queue_runner::run_items() + 126 (Sublime Text 2) [0x102d5ea38]
                              1  <executing in user space>
quarnster
 
Posts: 389
Joined: Tue Nov 29, 2011 11:34 am

Re: Bug: Infinite loop/freeze on OSX

Postby gilbertw1 on Mon Apr 08, 2013 4:43 pm

Any luck figuring out a work around to this problem....or is there a fix incoming for this??

I am experiencing this bug A LOT! And it's a doozy!
gilbertw1
 
Posts: 1
Joined: Mon Apr 08, 2013 4:40 pm


Return to Technical Support

Who is online

Users browsing this forum: Google [Bot], Yahoo [Bot] and 18 guests