• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Crashes
#11
(06-04-2019, 10:49 AM)Hello Mike,i got in a dead end, Windows 10 update to 1903 does not work on my Surface Pro 10 and ends with an error - so Mobile Sheets keeps crashing - anyway to resolve that problem?Thx, DomZubersoft Wrote: Functionality was added in the last update that crashes on Windows 10 versions below 17763 (AKA version 1809, the October 2018 update). If you need an immediate fix, go to https://www.microsoft.com/en-us/software.../windows10 and click "Update Now". That will help you get the latest Windows 10 version and then MobileSheets should no longer crash. If you've followed that link and downloaded all updates, you can then check the version you currently have by going to "About your PC" in Windows 10. If it shows a number such as 1803 or lower, then you don't have the latest updates. It may not be possible to get 1809 or 1903 on your device in that case.

I have already submitted a fix to Microsoft, but it may take them a day or two to approve it. I have also already updated the version of MobileSheets I sell through my FastSpring store, as that can be updated immediately without needing approval. If you would like to switch to that version, let me know. I really apologize for any inconvenience this has caused.

Mike
Reply
#12
Mike, thanks for the work you're doing.

I just want to add my voice here - app was crashing on open yesterday, I updated my OS as instructed in this post.  App now crashes loading from Dropbox, but will display library normally.

Rehearsal was embarrassing yesterday, and I'll definitely have a little more stress onstage this week.  In 7 years, I've never had to worry about the stability of this app under either Android or Windows.  I'm not sure what you can do to mitigate this given Microsoft's personality, but it's a sobering reminder that a lot of people use this app in situations where even a single critical failure is enough for us to consider all our options.
Reply
#13
Version 2.6.5 is available now through the Microsoft Store. If you go to the store and search for MobileSheets, you should see an option to update. This should resolve the crashing problem.

Skip - No one was more surprised by all of this than me. When I write complex code involving new capabilities, I'm really careful about what I'm accessing. In this case, I had changed one line of code to improve performance not realizing the impact it would have on earlier versions of Windows 10. I've discussed having beta testers in the past, so it may be something I really need to do in the future. It's just hard to coordinate with testers and it would certainly slow down every release cycle.

Mike
Reply
#14
Is there any mileage in the installation process automatically making a backup of the existing database (I'm talking about the database without the underlying song files - I'm assuming they are less likely to be damaged)

Note: this is an emergency backup for installation purposes only - the user should still be making their own, full, backups

If this was possible, you could save an "emergency" backup to a name which includes the MS version i.e. you only create it if the file doesn't already exist. The logic should only keep the last 3 emergency backups i.e. files for older versions would be automatically purged. As a safety measure, it should probably avoid purge any files created within the last month (say)

You would obviously need to provide a mechanism to allow the user to recover from and/or or access an emergency backup.

Geoff


PS: I've turned automatic updating off several months ago and only update when it is convenient (and after using the companion to make a backup)
Samsung Galaxy Tab A6
Reply
#15
(06-05-2019, 12:46 AM)Zubersoft Wrote: Version 2.6.5 is available now through the Microsoft Store. If you go to the store and search for MobileSheets, you should see an option to update. This should resolve the crashing problem.

Skip - No one was more surprised by all of this than me. When I write complex code involving new capabilities, I'm really careful about what I'm accessing. In this case, I had changed one line of code to improve performance not realizing the impact it would have on earlier versions of Windows 10. I've discussed having beta testers in the past, so it may be something I really need to do in the future. It's just hard to coordinate with testers and it would certainly slow down every release cycle.

Mike

I'm on Dutch Windows 10 1803. According to Windows it's the newest version. In the Microsoft store I don't see the update option. Maybe because it's the Dutch version of the store? Please help. I need the app in an hour.

Rein
Reply
#16
I have no control over how the installation works unfortunately - it's a part of Microsoft's framework and they don't give developers any way of changing the behavior. I wish I could warn users while uninstalling that it will delete all of their application data, but I can't do that either.

Rein - if you can't update to version 2.6.5 through the Microsoft Store, then the only option is to switch you over to the FastSpring version which will probably take about 10-15 minutes. Send me an email at mike@zubersoft.com and I can help with that.

Mike
Reply
#17
If you can't do it in the installation process, could you not do it in the first startup of a new version ?
If it works, it will backup the database file before using/modifying it
If it crashes immediately, the database and files should still be intact.

Geoff
Samsung Galaxy Tab A6
Reply
#18
1. This is unacceptable.

2. I have been professionally developing software for the past 45 years. For the past 18 years, I have been developing and supporting a suite of Windows applications employed by more than 10,000 users around the world.  Never have I released a new version of any application that immediately crashed, and forced the user to either upgrade the application or upgrade Windows.

3. Beta testing is not the answer. TEST YOUR APPLICATION ON EACH ACTIVE VERSION OF WINDOWS BEFORE YOU RELEASE IT!!!

4. Instructions for controlling Windows 10 updates are here:

https://www.pcworld.com/article/3085136/...dates.html
Reply
#19
1. I definitely screwed up and I take full responsibility for the mistakes that were made. As I have stated, I will be making changes to ensure changes are tested across multiple versions of Windows 10. I may also decide to limit the number of versions of Windows 10 I support (perhaps the last 3 updates or so) so that I don't have to do a full regression test across 5+ updates on 5 different VMs. I'm just one developer currently working multiple jobs so I don't have the bandwidth to test that many versions without it having a very serious impact on the amount of time it takes to deliver any update. 

