Azure / Azure/azure-functions-core-tools

Azure.Storage.Blobs: Service request failed

Open
#2,959 20 comments 1 reaction 0 assignees View on GitHub
Dominant language
C#
Stars
1.5k
Forks
498
Avg merge
5d 4h
Merged PRs (30d)
15

Description

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

```text
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
* `netcoreapp3.1`
* `v3`
* `Latest`

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+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+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+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+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+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+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+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+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+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+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+d__13.MoveNext
```

Contributor guide

Open the contributing guide

Research direction

Start with the Visual Studio 2022 Service Dependencies output and the Azurite debug log under C:\Users\USERNAME\AppData\Local\Temp\Azurite, comparing the failing timer-trigger requests with the working HTTP triggers. Reproduce the Azure.Storage.Blobs 500 response and determine what change makes local timer triggers start successfully while preserving the reported project settings.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp
Domain
cloud, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.