VSCode 现内存泄漏 BUG,官方处理方式引社区不满

Wesley13
• 阅读 1527

点击“ 开发者技术前线 ”,选择“星标🔝”

让一部分开发者看到未来


近日,有开发者提交了一个 VSCode 内存泄露的 issues,该问题导致在某些情况下使用 VSCode 会使内存使用率攀升。令人意外的是,VSCode 官方却表示不打算解决此问题,由此在社区引发了争议。

今年十月,有一名开发者发现了 VSCode 中存在内存泄漏的问题,并在官方仓库的 issues 中提交了这个问题:

1. 准备一个大文本文件(Citylots.json为〜190MB):

wget "https://github.com/zemirco/sf-city-lots-json/blob/master/citylots.json"cp citylots.json evenlarger.jsoncat citylots.json >> evenlarger.jsoncat citylots.json >> evenlarger.json 

2. 在 vscode 中打开 evenlarger.json

3. 滚动。

4. 关闭文件。

5. 通过“ Process Explorer”观察内存使用情况。

6. 即使大约 30 分钟后,内存使用率仍然很高:

VSCode 现内存泄漏 BUG,官方处理方式引社区不满

即使禁用所有扩展后依然会发生此问题。

随后,这名开发者又注意到这个内存泄漏的 BUG 实际上与大文件无关,他通过打开几个 5-10MB 的文本文件重现了这一问题,即使关闭所有编辑器并等待几分钟后,也无需进行任何操作即可看到内存使用率攀升。该开发者表示,自己遇到这个问题时唯一的解决办法是一旦发现系统内存不足,就只能重新加载 VSCode 窗口,非常麻烦。

而令人意想不到的是,VSCode 官方对此问题的回应竟然是置之不理:

VSCode 现内存泄漏 BUG,官方处理方式引社区不满

我们已关闭此问题,因为我们不打算在可预见的将来解决此问题。您可以在此处找到有关我们决策过程的更多详细信息。如果您不同意并认为此问题至关重要:我们很乐意倾听并重新考虑。

VSCode 官方的回复很快引发了争议,在这名开发者提交的 issue 下,有很多用户跟帖表示自己遇到了同样的问题,还有的甚至在一年前就遇到了类似的问题,并认为官方这样的做法对社区用户来说是不负责任的表现。

VSCode 现内存泄漏 BUG,官方处理方式引社区不满

时隔近两个月,导致这一问题的 VSCode 维护者才终于修复了这一问题:

“ 首先,很抱歉出现了这一错误,我们已经添加了修复程序。以下是有关错误和修复的详细信息:

我们有基于文件的推荐功能(FileBasedRecommendations),将可监听文本模型添加到了编辑器中,并根据文件扩展名和语言推荐扩展名。最近,我对此功能进行了改进,以在用户更改文件的语言时提供检查建议(更多详细信息,在此处#102823)。为此,我需要设置监听器监听文本模型的语言更改,我原本仅在处置FileBasedRecommendations类时才调用此监听器,而导致内存泄漏的原因正是因为在处置完模型后监听器仍在工作。

我们通过在处置模型FileBasedRecommendationsonWillDispose)时处置模型监听器的 has 来解决此问题。”

issues 详情:https://github.com/microsoft/vscode/issues/107999

           前线推出学习交流群一定要备注:
   
           
           
           研究/工作方向+地点+学校/公司+昵称(大前端+上海+上交+可可)
   
           
           
           ,根据格式备注,可更快被通过且邀请进群
  
          
          
          
  
          
          
          
   
           
           
           
  
          
          
          
  
          
          
          
   
           
           
           
    
            
            
             
              
               
                
                 
                
               
              
            
   
           
           
           
  
          
          
          
 
         
         
         扫码加我微信进群,内推和技术交流,大佬们零距离

        
        
        
 
         
         
         
  
          
          
          
   
           
           
           
    
            
            
             
              
               
                
                 
                  
                   
                    
                     
                      
                       
                        
                         
                          
                           
                            
                             
                              
                               
                              
                              
                               
                                
                               
                              
                              
                              END 
                              
                              
                               
                                
                               
                              
                              
                               
                              
                             
                            
                           
                          
                         
                         
                          
                           
                            
                             
                              
                               
                                
                                 
                                  
                                   
                                    
                                     
                                      
                                       
                                        
                                        
                                          历史推荐 
                                         
                                        
                                         
                                         
                                         再见 Python,Hello Julia! 
                                          
                                         
                                         
                                         新人不讲“武德”,写得API接口代码真是一坨"屎"!新人:你耗子尾汁! 
                                          
                                         
                                         
                                         再见,x 雷!这款 Github 全能下载工具,很强! 
                                          
                                         
                                         
                                         95后程序员连续15天加班到凌晨2点在餐厅泪崩!看到955不加班的公司名单,酸哭了... 
                                          
                                         
                                        
                                       
                                      
                                     
                                     
                                      
                                       
                                        
                                         
                                        
                                       
                                      
                                     
                                    
                                   
                                  
                                 
                                
                               
                              
                             
                            
                            
                             
                              
                               
                              
                              
                               
                                
                               
                               
                               点个在看吧 
                               
                              
                              
                               
                              
                             
                            
                           
                          
                         
                        
                       
                      
                     
                    
                   
                  
                 
                
               
              
            
   
           
           
           
  
          
          
          
 
         
         
         

        
        
        

本文分享自微信公众号 - 开发者技术前线(China_DevTech)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这