+ Reply
Page 1 of 2 12 LastLast
Results 1 to 20 of 23

Your favorite Apple, iPhone, iPad, iOS, Jailbreak, and Cydia site.


Thread: Cydget and database driven Winterboard bug - NEED HELP

is a discussion within the

File Mods

forums, a part of the

iPhone Modding

section;
I need help to find a bug! It is about a bug that stops database driven winterboard themes to work after installing cydget. I spoke with Saurik and he wanted
...
  1. #1
    My iPhone is a Part of Me
    Join Date
    Aug 2009
    Posts
    666
    Thanks
    325
    Thanked 2,140 Times in 490 Posts

    Default [SOLVED]Cydget and database driven Winterboard bug - NEED HELP
    I need help to find a bug!
    It is about a bug that stops database driven winterboard themes to work after installing cydget. I spoke with Saurik and he wanted database error messages, also suggesting to replace the "alert" javascript call with "document.write" in the database error functions because Winterboard does not allow "alert" calls. However I have been unsucessfull in getting any error messages, either onscreen or in log files to pass on to Saurik.
    If anybody wants to help squashing this bug you can reproduce the bug very easily.
    All you need are:
    A spare A4 iPhone/iPod (iPhone 4 or iPod 3 or iPhone 3GS).
    shsh blobs for 6.1.2 to create a stiched 6.1.2 ipsw, so that you can restore to a clean 6.1.2 at any time.
    Here is what I have been doing
    I did a full and clean restore of iOS 6.1.2 on my iPod4, then jailbroke it with evasion 1.5.3. Installed Gridlock2, Openssh, Lockscreen Clock Hide, Lockscreen Dim Delay, iFile, Winterboard, MYO-weather v.2 (apt.mmus.us repo) and Slideshow6.1 (apt.mmus.us repo)with Cydia.
    Both Winterboard themes are database driven. I renamed LockBackground.html in the Slideshow 6.1 into Wallpaper.html, so that I have a slideshow of wallpapers on the home screen. Set both databases for both themes and after a respring both themes work perfect as they should be. Now I made a backup with iTunes. After that I installed cydget through Cydia, which resprings after installation and I can see the Welcome cydget on top of a working MYO2 lockscreen theme. Unlocking and Slideshow6.1 also works as it should be.
    Here comes the weired part:
    If I reboot or respring both winterboard themes stopped working, all I see are black screens.
    If I restore the backup I made before installing cydget, both winterboard themes work normal as before. Reboot or respring and they only show black screens. Restore the backup and they work again .... and so on. I can reproduce this behaviour any time with 100% result.
    If I uninstall cydget, actually I uninstall cycript as this uninstalls cydgets as well, so basically set the iPod4 into the same state it was before installing cydget, the winterboard themes still do not work, which makes me think that the uninstall process has left something behind. Only when I restore the iTunes backup do the themes work again.
    So I tried to install cydget and after the initial respring the themes still work, I uninstalled cydget (with cycript) straight away with cydia. Again cydia resprings and the themes do not work again. Restore the iTunes backup and they work again.

    Here some screenshots

    First WITHOUT Cydget

    Lockscreen



    Home screen



    AFTER Cydget installed, BUT no respring or reboot

    Lockscreen



    AFTER Cydget installed and respring or reboot

    Lockscreen



    AnyView cydget, shows the original Winterboard lockscreen theme



    Home screen

    Last edited by rasputin007; 10-12-2013 at 11:20 AM.

  2. #2
    My iPhone is a Part of Me
    Join Date
    Oct 2010
    Location
    UK
    Posts
    905
    Thanks
    5
    Thanked 69 Times in 66 Posts

    Hi, if you restore from your pre Cydget backup and reboot, the problem still exists. That would imply that Cydget has nothing to do with it. Did you try a reboot after the initial install setup and itunes backup, but before installing Cydget to see if it was still ok?

    Did you iTunes backup or iTunes sync?

    Also
    You might try the Slideshow 6.1 setup instructions again to see if it starts things working again...

    IMPORTANT for installation to work!
    1.) Respring without selecting Slideshow theme, so you can see the "SS Update" and "SS Setup" icons correctly
    2.) "SS Updater" to create indexes
    3.) "SS Setup" to create database
    4.) Select Slideshow in Winterboard and respring

    Or the MYO Weather setup procedure...

    IMPORTANT for installation to work!
    1.) Respring without selecting MYO-weather v.2 theme, so you can see the "MYO Setup" and "GPS Update" icons correctly
    2.) Open "GPS Update" first, then open "MYO Setup", go through the Main Menu to set your settings and save each of them! You will see a black lockscreen if you do not have a complete saved database.
    3.) Save your settings on each of those pages, apart from wallpaper page, just tap your choice to save. (Always will get 2 confirmation messages when saving)
    4.) Select MYO-weather v.2 in Winterboard and respring

    Or having just one of these themes installed.
    Last edited by DC_Dave; 10-06-2013 at 03:28 AM.

  3. #3
    My iPhone is a Part of Me
    Join Date
    Aug 2009
    Posts
    666
    Thanks
    325
    Thanked 2,140 Times in 490 Posts

    OK, The iPod4 I use is a spare and otherwise unused iDevice as my boys don't need it anymore. It has no song or apps on it, so I do not need a sync with iTunes. It is all stock iOS 6.1.2 apart from the evasion JB and the above mentioned Cydia appa/tweaks, which I always have on any JB iDevice.
    Yes you are right that when I restore the iTunes backup after installing cydget the themes work again and after a reboot or respring they don't.
    I can reboot and respring as much as I want before installing cydget the themes always work. This is also the case if I restore the iTunes backup after uninstalling cydget, respring, reboot no problem.
    A few month back there was a similar case where someone installed Weather Elements (also hosted on apt.mmus.us repo) it worked fine - Weather Elements is also a database driven Winterboard theme. But after installing a tweak/app (no name given) it stopped working with just a black screen. That person also uninstalled all apps and tweaks he had installed after Weather Elements, hoping to return the iPhone back into the original "working" state. But it did not work. Only after the user used a PKG Backup he made straight after installing Weather Elements, did the Theme worked again. They came to the conclusion that one of the apps/tweaks that were installed later had changed a preference file (these get backed up by PKG Backup), but when uninstalling an app/tweak the changes in the preference file were not reversed.
    And this is exactly what I suspect with Cydget installation, because even after uninstalling cydget the themes do not work, I can respring and reboot as much as I like it does not change.
    Only when I restore the iTunes backup, taken after installing and setting up the themes, so the backup also includes the database, but before installing Cydget, it works again.
    I don't know if iTunes backup also includes the preference files, but would think strongly that it does that.

    Regarding the new setup of the database, I have tried that, but it does not work. I mean I can setup the database perfectly fine and all the changes are stored in the database, but it still only shows the black screen.


    To the themes:
    MYO2 is the most demanding in an initial setup and also requires 2 free API keys, one from WorldWeatherOnline and one from Weather Underground. So maybe not the simplest of themes for testing.
    Slideshow is very small and easy to setup, great for testing.
    Weather Elements is big (over 100MB), but no free API key needed, simple setup.


    I have a few "console.log" calls in the MYO2 javascript regarding error messages, but as far as I understand these console.log call are only visible if the browser has a debugger. I don't know if Winterboard has one.

    If I am able to see an error message, then I and Saurik would have a starting point for further investigation.

  4. #4
    My iPhone is a Part of Me
    Join Date
    Oct 2010
    Location
    UK
    Posts
    905
    Thanks
    5
    Thanked 69 Times in 66 Posts

    Hi, what I was wondering was if rebooting still makes it work after you have installed everything (except Cydget) and made your iTunes backup?

  5. #5
    My iPhone is a Part of Me
    Join Date
    Aug 2009
    Posts
    666
    Thanks
    325
    Thanked 2,140 Times in 490 Posts

    Quote Originally Posted by DC_Dave View Post
    Hi, what I was wondering was if rebooting still makes it work after you have installed everything (except Cydget) and made your iTunes backup?
    Yes it will work.
    I know that it all worked after initial installing and setup (except cydget), that's when I made the iTunes backup, to have a "pre-cydget" state of the iPod. Every thing works, no matter how often I respring or reboot, it always works. Installing Cydget and the inital Cydia restarting Springboard, it still all works. It is only then when I reboot or respring the themes stop working. Uninstalling Cydget with Cydia and restarting Springboard, rebooting and respringing does not change anything, the themes do not work, despite that Cydget has been uninstalled and iOS has been rebooted. Theoretically iOS should be in the same state after uninstalling Cydget as it was before I installed Cydget, but it is not because the themes do not work.
    Only when I restore the "pre-cydget" iTunes backup do the themes work again, as I have now again the the iOS state I had before installing cydget.
    That's why I think Cydia does not uninstall cydget completely. Cydget must make changes to some configuration file, preference file, library or so after a respring or reboot and these changes are not being reversed when cydget gets uninstalled. It must be a file that is also included in the iTunes backup, because the themes work after a "pre-cydget" iTunes backup restore, meaning the whatever file that cydget had changed gets replaced by the iTunes backup.
    I have no proof of this, but would like to get it. This seems to me the most likely explanation for the behavior I can see with all the different scenarios.
    I have another spare iPod4, but only on iOS 5.1.1, but I will try it on that one as well.

    It is nothing new that garbage is left after an uninstall, just look at Windows. Once you uninstall a software there are still traces of that software in the registry. Or the themes do the same, they get installed without a database, the user creates these, therefore when it comes to uninstalling the themes the folders are all gone, but the databases still remain on iOS.
    Last edited by rasputin007; 10-06-2013 at 10:16 AM.

  6. #6
    My iPhone is a Part of Me
    Join Date
    Oct 2010
    Location
    UK
    Posts
    905
    Thanks
    5
    Thanked 69 Times in 66 Posts

    Hi, I would install SBSettings and try "fix user dir permissions" from the SBSettings, More, System Options menu. Or see what happens if you don't rename LockBackground.html to Wallpaper.html

    I did initially get confused over your two statements...

    If I restore the backup I made before installing cydget, both winterboard themes work normal as before. Reboot or respring and they only show black screens. Restore the backup and they work again .... and so on

    And

    I know that it all worked after initial installing and setup (except cydget), that's when I made the iTunes backup, to have a "pre-cydget" state of the iPod. Every thing works, no matter how often I respring or reboot,

  7. #7
    My iPhone is a Part of Me
    Join Date
    Aug 2009
    Posts
    666
    Thanks
    325
    Thanked 2,140 Times in 490 Posts

    OK, I tried the iPod4 with iOS 5.1.1, which was running MYO2 already, so installed slideshow and set it up, renaming Slideshow's LockBackground.html into Wallpaper.html, as I do not need 2 Winterboard themes each with a LockBackground.html.

    Quote Originally Posted by DC_Dave View Post
    Or see what happens if you don't rename LockBackground.html to Wallpaper.html
    Having 2 themes enabled in Winterboard, each having a LockBackground.html means that only the theme's LockBackground.html that is the highest in the Winterboard list will be displayed, all other LockBackground.html's will be ignored.


    Basically the same behavior as in iOS 6.1.2. Both themes are working fine before installing cydget, so I made a iTunes backup ("pre-cydget" state). Installed cydget and the themes did no longer work (black screen), uninstalled cydget and still black screen, then restored the "pre-cydget" iTunes backup and now both themes are working correctly.

    I also found that when you install cydget, cydia will install 4 packages, adv-cmds, cycript, cydget and libffi. If you uninstall cydget through cydia it only removes cydget, the other three packages are still there.
    I will try now to uninstall them in turn and see at what point the themes work again.

    EDIT:
    Not much luck either!
    I installed cydget, respring and themes are on black screen . Then I uninstalled all 4 packages, but the themes still did not work, even not after a reboot and respring. Restored the "pre-cydget" iTunes backup and the themes are back to fully working.
    Last edited by rasputin007; 10-06-2013 at 11:07 AM.

  8. #8
    My iPhone is a Part of Me
    Join Date
    Oct 2010
    Location
    UK
    Posts
    905
    Thanks
    5
    Thanked 69 Times in 66 Posts

    Quote Originally Posted by rasputin007 View Post
    I will try now to uninstall them in turn and see at what point the themes work again.
    Good idea. Have you tried it with just one of the themes installed?

    The "Fix User DIR Permissions" is also worth a go when you get file reading/writing issues.
    Last edited by DC_Dave; 10-06-2013 at 11:03 AM.

  9. #9
    My iPhone is a Part of Me
    Join Date
    Aug 2009
    Posts
    666
    Thanks
    325
    Thanked 2,140 Times in 490 Posts

    File permission is not an issue as this has been sorted before creating the deb file as file permission in iOS 6 is much more closely watched, see Graphical Setup chapter 4

    It still gives the same result if I only use one database driven Winterboard theme, no matter if LockBackground.html or Wallpaper.html.
    If only one theme shows "odd" behavior you could think it might be the theme, but if 2 independent database driven Winterboard themes show exactly the same behavior then it is sooooo unlikely that the fault is in the themes.

    I have MYO2 and slideshow for month running on my 4S (6.1.2) with much more apps and tweaks then on the iPod and slideshow has to cycle through over 250 wallpapers (every minute another one) and no problems what so ever, but I have not cydget installed and I have no intention of doing so as I can not re-restore to 6.1.2.
    Last edited by rasputin007; 10-06-2013 at 12:00 PM.

  10. #10
    Full Moon Krima's Avatar
    Join Date
    Jul 2011
    Location
    Nashville, Tn
    Posts
    3,117
    Thanks
    4,030
    Thanked 7,783 Times in 2,432 Posts

    This is interesting. I installed and uninstalled Cydget but I do not have this issue.

  11. #11
    My iPhone is a Part of Me
    Join Date
    Oct 2010
    Location
    UK
    Posts
    905
    Thanks
    5
    Thanked 69 Times in 66 Posts

    Yes, it appears from what you say that the problem occurs after installing Cydget, but you still might try the "fix user dir permissions" after installing Cydget and rebooting in case some of the file/folder properties have got changed by the Cydget install. I have read/experienced themes, photos, mail, videos and downloads not working correctly until "fix user dir permissions" was run.
    Cydget doesn't always work with other lockscreen tweaks I have tried like IntelliScreenX and Lockinfo.
    For this reason, it occurred to me that as Cydget is a lockscreen tweak you might want to let Winterboard just control the Slideshow6.1 theme for springboard wallpaper and create a Cydget to link/control the MYO weather lockscreen theme. I don't have Winterboard installed myself, I just use Cydget to switch between various Cydia Lockscreen Cydgets and installed themes like HTC_UniAW6_with_forecast and UniAW6.3_LS_(Accuweather).

  12. #12
    My iPhone is a Part of Me
    Join Date
    Aug 2009
    Posts
    666
    Thanks
    325
    Thanked 2,140 Times in 490 Posts

    Quote Originally Posted by Krima View Post
    This is interesting. I installed and uninstalled Cydget but I do not have this issue.
    Do you use a database driven winterboard theme?

    EDIT:
    New test!
    Full new clean restore of iOS 6.1.2, setup as new device, JB with evasion 1.5.3. After that tapped Cydia for the first time to prepare the filesystem. After that reboot and made a iTunes backup. This is the cleanest iTunes backup you can get from a jailbroken iDevice as no apps or tweaks have been installed.
    Next step is to install cydget through cydia, which installs the following packages:
    adv-cmds
    cycript
    cydget
    libffi
    Mobile Substrate
    Preference Loader
    Substrate Safe Mode
    OK, so far cydget works fine!
    Now I added the apt.mmus.us repo and installed Slideshow 6.1 which installed the following packages:
    Slideshow 6.1
    winterboard
    pincrush
    libhide
    After setting up the database, selecting Slideshow in Winterboard and a respring, the theme did not work, black screen!
    So I uninstalled all the above packages, rebooted and installed Slideshow 6.1 with all the dependencies.
    The theme still did not work. So I restored the iTunes backup I made earlier , selected Slideshow in Winterboard, saved the already existing database again and still the theme would only show black screen.
    This is bizarre!

    EDIT2:
    Again full clean restore of iOS 6.1.2, setup as new device, JB with evasion 1.5.3, setup Cydia.
    Added apt.mmus.us repo and installed Slideshow 6.1 which installed the following packages:
    Slideshow 6.1
    Winterboard
    libhide
    pincrush
    Mobile Substrate
    Substrate Safe Mode
    Preference Loader
    Reboot from Cydia.
    Setup of database of Slideshow, selecting in Winterboard and respring.
    Hey presto Theme works!
    Now I made an iTunes backup.
    I can reboot and respring all day long the theme always works perfect, just as it was designed to do.

    EDIT3
    Now I have a working setup I installed the remaining 4 packages that are required to run cydget, but this time I did it package by package.
    First was adv-cmds, respring and reboot and theme still works.
    Next was libffi, respring and reboot and theme still works.
    Next was cycript, respring and reboot and theme still works.
    Last package was cydget, Cydia restarts Springboard after installation, theme still works, respring and theme does no longer work, reboot is no change.
    Uninstalling cydget with Cydia, Cydia restarts Springboard and tehme still does not work, respring and reboot, Theme still does not work.
    OK, that means the cydget package does something that interferes with database driven Winterboard themes and their database access and when uninstalling the cydget package that interference is still there.
    Restored with the iTunes backup I made under EDIT2 and theme works again perfectly.
    Last edited by rasputin007; 10-06-2013 at 05:57 PM.

  13. #13
    Full Moon Krima's Avatar
    Join Date
    Jul 2011
    Location
    Nashville, Tn
    Posts
    3,117
    Thanks
    4,030
    Thanked 7,783 Times in 2,432 Posts

    I thought I did Rasputin but I was mistaken. If u want to throw one my way I will see if I get the same results as you.

  14. The Following 2 Users Say Thank You to Krima For This Useful Post:

    King_O_Hill (10-07-2013), rasputin007 (10-07-2013)

  15. #14
    My iPhone is a Part of Me
    Join Date
    Aug 2009
    Posts
    666
    Thanks
    325
    Thanked 2,140 Times in 490 Posts

    Quote Originally Posted by Krima View Post
    I thought I did Rasputin but I was mistaken. If u want to throw one my way I will see if I get the same results as you.
    Please only do this on a spare iPhone/iPod which can be restored to a jailbrakeble iOS.
    As far as I know there are just 3 database driven Winterboard themes and they all are on the MMUS repo (apt.mmus.us).
    The easiest of them all is Slideshow 6.1, see Simple Slideshow theme for Lockscreen/Home screen for installation and setup. You can rename the LockBackground.html into Wallpaper.html if you rather have the slideshow on the home screen, then the lockscreen.
    Thanks your help is very much appreciated.
    Last edited by rasputin007; 10-07-2013 at 12:28 PM.

  16. The Following User Says Thank You to rasputin007 For This Useful Post:

    King_O_Hill (10-07-2013)

  17. #15
    Full Moon Krima's Avatar
    Join Date
    Jul 2011
    Location
    Nashville, Tn
    Posts
    3,117
    Thanks
    4,030
    Thanked 7,783 Times in 2,432 Posts

    Will an iPad suffice?

  18. The Following User Says Thank You to Krima For This Useful Post:

    King_O_Hill (10-07-2013)

  19. #16
    My iPhone is a Part of Me
    Join Date
    Aug 2009
    Posts
    666
    Thanks
    325
    Thanked 2,140 Times in 490 Posts

    Theoretically an iPad should be fine, it might be that the example pictures that come with Slideshow look a bit "odd" because they are 640x960.
    As long as you can restore it with a stiched 6.1.2 or whatever iOS shsh blobs you have. Would hate to "mess up" your iPad!
    Just delete all example files in /var/mobile/Documents/Slideshow folder and add your own iPad sized ones, then tap the SS Updater icon on the home screen which will index the new files in this "custom folder".
    If it still looks strange then you have to change the dimensions in the html file as I wrote it for 320x480/640x960.
    Let me know if you get stuck and I can get you an iPad version, but need the resolution as I never had any iPad. LOL

  20. #17
    My iPhone is a Part of Me
    Join Date
    Aug 2009
    Posts
    666
    Thanks
    325
    Thanked 2,140 Times in 490 Posts

    OK, solved the problem!
    Was a change in the database location!
    Database driven winterboard themes have their databases in /var/mobile/Library/WebKit, but as soon as cydget is installed that location changes and the database has to be in /var/mobile/Library/Caches.
    I stumbled across this by pure accident, well, I had converted the MYO2 winterboard theme into a cydget and found that cydgets have their databases stored in /var/mobile/Library/Caches. So a little rewrite and adding the geolocation javascript into the MYO2 cydget and hey presto the database driven cydget would work, updating the GPS position and therefore the weather info every time you open the lockscreen or activate the cydget if there were more then one.
    However I also installed the MYO2 winterboard theme and that worked as well now. But funny enough I only changed some MYO2-cydget settings and those changes would also appear in the winterboard-MYO2.
    Both, winterboard-MYO2 and cydget-MYO2 use the same database.
    So problem solved!
    Last edited by rasputin007; 10-19-2013 at 09:04 AM.

  21. The Following User Says Thank You to rasputin007 For This Useful Post:

    King_O_Hill (10-12-2013)

  22. #18
    Full Moon Krima's Avatar
    Join Date
    Jul 2011
    Location
    Nashville, Tn
    Posts
    3,117
    Thanks
    4,030
    Thanked 7,783 Times in 2,432 Posts

    So sorry man that I haven't gotten back to you. Haven't had a chance to do that on my iPad.

  23. The Following 2 Users Say Thank You to Krima For This Useful Post:

    King_O_Hill (10-12-2013), rasputin007 (10-12-2013)

  24. #19
    My iPhone is a Part of Me
    Join Date
    Aug 2009
    Posts
    666
    Thanks
    325
    Thanked 2,140 Times in 490 Posts

    Quote Originally Posted by Krima View Post
    So sorry man that I haven't gotten back to you. Haven't had a chance to do that on my iPad.
    Don't worry!
    But thanks for the offer to help, at least one person that responded.

  25. The Following 2 Users Say Thank You to rasputin007 For This Useful Post:

    King_O_Hill (10-12-2013), Krima (10-12-2013)

  26. #20
    King Kong ain't got nothing on me! King_O_Hill's Avatar
    Join Date
    Apr 2011
    Location
    USA
    Posts
    9,494
    Thanks
    42,062
    Thanked 17,915 Times in 6,519 Posts

    I'll give them a go. I've just been busy and haven't done a whole lot of anything except for some posts lately.

    I'm so glad that you figured this out!

    Nice work as always my friend!

    Will this correct the MYO2 that I currently have installed? Or do I need to uninstall and then reinstall?
    Widget-Weather App Now Available! Also with MyLocation Support!
    Check out the thread here - Widget-Weather
    To install the Widget-Weather app, just go to Cydia and install. This will also remove MyLocation, as it is built in!
    Want to protect your JailBreak! Add this repo http://cydia.myrepospace.com/iLEXiNFO/ & Install "iLEX R.A.T."
    It will allow you to bring your phone back to a fresh jailbroken state!

  27. The Following User Says Thank You to King_O_Hill For This Useful Post:

    rasputin007 (10-12-2013)

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts