EveSunMaple / Frosti

A clean, elegant, and fast static blog template! 🚀 Developed with Astro
https://frosti.saroprock.com
GNU General Public License v3.0
181 stars 30 forks source link

EDGE浏览器会奔溃2.6.0(以往的版本也会这样) #42

Open baciZzz opened 1 month ago

baciZzz commented 1 month ago

Title: 🛠️ Bug Report: [Brief Description of the Issue]

Date: [Date]

Affected Version: [Version Number]

Description: A detailed description of the bug or issue. Include any error messages, unexpected behavior, or deviations from the expected functionality.

Steps to Reproduce:

  1. [First step to reproduce the issue]
  2. [Second step to reproduce the issue]
  3. [Additional steps if necessary]

Expected Result: Describe what should have happened if the bug did not exist.

Actual Result: Describe what actually happened, including any error messages or incorrect behavior.

Screenshots or Attachments: [Attach any relevant screenshots, logs, or files that help illustrate the issue]

Additional Information:

Severity: [Low/Medium/High/Critical]

Priority: [Low/Medium/High]

Workaround: [If there is a temporary fix or workaround, describe it here]

Proposed Fix or Solution: [If you have a suggestion for fixing the issue or know the cause, provide details here]

Contact Information:

Loping151 commented 1 month ago

浏览器崩溃? 是在什么操作的时候崩溃的,你能打开demo网站吗 https://frosti.saroprock.com/

baciZzz commented 1 month ago

浏览器崩溃? 是在什么操作的时候崩溃的,你能打开demo网站吗 https://frosti.saroprock.com/

我是用Release的版本编译的; 没做什么操作,就会奔溃,基本每个界面都会,刷新后过个1、2秒就会奔溃。 Google正常,完全没问题。demo网站能打开,也会奔溃。emmm奔溃的代码也有好几种

baciZzz commented 1 month ago

浏览器崩溃? 是在什么操作的时候崩溃的,你能打开demo网站吗 https://frosti.saroprock.com/

我是用Release的版本编译的; 没做什么操作,就会奔溃,基本每个界面都会,刷新后过个1、2秒就会奔溃。 Google正常,完全没问题。demo网站能打开,也会奔溃。emmm奔溃的代码也有好几种

如果你用edge没有这种情况,那么应该是我装什么插件导致的?虽然我也没装什么奇怪的插件,我更新下浏览器再试试。

baciZzz commented 1 month ago

edge从122升级到了129,就不会奔溃了,emmm

Loping151 commented 1 month ago

我刚刚尝试更新了我的edge,ubuntu/win11(x86)和macos上没有观察到崩溃。

按我的常识,可以试试关闭插件(尤其是油猴)和清除缓存,或者直接用inprivate打开试试。

Loping151 commented 1 month ago

emm,edge有时候是这样的。。比如更新包和本地冲突了啥的。。

baciZzz commented 1 month ago

emm,edge有时候是这样的。。比如更新包和本地冲突了啥的。。

我看到评论里面有edge127,想着如果他也遇到问题,应该会提,但是没有人提的话,那就是我的问题了,我便去看了下浏览器版本,升了下级

EveSunMaple commented 1 month ago

这个问题挺头疼的,因为我自己曾经也遇到过,只是更新浏览器版本之后就好了(Edge遇到过一次,Chrome从来没有)

不过换个角度来想,别的网站没有这个问题……多半还是我自己写的不太对劲。可惜到现在我也排查不出原因到底在哪,只得暂且先保留此 Issue 了。

Loping151 commented 1 month ago

我尝试调查了这个问题。报错代码 Error code: STATUS_ACCESS_VIOLATION

首先,我尝试复现这个问题。因为浏览器版本涉及安全问题,回退浏览器版本几乎是不可能的。在安装过新版本的机器上,即使删除新版本也无法安装旧版本,也许是在某处藏了flag。我安装了win10虚拟机,几经波折,勉强找到了一个旧版本chrome的安装包。edge估计是不可能了,因为edge在windows上似乎采用了强制在线安装。Ubuntu估计可以 ~但我懒得试~

批注 2024-09-21 003602

确保安装了正确版本,然后断网,用一个txt文件替换掉update exe。然后联网登录,终于复现了错误。可见与系统环境和插件和Cache完全无关。

批注 2024-09-21 003711

错误特征是,直接访问目标链接,无论如何不会报错。但是只要点击侧边栏的按钮,一定会报错。报 Error code: STATUS_ACCESS_VIOLATIONError code: STATUS_ILLEGAL_INSTRUCTION

如果访问 https://www.saroprock.com/ ,则什么也打不开。上面的测试利用了我自己的站点和demo站(应该是github托管的?)。顺便一提这个错误在其他地方也有陆续汇报,甚至b站也报过。我十分怀疑这是121到122的chromium的问题。

报哪个错是随机的,分类,tag,Home这一列都会,展开博客不会,外链不会。有趣的是点击copyright右边的链接,在新打开的页面中也会报错。所有报错刷新一次就能重新正常显示,直到再次点击一个链接。外部链接转入也不会。

初步确定问题条件是由本模版到本模版的跳转导致的。我怀疑是切换动画导致的。这样的话除了点击外链都能解释了。

于是我注释了 https://github.com/EveSunMaple/Frosti/blob/main/src/styles/transitions.scss

然后。。好了。。逐一测试发现进友链页面还是会报错,别的全都好了。友链里面大概还有类似的效果。我这台电脑系统已经坏的差不多了,打不开录屏,就逆天拍屏了:

https://download.loping151.com/files/openmedia/blogerror.webm

检查windows事件查看器。事件查看器里记录了chrome的错误:

- EventData 
   chrome.exe 
   121.0.6167.140 
   65b82a22 
   unknown 
   0.0.0.0 
   00000000 
   c0000005 
   00007ffb0751151c 
   27c0 
   01db0b826d194f66 
   C:\Program Files\Google\Chrome\Application\chrome.exe 
   unknown 
   32fcb965-28cf-4469-a199-29f3d4f89a6f 

的确是系统级别的内存访问错误。我认为还是chromium背锅。

后面看到虚拟机里面居然正好有个ubuntu,edge版本还正好正确,太幸运了,正好试试。

image

ubuntu报的是 Error code: SIGSEGV,同样是非法内存错误。Ubuntu会卡住很久动不了,只能说不愧是Ubuntu。上面的方法修复情况完全相同。

于是,我仍然认为这个问题是浏览器本身导致的。既然更新浏览器可以解决 ~而且回退浏览器版本极其困难~,这边还是建议直接升级。综上。

EveSunMaple commented 1 month ago

@Loping151 感谢您的工作,我在 2.6.1 版本中移除了 transitions.scss ,不知道这是否有用(我感觉原版的过渡效果反而比我自己写的好?)

Loping151 commented 1 month ago

效果上好像就差了translateY。。总之就是某些特定的css方法会触发那个内存访问问题。但是按照我的常识我不认为访存问题是错误的前端可以触发的。。我自己把scss留着了,有问题再继续观察。