microsoft / AzureStorageExplorer

Easily manage the contents of your storage account with Azure Storage Explorer. Upload, download, and manage blobs, files, queues, tables, and Cosmos DB entities. Gain easy access to manage your virtual machine disks. Work with either Azure Resource Manager or classic storage accounts, plus manage and configure cross-origin resource sharing (CORS) rules.
Creative Commons Attribution 4.0 International
377 stars 87 forks source link

Nothing Populating #4768

Closed sql-chris-albert closed 2 years ago

sql-chris-albert commented 3 years ago

Preflight Checklist

Storage Explorer Version

1.20.1

Regression From

No response

Architecture

x64

Storage Explorer Build Number

20210720.10

Platform

Windows

OS Version

Windows 10 Pro 20H2

Bug Description

When I open Storage Explorer nothing is populated in either the account view or explorer view. To get my account to show up I have to click View --> Account Management.

Steps to Reproduce

  1. Launch Explorer

Actual Experience

image

Expected Experience

I expected my accounts to be there in account view and storage accounts in explorer view.

Additional Context

This was working on this machine for a long time. Not sure what caused it to break. I have uninstalled\reinstalled several times, removed my account and added back in, and the behavior persists. I have another machine with storage explorer installed and I am able to use it with no issue.

At one point I was using storage explorer in the Azure Portal. I noticed a button that said open in explorer. I clicked that and it launched explorer locally and opened the folder. A message popped up saying the account had been hidden but did not give me any clue as to how that is resolved.

MRayermannMSFT commented 3 years ago

@sql-chris-albert hi! Can you do the following for us:

  1. While Storage Explorer is open, go to Help -> Toggle Developer tools, and then in the panel/window that opens look for console. Click on console, and then let us know if there's any error/red text
  2. Grab us the Storage Explorer logs. When doing this, please set that STG_EX_LOG_LEVEL environment variable to debug. You'll of course need to run storage explorer/reproduce the issue again after setting the environment variable.
sql-chris-albert commented 3 years ago

I see a whole bunch of these in the Dev console. Other than that nothing sticks out. Logs attached.

DevTools failed to load SourceMap: Could not load content for file:///C:/Program%20Files%20(x86)/Microsoft%20Azure%20Storage%20Explorer/resources/app/out/CloudHub/internal/ccs/ccs-0.1.0.js.map:

2021-08-10_115023_9528.log 2021-08-10_115023_main.log 2021-08-10_115023_renderer.log

alexandru-pet commented 3 years ago

Hi Chris, I am facing the same issue, with all the details you described, right after I have upgraded to v1.20.1. I removed the app and downloaded it again, same problem. By any chance, did you take this up to Microsoft? I would like to upvote there if you did.

alexandru-pet commented 3 years ago

Hi Chris, I am facing the same issue, with all the details you described, right after I have upgraded to v1.20.1. I removed the app and downloaded it again, same problem. By any chance, did you take this up to Microsoft? I would like to upvote there if you did.

FYI - I have uninstalled v1.20.1 and installed v.1.19.1 and it works fine.

sql-chris-albert commented 3 years ago

@alexandru-pet Thanks for the tip. I installed 1.19.1 and everything is now working. Hopefully MS will be able to resolve the issue with the new version.

MRayermannMSFT commented 3 years ago

@alexandru-pet @sql-chris-albert

Albert's logs did not reveal anything to us about what is potentially going wrong. I've created a private build with additional logging. If y'all could download it, run it, gather the storage explorer logs (make sure to set that logs environment variable) and share the logs with us that'd be a big help.

I have two options for running the build:

Since y'all have downgraded to 1.19.1 for now, then you can use the zip to run the private build without losing your current install. Just download the zip, unzip, and then run the .exe in the root folder. If that doesn't work for you (and it may not, it's not a distribution method we normally use), then you can just go with the normal installer. Thought that will mean you need to reinstall 1.19.1 afterwards.

Thanks!

sql-chris-albert commented 3 years ago

@MRayermannMSFT I downloaded the Zip and unzipped. When I execute the .exe it show a blank window for a second and then nothing. Have tried a few times.

MRayermannMSFT commented 3 years ago

@sql-chris-albert that's weird....I guess if you have time then to do the full install that would be appreciated. Unfortunately you will have to reinstall 1.19.1 afterwards. ☹

sql-chris-albert commented 3 years ago

2021-08-17_152227_22792.log 2021-08-17_152227_main.log 2021-08-17_152227_renderer.log 2021-08-17_152227_se-markdown-panel_9444.log

MRayermannMSFT commented 3 years ago

Awesome thanks! I can already see that something is "off" compared to what I see on my machine. I'll digest this and get back to you. Thank you thank you thank you a million times. :)

MRayermannMSFT commented 3 years ago

Ok I think those logs have helped me narrow down the area the problem is occurring in. I have a new private build with yet more logging:

sql-chris-albert commented 3 years ago

2021-08-18_091855_996.log 2021-08-18_091855_main.log 2021-08-18_091855_renderer.log 2021-08-18_091855_se-markdown-panel_23292.log

MRayermannMSFT commented 3 years ago

Sorry it took me a while to get back to you @sql-chris-albert ...

So the latest round of logs give more insight into where Storage Explorer is not working right but I still do not have a lot of insight into why. And on top of that, the where that I have identified is one of the more opaque/black-box parts of our product.

So with all of that in mind I'd like to try something different today. This will be a bit more involved on your part, but if you have the time for it that would be helpful.

I've prepared a couple of private builds. These builds are from commits (aka changes) we made while developing version 1.20. I'd like to use these private builds to help us narrow down when the breaking change was made to Storage Explorer. I've looked through our commits for 1.20, and these ones are my current best guesses for what could be inadvertently causing this problem. What you need to do is simply install the build and find the oldest one with which this issue reproduces on your machine. I do not need you to get me any log files.

So here are the builds:

They are ordered oldest to newest. I suggest you trying them out in either of the following orders:

Let me know if you have any questions.

Also, @alexandru-pet if you are still around feel free to partake in this as well.

sql-chris-albert commented 3 years ago

I started in the middle with 715c7ea5, and it worked fine. c5d38b93 worked fine as well. d2121ada is where the issue came back up.

MRayermannMSFT commented 3 years ago

@sql-chris-albert super! I will delve deeper into our changes from that time period!

MRayermannMSFT commented 3 years ago

Hey @sql-chris-albert (and @alexandru-pet), I have a new set of builds to try. Apologies to ask you to keep doing this, but since we cannot repro the issue and logging did not reveal the issue this seems to be the best course of action.

Right now I feel as if d2121ada is what caused the issue. Out of all the possible changes from c5d38b93 to d2121ada (inclusive) it is the one that comes the closest to touching what is failing to finish. So to verify that, I have a build of the commit before d2121ada, along with a couple of others that occurred after c5d38b93 but before d2121ada that are also suspect. Here they are:

The 2c2efa25 exe is the commit directly before d2121ada, so I guess I'd recommend:

  1. Try 2c2efa25, if issue doesn't repro then you're done/we've found the breaking change
  2. If issues does repro then try b0eed2b6
  3. If issue does repro then try bcce041d or if it doesn't repro then try e08eb44f

Also, if you're curious, we're working on a range of changes from May 12th to June 22nd. So there's a lot of commits to sift through. I'm glad that we were able to so greatly reduce it last night though! The original range of changes was April 15th to June 22nd. 😬

Finally, if my guess about d2121ada is right then we'll have to do some experiments to figure out why the heck that change is breaking the tree view on your machine. The change was just the removing of sending telemetry in an error handler which makes me feel like 🤷‍♂️.

alexandru-pet commented 3 years ago

Hi guys, sorry for not being able to join you on this investigation so far. I had some work related tasks for which I was highly dependant on the logs and couldn't risk losing access to them even for an hour. Today I am off early, but I will try to join from Monday.

MRayermannMSFT commented 3 years ago

Cool thanks for finding the time @alexandru-pet!

sql-chris-albert commented 3 years ago
  1. Tried 2c2efa25 and it did not work.
  2. Tried b0eed2b6 and it did not work.
  3. Tried bcce041d and it did not work.
MRayermannMSFT commented 3 years ago

Ok @sql-chris-albert & @alexandru-pet, one more build to try:

https://storageexplorerpublish.blob.core.windows.net/privatebuilds/4768-dev-builds/StorageExplorer-ia32-41178ff2.exe

With regards to Chris' findings:

Some additional questions (I have the answers to these from the log files but I want to cross check them with y'all):

sql-chris-albert commented 3 years ago

41178ff2 worked.

I have not enabled proxy settings and my language is set to use system settings which is English.

MRayermannMSFT commented 3 years ago

Ok, I have a new build to try, and now we're back to sharing logs! I've decided to ignore the I can't fathom how that change broke the tree view init'ing and have added logging in the area of the change and also in additional areas that I didn't have before.

@sql-chris-albert & @alexandru-pet, when y'all have some free time please install, generate logs, gather logs, and then share logs from this build:

https://storageexplorerpublish.blob.core.windows.net/privatebuilds/4768-3/StorageExplorer-ia32.exe

Thanks.

PS: Chris, you left a comment on what looks to be Saturday! Please don't feel pressure to do stuff for this issue on the weekends (unless you really want to I guess). :)

sql-chris-albert commented 3 years ago

2021-08-24_095030_20156.log 2021-08-24_095030_main.log 2021-08-24_095030_renderer.log 2021-08-24_095030_se-markdown-panel_22356.log

MRayermannMSFT commented 3 years ago

@sql-chris-albert & @alexandru-pet

Ok. Still eluding us. I've gone crazy on today's build and have some additional things to gather/ask. First here's the build: https://storageexplorerpublish.blob.core.windows.net/privatebuilds/4768-4/StorageExplorer-ia32.exe

So, for this build:

Also some additional questions:

sql-chris-albert commented 3 years ago

I'm out of the office tomorrow. Will get this done on Thursday.

sql-chris-albert commented 3 years ago

Logs attached.

When I did the console search it didnt have anything for CloudExplorer.App. It did show some errors for just CloudExplorer so I included a screenshot of those.

I am not able to reproduce this on another machine at this time. I only use it on one other machine and it works fine there.

We are running TrendMicro for AV.

I do not have issues with any of my other applications. I do use Teams and VS Code and they work fine.

2021-08-27_094600_12808.log 2021-08-27_094600_main.log 2021-08-27_094600_renderer.log 2021-08-27_094600_se-markdown-panel_15084.log Console_1 Console_2

alexandru-pet commented 3 years ago

Hi guys, jumping a bit in to let you know that in the meantime I got another laptop to use, where I installed directly the v1.20.1 and it worked with no issues. I guess it is pretty clear it is related to the machine used, because there were no changes applied on my account or on the connection string I used. Probably not related, but on the old laptop, where storage explorer did not work, I also had a weird issue with Teams, during calls and meetings, I would not see the camera of other attendees unless I would switch to full screen. Anyway, I have to handover my old laptop on which the issue occurred.

sql-chris-albert commented 3 years ago

@MRayermannMSFT Any luck with the last round of logs?

MRayermannMSFT commented 3 years ago

@sql-chris-albert sorry, been busy getting ready to ship 1.21.0. No, the new logs have not been anymore helpful. The tree view is proving to be a black hole from which no information escapes...

JasonYeMSFT commented 2 years ago

This issue might be caused by us loading modules take longer than expected and timeout. For all of you who run into this problem, could you please try modifying a source file to override the default timeout parameter and see if mitigates the problem?

The file to modify:

Somewhere at the end of config.js, add a comma and add one line below. Basically we are going to add a waitSeconds parameter to the require object on window. This would extend the timeout period to 30 seconds instead of the default 7 seconds.

Before:

window.require = {
    baseUrl: "../../",
    paths: {
        "ccs": "internal/ccs/ccs-0.1.0",
        "es6-promise": "lib/es6-promise/es6-promise",
        "jquery": "lib/jquery/dist/jquery",
        "knockout": "lib/knockout/dist/knockout",
        "knockout.mapping": "lib/knockout-mapping/knockout.mapping",
        "underscore": "lib/underscore/underscore",
        "underscore.string": "lib/underscore.string/dist/underscore.string",
        "URIjs": "lib/uri.js/src",
        "ActivityLog": "js/ActivityLog",
        "CloudExplorer": "js/CloudExplorer",
        "Common": "js/Common",
        "Providers": "js/Providers",
        "StorageExplorer": "js/StorageExplorer",
        "text": "lib/text/text"
    },
    shim: {
        jquery: {
            exports: "$"
        },
        knockout: {
            deps: ["jquery"],
            exports: "ko"
        },
        "knockout.mapping": {
            deps: ["jquery", "knockout"],
            exports: "mapping"
        }
    }
};

After:

window.require = {
    baseUrl: "../../",
    paths: {
        "ccs": "internal/ccs/ccs-0.1.0",
        "es6-promise": "lib/es6-promise/es6-promise",
        "jquery": "lib/jquery/dist/jquery",
        "knockout": "lib/knockout/dist/knockout",
        "knockout.mapping": "lib/knockout-mapping/knockout.mapping",
        "underscore": "lib/underscore/underscore",
        "underscore.string": "lib/underscore.string/dist/underscore.string",
        "URIjs": "lib/uri.js/src",
        "ActivityLog": "js/ActivityLog",
        "CloudExplorer": "js/CloudExplorer",
        "Common": "js/Common",
        "Providers": "js/Providers",
        "StorageExplorer": "js/StorageExplorer",
        "text": "lib/text/text"
    },
    shim: {
        jquery: {
            exports: "$"
        },
        knockout: {
            deps: ["jquery"],
            exports: "ko"
        },
        "knockout.mapping": {
            deps: ["jquery", "knockout"],
            exports: "mapping"
        }
    },
    waitSeconds: 30 // line added
};
sql-chris-albert commented 2 years ago

@JasonYeMSFT That worked. Thanks so much!

JasonYeMSFT commented 2 years ago

Nice. We will evaluate the timeout parameter in our next milestone and extend it as needed.

JasonYeMSFT commented 2 years ago

We have shipped a patched version 1.22.1 which bumps all related timeout parameters to 30 seconds.