Skip to content
This repository has been archived by the owner on Dec 9, 2022. It is now read-only.

LS Freezes with XenHTML enabled #216

Closed
Potterd opened this issue Apr 5, 2020 · 14 comments
Closed

LS Freezes with XenHTML enabled #216

Potterd opened this issue Apr 5, 2020 · 14 comments

Comments

@Potterd
Copy link

Potterd commented Apr 5, 2020

Describe the bug
A clear and concise description of what the bug is.

iPhone SE on iOS 13.3.1 and iOS 13.4 (2 devices): When LS is accessed, intermittent freeze occurs for 45-60 sec and then device resprings. The freeze appears to time out. Happens when the LS is accessed from wake, respring, after Cydia install or when accessing Notification Center. Problem is intermittent and occurs numerous times throughout the day on both devices. Problem does not occur if Xen HTML is disabled.

See additional bug reports: 179, 186 (I previously added comments to these reports) and 211.

Please let me know if I can be of any assistance resolving this problem (testing or to provide additional information) - The issue occurs regularly on my devices.

To Reproduce
Steps to reproduce the behavior:
Occurs intermittently during normal usage.

Expected behavior
A clear and concise description of what you expected to happen.
No freezing

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • iPhone SE, iOS 13.3.1
  • iPhone SE, iOS 13.4

Additional context
Add any other context about the problem here, such as a link to a crash log.

@Matchstic
Copy link
Owner

Do you also have XenInfo installed? If so, please try disabling that and observe the effects.

@Potterd
Copy link
Author

Potterd commented Apr 6, 2020

I have tested with Xeninfo disabled and removed and continued to observe the issue but that testing was a couple of weeks ago - will retest today by removing Xeninfo from both devices and let you know the results.

@Potterd
Copy link
Author

Potterd commented Apr 7, 2020

Removing Xeninfo from both devices, the problem still occurs. After removing Xen HTML, the problem no longer occurs. Removing just the weather widget with Xen HTML and Xeninfo installed and the problem still occurs. I want to emphasize that this usually happens after a respring and can be triggered intermittently by CC, Cosette, Cydia, Springtomize and any other apps that respring, and can also be triggered by accessing the Notification Center. And it is always triggered by LDRestart (not internittent with LDRestart). In fact after LDRestart the screen freezes for 60 sec, then respring occurs, then it freezes again for 60 sec and then a 2nd respring occurs before it is possible to complete the passcode entry. Frozen screen is usually the passcode entry screen due to the fact that this is the landing page for respring / LDRestart. The freeze is always very close to 60 sec, so it appears that some timeout is involved. Due to the way it is occurring, it seems that it has be either Checkra1n or Xen HTML. I use different versions of Checkra1n for the two devices due to the fact that they are on different iOS 13.x versions and I have not heard of any freezes associated with Checkra1n.

I would be happy to test your new Xen HTML 2 version at some point to determine if this issue is present in the new version. If you want to send me a copy to test, you can use the link below to upload to a Dropbox folder. Since my LDRestart test triggers the behavior every time, I can quickly test for this problem and get back to you.

https://www.dropbox.com/request/7DyFQe0pMiqcQfxigTuf

Regards ..... David Potter

@Matchstic
Copy link
Owner

Xen HTML 2 would still have the same issue, since that is mainly just adding a new dylib for widget data!

Can you try disabling tweaks in sequence (with the exception of Xen HTML) with iCleaner, and then seeing at what point the issue doesn't occur?

This is the sort of bug that should happen to every user if Xen HTML is the cause. By the sound of it, it is a tweak causing a conflict somewhere.

@Potterd
Copy link
Author

Potterd commented Apr 19, 2020 via email

@Matchstic
Copy link
Owner

Thanks for the offer, but I'm not able to send you a pre-release version. It'll be best if we revisit this issue when the first beta of Xen HTML 2 is made public.

@Potterd
Copy link
Author

Potterd commented Apr 19, 2020 via email

@Potterd
Copy link
Author

Potterd commented Apr 21, 2020

I have completed a thorough review of my entire package list (160 packages) and identified the conflicts. To clarify, the problem causes intermittent freezes after respring on the LS and causes a freeze 100% of the time at the end of the Checkra1n JB. So performing the Checkra1n JB is the most efficient way to test since the problem occurs 100% of the time. However, this method is time consuming. The freeze times out after approx 60 sec and generates another respring which may or may not result in another freeze.

The problem occurs on my devices when Xen HTML is installed and one or more of the following 3 packages is also installed: Modernbarz, StatusbarBGs, Color Switch. I suspect that there are additional packages that will trigger this conflict but these are the ones that cause the issue on my devices. When either Xen HTML is removed, or all of the other packages are removed, the freezing does not occur. If Xen HTML and one or more of the 3 packages listed above are installed the freeze occurs at the end of every Checkra1n JB or intermittently following resprings, with the Cydia respring having a higher probability of causing the problem than other types of resprings.

As a reminder my devices are iPhone SE running iOS 13.4.1 using Checkra1n v0.10.1.

This should be fairly easy for you to reproduce - let me know if you have questions or need additional information. If you don't want to bother testing with Checkra1n, you could consider just installing the free StatusbarBGs tweak from "i0s-tweak3r-betas.yourepo.com" and just continue with your normal testing as I suspect you will soon start to experience these freezes.

This issue is extremely annoying so I hope you will be able to resolve at some point.

@Potterd
Copy link
Author

Potterd commented Apr 21, 2020

After additional test suggested by @BrianVS (author of ModernBarz and StatusbarBGs) I have found that: ‪Yes, turning of LS switch in Xen HTML or disabling Xen HTML in iCleaner are both effective to avoid the freeze during JB with Checkra1n.

@Tweaker177
Copy link

Tweaker177 commented Apr 22, 2020

I’m going to add the StatusBarBGs to my GitHub later. I did some code cleanup and made some changes to reduce CPU use, and sent a build to David. Going to try a couple more changes to see if that makes a difference before adding it to GitHub.

Otherwise, there’s a good chance the tweak could be re-written to use SpringBoard as the filter (but still work system wide) instead of UIKit; if that works I’d think that should help immensely.

I have a feeling the core of the issue is the total CPU useage when SB is loaded, not that the tweaks conflict. I’ve been using ModernBarz and XenHtml together for a long time without issue on iOS 13, but I don’t use XenHtml on the LS.

@Potterd
Copy link
Author

Potterd commented Apr 27, 2020

Due to great work by Tweaker177 (author of StatusbarBGs) who has produced a new version of StatusbarBGs that no longer causes the LS freezes that I have been experiencing for several weeks now. Very grateful to you both for maintaining an open communication channel regarding this issue. Special thanks to Tweaker177 for the great support in helping to resolve this annoying problem.

@Potterd Potterd closed this as completed Apr 27, 2020
@Matchstic
Copy link
Owner

Matchstic commented May 22, 2020

Re-opening this issue to track progress.

From a second report, I have noticed that tweaks exhibiting this issue all make use of HBPreferences from libcephei.

After a bit of digging, this is caused by UIKit-filtering tweaks loading into daemons, in this case one of com.apple.webkit.*.

A workaround should be to install StopCrashingPls for now

@Matchstic Matchstic reopened this May 22, 2020
@Matchstic
Copy link
Owner

I believe this is now fixed by commit f7d9a35

The change was to add a new dylib on my end, that denys accidental injection into com.apple.WebKit.* XPC services.

@Matchstic
Copy link
Owner

Closing, since this issue appears fixed for the most part

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants