azure-functions-core-tools icon indicating copy to clipboard operation
azure-functions-core-tools copied to clipboard

Azure.Storage.Blobs: Service request failed

Open Sti2nd opened this issue 3 years ago • 15 comments

Running timer triggers on my local computer suddenly stopped working a few days ago. The full error message is:

The listener for function 'SomeTimerTrigger' was unable to start. Azure.Storage.Blobs: Service request failed
  • I use Visual Studio 2022. Azurite is installed through it (or the Azure workload), I think.
  • I get the same exception for all timer triggers. HTTP triggers work fine.
  • Same code works for other developers, they can run timer triggers locally
  • Project information
    • <TargetFramework>netcoreapp3.1</TargetFramework>
    • <AzureFunctionsVersion>v3</AzureFunctionsVersion>
    • <LangVersion>Latest</LangVersion>

In the Service Dependencies output, we have the following output. I have anonymised some information.

Ensuring Azure Functions Core Tools are up to date. This may take a few minutes...
Project: C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\EXTENSIONS\MICROSOFT\Azure Storage Emulator\azurite.exe --location "C:\Users\USERNAME\AppData\Local\Temp\Azurite" --debug "C:\Users\USERNAME\AppData\Local\Temp\Azurite\debug.log"
Azure Functions Core Tools are up to date.
Project: Azurite Blob service is starting at http://127.0.0.1:10000
Project: Azurite Blob service is successfully listening at http://127.0.0.1:10000
Project: Azurite Queue service is starting at http://127.0.0.1:10001
Project: Azurite Queue service is successfully listening at http://127.0.0.1:10001
Project: Azurite Table service is starting at http://127.0.0.1:10002
Project: Azurite Table service is successfully listening at http://127.0.0.1:10002
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "PUT /devstoreaccount1/testhubname-applease?restype=container HTTP/1.1" 409 -
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "PUT /devstoreaccount1/testhubname-applease/testhubname-appleaseinfo HTTP/1.1" 409 -
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "PUT /devstoreaccount1/testhubname-leases?restype=container HTTP/1.1" 409 -
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "PUT /devstoreaccount1/testhubname-leases?restype=container HTTP/1.1" 409 -
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "HEAD /devstoreaccount1/testhubname-leases/taskhub.json HTTP/1.1" 200 91
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "HEAD /devstoreaccount1/testhubname-leases/taskhub.json HTTP/1.1" 200 91
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "HEAD /devstoreaccount1/testhubname-leases/taskhub.json HTTP/1.1" 200 91
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "HEAD /devstoreaccount1/testhubname-leases/taskhub.json HTTP/1.1" 200 91
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "GET /devstoreaccount1/testhubname-leases/taskhub.json HTTP/1.1" 200 91
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "GET /devstoreaccount1/testhubname-leases/taskhub.json HTTP/1.1" 200 91
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "PUT /devstoreaccount1/azure-webjobs-hosts/locks/NODENAME-1124157677/Project.Functions.TimerTrigger.Some.TimerTrigger.Listener?comp=lease HTTP/1.1" 201 -
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "POST /devstoreaccount1/Tables() HTTP/1.1" 409 -
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "POST /devstoreaccount1/Tables() HTTP/1.1" 409 -
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "PUT /devstoreaccount1/testhubname-workitems HTTP/1.1" 204 -
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "PUT /devstoreaccount1/testhubname-control-01 HTTP/1.1" 204 -
Project: 127.0.0.1 - - [22/Feb/2022:10:43:02 +0000] "GET /devstoreaccount1/azure-webjobs-hosts/timers/NODENAME-1124157677/Project.Functions.TimerTrigger.Some.TimerTrigger/status HTTP/1.1" 500 129

Details copied from the exception follows. I have removed the computer name.

Category: Host.Startup
Client IP address: 0.0.0.0
Event time: 22/02/2022 10:43:30
Exception type: Microsoft.Azure.WebJobs.Host.Listeners.FunctionListenerException
FormattedMessage: The listener for function 'SomeTimerTrigger' was unable to start.
HostInstanceId: eb4b02e6-1f82-4f4a-a513-e2d031b58405
LogLevel: Error
Message: The listener for function 'SomeTimerTrigger' was unable to start.
Node name: (redacted by reporter @Sti2nd)
Problem ID: Microsoft.Azure.WebJobs.Host.Listeners.FunctionListenerException at 
ProcessId: 10344
prop__{OriginalFormat}: The listener for function 'SomeTimerTrigger' was unable to start.
Role instance: (redacted by reporter @Sti2nd)
SDK version: azurefunctionscoretools: 3.0.3904
Severity level: Error

Stack Trace
Microsoft.Azure.WebJobs.Host.Listeners.FunctionListenerException: The listener for function 'SomeTimerTrigger' was unable to start.

Azure.RequestFailedException: Service request failed.
Status: 500 (Internal Server Error)

Headers:
Server: Azurite-Blob/3.14.1
ETag: "0x231D56C1EE9FE60"
x-ms-blob-type: BlockBlob
x-ms-lease-state: available
x-ms-lease-status: unlocked
x-ms-client-request-id: 07ca5baf-0716-466e-ba72-5cda5cd47141
x-ms-request-id: a9c19adf-c282-48b1-8689-9ec2a7add73a
x-ms-version: 2020-10-02
Accept-Ranges: bytes
Date: Tue, 22 Feb 2022 10:43:30 GMT
x-ms-server-encrypted: true
x-ms-blob-content-md5: /i0DJYHXwM7brV1Yy3Au2w==
Connection: keep-alive
Keep-Alive: REDACTED
Last-Modified: Mon, 24 Jan 2022 14:37:16 GMT
Content-Length: 129
Content-Type: application/octet-stream
Content-MD5: /i0DJYHXwM7brV1Yy3Au2w==

    at  Azure.Storage.Blobs.BlobRestClient+<DownloadAsync>d__6.MoveNext
    at  System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
    at  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
    at  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
    at  System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter.GetResult
    at  Azure.Storage.Blobs.Specialized.BlobBaseClient+<StartDownloadAsync>d__57.MoveNext
    at  System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
    at  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
    at  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
    at  System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter.GetResult
    at  Azure.Storage.Blobs.Specialized.BlobBaseClient+<DownloadStreamingInternal>d__56.MoveNext
    at  System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
    at  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
    at  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
    at  System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter.GetResult
    at  Azure.Storage.Blobs.Specialized.BlobBaseClient+<DownloadInternal>d__53.MoveNext
    at  System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
    at  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
    at  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
    at  System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter.GetResult
    at  Azure.Storage.Blobs.Specialized.BlobBaseClient+<DownloadAsync>d__52.MoveNext
    at  System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
    at  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
    at  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
    at  System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter.GetResult
    at  Azure.Storage.Blobs.Specialized.BlobBaseClient+<DownloadAsync>d__50.MoveNext
    at  System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
    at  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
    at  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
    at  System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter.GetResult
    at  Azure.Storage.Blobs.Specialized.BlobBaseClient+<DownloadAsync>d__48.MoveNext
    at  System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
    at  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
    at  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
    at  System.Runtime.CompilerServices.TaskAwaiter`1.GetResult
    at  Microsoft.Azure.WebJobs.Extensions.Timers.AzureStorageScheduleMonitor+<GetStatusAsync>d__11.MoveNext
    at  System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
    at  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
    at  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
    at  System.Runtime.CompilerServices.TaskAwaiter`1.GetResult
    at  Microsoft.Azure.WebJobs.Extensions.Timers.Listeners.TimerListener+<StartAsync>d__31.MoveNext
    at  System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
    at  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
    at  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
    at  Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener+<StartAsync>d__13.MoveNext
    at  System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
    at  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
    at  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
    at  Microsoft.Azure.WebJobs.Host.Listeners.FunctionListener+<StartAsync>d__13.MoveNext

Sti2nd avatar Feb 22 '22 11:02 Sti2nd

@fabiocav, would you be able to help with this? It looks like this issue is related to the TimerTrigger listener.

michaelpeng36 avatar Feb 22 '22 18:02 michaelpeng36

+1 Same issue on my end, with no changes.

mvpindev avatar Feb 25 '22 12:02 mvpindev

Would be great to get some help with this. Impossible to develop Durable Azure Functions for me now and they were already hard to do from before.

Sti2nd avatar Mar 04 '22 08:03 Sti2nd

+ @vijayrkn in case this issue only affects VS.

anthonychu avatar Mar 04 '22 15:03 anthonychu

Based on the error message, I would be surprised if it only impacts Visual Studio.

One thing to try here might be to update the version of Azurite and see if it handles the scenario better. Based on the log above, the version of Azurite running is 3.14.1

https://github.com/Azure/Azurite/releases/tag/v3.16.0 3.16 is the latest version available and VS is updated to ship this version in the next release. in the meantime, can you try installing the Azurite from Node globally on the machine with the latest version. Close VS, run azurite manually and re-open VS?

This should confirm if this is an issue on the Azurite side and if it is already fixed. Let me know this doesn't work.

vijayrkn avatar Mar 04 '22 16:03 vijayrkn

@vijayrkn Nice! I can confirm that it works with Azurite 3.16.0.

Which Visual Studio release will it ship in? I just got notified about and updated to version 17.1.1 of VS today; that still has Azurite 3.14.1.

Sti2nd avatar Mar 09 '22 13:03 Sti2nd

Glad to know it worked. We will be updating it in 17.2. A preview version of this release should be available soon.

vijayrkn avatar Mar 09 '22 19:03 vijayrkn

I just hit this today, with no code changes on my end. Confirmed that running Azurite outside of VS has fixed it, but updating the version in VS should really be high priority, even if its just pushing it to a minor patch.

Ideally we have the option to set the Azurite version in VS ourselves?

ADH-LukeBollam avatar Mar 29 '22 05:03 ADH-LukeBollam

Just for everyone's info.

I am facing same issue.

I was on VS17.1.1 - just updated to VS17.1.6. No difference, I still get the error.

will try updating Azurite :)

SandeepMattoo avatar May 05 '22 12:05 SandeepMattoo

Sad to report that there is no improvement in Visual Studio 17.2.1. Did you not release new Azurite with that version like you said, @vijayrkn?

image

Edit: Output from the VS installed azurite says it's the same version I have installed through npm. So I guess there must be something else wrong.

$ C:/'Program Files'/'Microsoft Visual Studio'/2022/Professional/Common7/IDE/Extensions/Microsoft/'Azure Storage Emulator'/azurite.exe --v
3.16.0

Sti2nd avatar May 19 '22 08:05 Sti2nd

I started to have the same problem, until yesterday everything was working well, now all the sudden without any changes the Function just won't work. Visual Studio Version 17.2.1.

image

Any help would be appreciated. Thanks

SignorLuigi avatar May 24 '22 00:05 SignorLuigi

@mrnewrochelle This is a workaround https://github.com/Azure/azure-functions-core-tools/issues/2959#issuecomment-1059322454

Sti2nd avatar May 24 '22 06:05 Sti2nd

@mrnewrochelle This is a workaround #2959 (comment)

Thanks but that it didn't work for me, I tried before, and I have the last version already.

SignorLuigi avatar May 24 '22 19:05 SignorLuigi

Ok I found a workaround for those who didn't make it work with the previews one. Go to Azure Explorer Storage, search for the (Emulator - Default Ports) (Key) and clean up the containers, and that's all. I worked good for me.

image

SignorLuigi avatar May 24 '22 19:05 SignorLuigi

Just wanted to confirm that @mrnewrochelle's suggestion worked for me. I had already tried installing gobally via npm and had the latest version (both via npm and VS) but was still facing errors. Deleting all of the containers from the emulator cleared it up for me.

briandunnington avatar Jul 18 '22 22:07 briandunnington

Ok I found a workaround for those who didn't make it work with the previews one. Go to Azure Explorer Storage, search for the (Emulator - Default Ports) (Key) and clean up the containers, and that's all. I worked good for me.

image

to clarify:

  1. download "Azure Storage Explorer" https://azure.microsoft.com/en-us/products/storage/storage-explorer/#overview
  2. Delete what is in "azure-webjobs-hosts"
image

JimiSweden avatar Oct 21 '22 07:10 JimiSweden