2. I was not forcing any user to to upgrade Windows - I was just suggesting that as a workaround until I was able to get the update approved through Microsoft.  There is no option to downgrade software through the Microsoft Store, so I'm not sure how a crash could be dealt with except an update of the application. I'm not sure how much experience you have with UWP applications and the Microsoft store, but the approval process seriously hampers my ability to respond to issues quickly. That's no excuse for releasing software with serious bugs, but I can't prevent all bugs from occurring as the application has too many options and variables with user provided libraries to cover everything. In this case, yes, I should have tested the application on multiple versions of Windows 10, but I wasn't even aware that I was accessing functionality that wasn't supported across all versions of Windows. I was just calling a simple method in Visual Studio, and there is no information in any of Microsoft's APIs in Visual Studio indicating there is a problem. Calling IsLoaded on a UI component seems like an innocent thing to do that should be included in the base SDK. I now know that I have to look up pretty much any API call I use into any component in order to verify it's safe. I have dealt with fragmentation a great deal with Android, but at least there, Google warns you about incompatibilites when you build your code, as it's not always obvious what functionality is supported for each SDK level.

3. I was just suggesting that it could be beneficial to have willing users test out builds before the official release. As I mentioned earlier, there are a huge number of settings, and with user generated libraries, it's not plausible for me to test every possible combination. This is not a replacement for me testing the software - it's just something that could be done in addition to that to help reduce the rate of errors. Beta testing is built into Google Play, the Microsoft Store, the Amazon App Store, HockeyApp, etc. If it was not useful as a tool, I don't think so much work would be done to include support for it.

4. I will plan on setting up VMs for specific versions of Windows 10 and just run them with no internet. I'll also set up the updates to be postponed just in case.

I will do everything I can in the future to prevent these kinds of issues when possible. The issue some users are experiencing with the app not loading now (separate from the issue with incompatible API call) is something that I'm not sure I could ever prevent. I have tested on multiple versions of Windows on 6 devices and none of them demonstrate this issue. Users that have been experiencing it have said it suddenly goes away. Others update Windows 10 and the issue vanishes. I have one user who is experiencing this issue who is testing builds for me, but so far no answers have been found. It's issues like these that, if I can't reproduce it, I can't prevent it from occurring. I can only respond proactively to try and address the issue for the small number of users who are encountering it.

I appreciate your feedback. 

Mike
Reply
#20
Zubersoft Wrote:In this case, yes, I should have tested the application on multiple versions of Windows 10, but I wasn't even aware that I was accessing functionality that wasn't supported across all versions of Windows. I was just calling a simple method in Visual Studio, and there is no information in any of Microsoft's APIs in Visual Studio indicating there is a problem. Calling IsLoaded on a UI component seems like an innocent thing to do that should be included in the base SDK. 

Trust nothing from Microsoft. At minimum, "smoke test" a new version with each supported version of Windows before making a release; this would have caught the recent failure. I make it a practice to step through all changed code in the debugger to ensure that it behaves as expected.

Zubersoft Wrote:3. I was just suggesting that it could be beneficial to have willing users test out builds before the official release. As I mentioned earlier, there are a huge number of settings, and with user generated libraries, it's not plausible for me to test every possible combination. 

Beta testing can indeed be useful, but there's  natural tendency for it to reduce the developer's attention to testing. Unless you beta test with thousands of users -- which is not practical -- there's no reason to believe that your beta testers will check significantly more combinations than you would.

Zubersoft Wrote:4. I will plan on setting up VMs for specific versions of Windows 10 and just run them with no internet. I'll also set up the updates to be postponed just in case.

Maintaining control of your test environments is essential.

Zubersoft Wrote:I will do everything I can in the future to prevent these kinds of issues when possible. The issue some users are experiencing with the app not loading now (separate from the issue with incompatible API call) is something that I'm not sure I could ever prevent. I have tested on multiple versions of Windows on 6 devices and none of them demonstrate this issue. Users that have been experiencing it have said it suddenly goes away. Others update Windows 10 and the issue vanishes. I have one user who is experiencing this issue who is testing builds for me, but so far no answers have been found. It's issues like these that, if I can't reproduce it, I can't prevent it from occurring. I can only respond proactively to try and address the issue for the small number of users who are encountering it.

A practice that has helped me enormously is to build error logging and progress logging into each application. When any error or inconsistency is detected, a date-and-time-stamped entry is written to the error log. There's also a "log debugging info" option that the user can enable; when this option is enabled, every non-trivial or "risky" function in the application writes an entry to the errorlog.txt file on entry (noting its parameters) and on exit (noting its results). Complex functions write entries documenting intermediate results. When a user reports behavior that you cannot replicate, they may have an errorlog they can send you; if not, you can ask them to enable "log debugging info", repeat the failing scenario, and then send you the resulting error log. Depending upon the size of your application, this may seem an overwhelming task; start by introducing logging to the top ten most complex or "risky" functions, and then address the rest gradually over time. 

     Dave
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.