Comments (11)
Judging from the log it should be not too hard to fix.
from easyclangcomplete.
@Feacur I added a PR, but I could not reproduce this. Granted I did try this on by Linux machine, but still. Just in case I was doing smth wrong, am I "selecting too hard" right?
dragging_error.mp4
from easyclangcomplete.
I see. This is really strange. I will probably also try to run this on Windows just to see if I am able to reproduce it there. The popups are most probably generated in different ways on linux and windows. Until then, it is weird. On my machine, sublime text never crashes unless there is a legitimate bug in the plugin code, so it might be related to your configuration.
from easyclangcomplete.
Ok, thanks for reporting. I will try to have a look as soon as I find the time.
from easyclangcomplete.
Yes, exactly like that =)
The crash persist even with the PR, although now without the said trace. I'll test a bit more searching for the source[s] of it; without any additional leads, there is no much use to this issue anyway.
For me it looks like this:
...
P.S.: don't worry much about that, 'cause for me Sublime Text 3 hard-crashes several times a week (due to itself, LSP, or some other plugins, I don't even know). VSCode, while eating more RAM and being an electron app, is so much more stable in my experience.
from easyclangcomplete.
Ok, superficially traced the offender:
# /EasyClangComplete/EasyClangComplete.py
def on_selection_modified_async(self, view):
# ...
# /EasyClangComplete/plugin/error_vis/popup_error_vis.py
def show_popup_if_needed(self, view, row):
# ...
# /EasyClangComplete/plugin/error_vis/popups.py
def show(self, view, location=-1, on_navigate=None):
# ...
... without these popups [spamming, while user drag-selects stuff,] everything's going just fine. Also, I've noticed info
popups take completely different paths to occur, unlike warning
and error
ones.
I suppose, mdpopups
or [Sublime itself down the line] objects the avalanche of calls.
Ah, one more trace, albeit I wonder how come I've got it (there IS a null check before that line):
Traceback (most recent call last):
File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 610, in on_selection_modified_async
callback.on_selection_modified_async(v)
File "C:\Users\Feacu\AppData\Roaming\Sublime Text 3\Packages\EasyClangComplete\EasyClangComplete.py", line 363, in on_selection_modified_async
if not SublBridge.is_valid_view(view):
File "C:\Users\Feacu\AppData\Roaming\Sublime Text 3\Packages\EasyClangComplete\plugin\utils\subl\subl_bridge.py", line 228, in is_valid_view
if not path.exists(view.file_name()):
File "./python3.3/genericpath.py", line 18, in exists
TypeError: can't specify None for path argument
from easyclangcomplete.
This is all really weird. With all the things you commented out you would not get the popups at all, right?
from easyclangcomplete.
Yeah: should I only disable popup.show(view)
call in the popup_error_vis.py
, everything comes stable. Obviously, without the said popups, which is a mild inconvenience; but ECC: Show all errors
and gutter icons still function all right, so not everything's lost. Besides, keyboard controls aren't affected by the issue, so normally I wouldn't get the crash.
from easyclangcomplete.
Sure, it might be. I did disable all the other plugins before taking the screenshots; but it still leaves the rest of my machine to interfere with the editor.
(also, ugh, sorry, I've accidentally misclicked the [close issue] button and got no prompt)
from easyclangcomplete.
@Feacur I've tried reproducing this on my Windows machine and it just won't crash. Is your machine special in any way?
from easyclangcomplete.
Most likely it is, as any other PC
- there is a fair lot of dev tools, for sure
- some system settings and permissions may differ
- drivers/hardware/running services/whatnot
I can't pinpoint any other particular cause, unless I dig deeper the callstack into mdpopups
, for instance. This issue might well be unrelated to ECC
: I'm getting crashes with LSP + clangd
, too; some of them are popup-related and quite similar, but generaly of unknown nature.
Anyway, thank you for trying to reproduce it at your side and for your time.
from easyclangcomplete.
Related Issues (20)
- Designated initializers don't seem to be parsed correctly HOT 5
- Headers autocompletion suggestion HOT 3
- An erroneous warning HOT 3
- Suppress message about success build HOT 6
- Headers from listed add_definitions are not getting included and pch breaks completion HOT 1
- Go to declaration of includes? HOT 1
- Not working on apple m1 arch64 HOT 6
- Could be possible to disable to show the popup immediately when clicking on a line that has an error? HOT 2
- Files with same name share error messages HOT 2
- Headers are not auto-completed in Sublime Text 4 HOT 2
- "Clean current CMake cache" doesn't works on Windows HOT 2
- Windows can't detect the include folder from the CMakeLists.txt file HOT 5
- Using defintions declared on the CMakeLists.txt from windows gives "Error: Expected expression" HOT 2
- TypeError: argument of type 'NoneType' is not iterable on macos m1 HOT 5
- Headers are normal but STL keep loading errors HOT 1
- Wont find libclang automatically on Debian Testing HOT 10
- Recursive names project fails to build dependency tree project
- Crash when entering `std::vector.re` HOT 4
- Cannot use GCC HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from easyclangcomplete.