Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

经常性闪退 #430

Closed
wockkkk opened this issue Apr 17, 2024 · 23 comments · Fixed by #461
Closed

经常性闪退 #430

wockkkk opened this issue Apr 17, 2024 · 23 comments · Fixed by #461
Labels
bug 🐛 Something isn't working

Comments

@wockkkk
Copy link

wockkkk commented Apr 17, 2024

Pixeval的版本

WinUI3

问题描述

操作的快点就崩

屏幕截图

No response

错误代码

23:10:11 Error
UnobservedTaskException
at RegisterUnhandledExceptionHandler at C:\WorkSpace\Pixeval\src\Pixeval\App.xaml.cs: 152
	Type: System.AggregateException
	Source: 
	Message: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. (Unable to read data from the transport connection: 远程主机强迫关闭了一个现有的连接。. (i.pximg.net:443))
	StackTrace: 
		null
		Type: System.Net.Http.HttpRequestException
		Source: System.Net.Http
		Message: Unable to read data from the transport connection: 远程主机强迫关闭了一个现有的连接。. (i.pximg.net:443)
		StackTrace: 
			   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
			   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
			   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
			   at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
			   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
			   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
			   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
			Type: System.IO.IOException
			Source: System.Net.Sockets
			Message: Unable to read data from the transport connection: 远程主机强迫关闭了一个现有的连接。.
			StackTrace: 
				   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
				   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
				   at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize)
				   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
				   at System.Net.Security.SslStream.ReceiveHandshakeFrameAsync[TIOAdapter](CancellationToken cancellationToken)
				   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
				   at Pixeval.CoreApi.Net.MakoHttpOptions.BypassedConnectCallback(SocketsHttpConnectionContext context, CancellationToken token)
				   at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
				Type: System.Net.Sockets.SocketException
				Source: 
				Message: 远程主机强迫关闭了一个现有的连接。
				StackTrace: 
					null

Windows主要版本

Windows 10

具体Windows版本

November 2021 Update/21H2 (19044)

其他信息

No response

@wockkkk wockkkk added the bug 🐛 Something isn't working label Apr 17, 2024
@wockkkk
Copy link
Author

wockkkk commented Apr 17, 2024

2024-04-17 23.log

@Poker-sang
Copy link
Collaborator

Poker-sang commented Apr 17, 2024

是快速切换图片的时候出现的问题吗,还是切换主页面的时候出现的问题

@ICI-CNI
Copy link

ICI-CNI commented Apr 18, 2024

执行很多次打开图片/关闭图片的操作(体感上大概50-100次),软件就会越来越卡,哪怕只开了两个窗口也非常卡。而且打开图片的速度会越来越慢。之后软件有概率无响应/闪退。另外软件的内存泄漏非常严重

@Poker-sang
Copy link
Collaborator

开太多了确实会卡,内存我已经尽量释放了,但winui确实有这个问题

@Poker-sang
Copy link
Collaborator

卡顿问题在aot技术出来之后应该就能解决

@wockkkk
Copy link
Author

wockkkk commented Apr 18, 2024

是在加载图片和加载关注列表是闪退的

@Poker-sang
Copy link
Collaborator

我尽量已经拦截所有异常了,可能还是有漏网之鱼,我再检查一下

@gbwhisper
Copy link

待加载图片一多就会自动闪退。我就在想只加载Pid不进行预览是不是能更快点

@Poker-sang
Copy link
Collaborator

待加载图片一多就会自动闪退。我就在想只加载Pid不进行预览是不是能更快点

你可以提供日志吗,日志的问题是不是和这个issue的一样?

@wockkkk
Copy link
Author

wockkkk commented Apr 20, 2024

待加载图片一多就会自动闪退。我就在想只加载Pid不进行预览是不是能更快点

我觉得我和ta的问题一样

@wockkkk
Copy link
Author

wockkkk commented Apr 20, 2024

我在搜索的时候也是会崩,日志也一样

@Poker-sang
Copy link
Collaborator

初步分析是,在中止加载之后直接抛弃了加载线程,导致加载线程出现的异常没有被捕捉到,我会在下一次发布之前修复

@Poker-sang
Copy link
Collaborator

这个日志应该不是崩溃的原因

在崩溃的时候如果有日志的话,会以 Critical 标识而不是 Error。这是如果要查看日志可以到windows事件管理器查看(虽然看了也基本没啥用x)

估计可能是winui控件本身导致的崩溃,不过我还是会尽量排查别的地方的崩溃问题

@wockkkk
Copy link
Author

wockkkk commented Apr 23, 2024

error.txt(这是windows事件管理器里的错误报告)
我找到了一个100%触发的复现方法:

在启动后加载“今日推荐”的图像时(显示“正在加载”)切到任意一个也要加载图像(显示“正在加载”)的页面就100%会闪退 报错也一样
image

@Apkeniqo
Copy link

遇到差不多的问题了。。。不过我是在打开收藏页面时闪退。。百分百触发

@Poker-sang
Copy link
Collaborator

遇到差不多的问题了。。。不过我是在打开收藏页面时闪退。。百分百触发

你的日志里能看的内容吗

@Poker-sang
Copy link
Collaborator

好像发现问题了【是网络不好的情况下可能出现的读取图片递归

@Poker-sang Poker-sang linked a pull request May 12, 2024 that will close this issue
@Poker-sang
Copy link
Collaborator

新版本里尝试修了一下这个问题】但因为我复现不了这个bug所以我不确定是否应该关闭这个issue

你可以试试看新的版本,如果闪退不怎么出现的话就可以关闭这个issue了】( ˙ε . )

@Apkeniqo
Copy link

新版本里尝试修了一下这个问题】但因为我复现不了这个bug所以我不确定是否应该关闭这个issue

你可以试试看新的版本,如果闪退不怎么出现的话就可以关闭这个issue了】( ˙ε . )

感谢修复,不闪退了,但是下载路径的宏好像出问题了。。

@Poker-sang
Copy link
Collaborator

@Apkeniqo 只是改了路径宏的写法,导致不兼容旧的,你可以重置一下设置他就变为正确的了

@Apkeniqo
Copy link

@Apkeniqo 只是改了路径宏的写法,导致不兼容旧的,你可以重置一下设置他就变为正确的了

这个倒不是大问题,主要是现在的宏设置时每输一个字母就会跳到第一位,应该是宏更新机制的问题吧?

@Poker-sang
Copy link
Collaborator

还真有这个问题,这应该认为是bug,我尽量下个小版本给修复了,你现在可以先通过复制粘贴来设置

@Poker-sang
Copy link
Collaborator

@Apkeniqo 已修复 via #473

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐛 Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants