wvlet.airframe.http.HttpClientException

Describe the bug
Recently I found publishing fails around 20 minutes with a wvlet.airframe.http.HttpClientException, even when the timeout is 3 hours:
https://github.com/xerial/sbt-sonatype/blob/3a6a15e546e8798117a3564c88dec7c951982a02/src/main/scala/xerial/sbt/sonatype/SonatypeClient.scala#L34
How to reproduce the issue
See build log at https://github.com/ThoughtWorksInc/bindable.scala/actions/runs/4004136273/jobs/6884891378
2023-01-25 20:21:05.853Z  info [SonatypeClient] The close stage is in progress. Waiting for 15.00 sec.  - (SonatypeClient.scala:164)
2023-01-25 20:21:20.978Z  info [SonatypeClient] repositoryClosed: id:comthoughtworksbinding-2491  - (SonatypeClient.scala:384)
2023-01-25 20:21:20.979Z  info [SonatypeClient] [close] Finished successfully  - (SonatypeClient.scala:173)
2023-01-25 20:21:20.979Z  info [SonatypeClient] Promoting staging repository [comthoughtworksbinding-2491] status:closed, profile:com.thoughtworks.binding(581d7a4338d65c) description: Scala CI<PHONE_NUMBER> 183 6 2.13.4  - (SonatypeClient.scala:210)
2023-01-25 20:21:21.031Z  warn [HttpClient] [1/100] Request to /service/local/staging/profiles/581d7a4338d65c/promote is failed: [500: Internal Server Error] Request failed: {"errors":[{"id":"*","msg":"Unhandled: Staging repository is already transitioning: comthoughtworksbinding-2491"}]}. Retry the request in 1.279 sec.  - (HttpClient.scala:180)
2023-01-25 20:21:22.357Z  warn [HttpClient] [2/100] Request to /service/local/staging/profiles/581d7a4338d65c/promote is failed: [500: Internal Server Error] Request failed: {"errors":[{"id":"*","msg":"Unhandled: Staging repository is already transitioning: comthoughtworksbinding-2491"}]}. Retry the request in 1.908 sec.  - (HttpClient.scala:180)
2023-01-25 20:21:24.314Z  warn [HttpClient] [3/100] Request to /service/local/staging/profiles/581d7a4338d65c/promote is failed: [500: Internal Server Error] Request failed: {"errors":[{"id":"*","msg":"Unhandled: Staging repository is already transitioning: comthoughtworksbinding-2491"}]}. Retry the request in 3.026 sec.  - (HttpClient.scala:180)
2023-01-25 20:21:27.392Z  warn [HttpClient] [4/100] Request to /service/local/staging/profiles/581d7a4338d65c/promote is failed: [500: Internal Server Error] Request failed: {"errors":[{"id":"*","msg":"Unhandled: Staging repository is already transitioning: comthoughtworksbinding-2491"}]}. Retry the request in 4.223 sec.  - (HttpClient.scala:180)
2023-01-25 20:21:31.666Z  info [CircuitBreaker] CircuitBreaker[default] is changed to OPEN  - (CircuitBreaker.scala:73)
2023-01-25 20:21:31.666Z  warn [HttpClient] [5/100] Request to /service/local/staging/profiles/581d7a4338d65c/promote is failed: [500: Internal Server Error] Request failed: {"errors":[{"id":"*","msg":"Unhandled: Staging repository is already transitioning: comthoughtworksbinding-2491"}]}. Retry the request in 1.300 sec.  - (HttpClient.scala:180)
2023-01-25 20:21:32.969Z  info [CircuitBreaker] CircuitBreaker[default] is changed to HALF_OPEN  - (CircuitBreaker.scala:73)
2023-01-25 20:21:32.973Z error [Sonatype]
wvlet.airframe.http.HttpClientException
	at wvlet.airframe.http.client.HttpClients$$anonfun$defaultHttpClientErrorHandler$1.applyOrElse(HttpClients.scala:262)
	at wvlet.airframe.http.client.HttpClients$$anonfun$defaultHttpClientErrorHandler$1.applyOrElse(HttpClients.scala:252)
	at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38)
	at wvlet.airframe.http.client.SyncClient.send(HttpClients.scala:80)
	at wvlet.airframe.http.client.SyncClient.send$(HttpClients.scala:69)
	at wvlet.airframe.http.client.SyncClientImpl.send(HttpClients.scala:28)
	at wvlet.airframe.http.client.SyncClient.callInternal(HttpClients.scala:115)
	at wvlet.airframe.http.client.SyncClient.callInternal$(HttpClients.scala:108)
	at wvlet.airframe.http.client.SyncClientImpl.callInternal(HttpClients.scala:28)
	at xerial.sbt.sonatype.SonatypeClient.promoteStage(SonatypeClient.scala:213)
	at xerial.sbt.sonatype.SonatypeService.promoteStage(SonatypeService.scala:184)
	at xerial.sbt.sonatype.SonatypeService.closeAndPromote(SonatypeService.scala:[198](https://github.com/ThoughtWorksInc/bindable.scala/actions/runs/4004136273/jobs/6884891378#step:6:199))
	at xerial.sbt.Sonatype$.$anonfun$sonatypeBundleRelease$2(Sonatype.scala:182)
	at xerial.sbt.Sonatype$.withSonatypeService(Sonatype.scala:437)
	at xerial.sbt.Sonatype$.$anonfun$sonatypeBundleRelease$1(Sonatype.scala:177)
	at scala.Option.getOrElse(Option.scala:189)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149)
	at xsbt.boot.Launch$.withContextLoader(Launch.scala:176)
	at xsbt.boot.Launch$.run(Launch.scala:149)
	at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44)
	at xsbt.boot.Launch$.launch(Launch.scala:159)
	at xsbt.boot.Launch$.apply(Launch.scala:44)
	at xsbt.boot.Launch$.apply(Launch.scala:21)
	at xsbt.boot.Boot$.runImpl(Boot.scala:78)
	at xsbt.boot.Boot$.run(Boot.scala:73)
	at xsbt.boot.Boot$.main(Boot.scala:21)
	at xsbt.boot.Boot.main(Boot.scala)
Caused by: wvlet.airframe.control.CircuitBreakerOpenException
	at wvlet.airframe.control.CircuitBreaker$.$anonfun$throwOpenException$1(CircuitBreaker.scala:69)
	at wvlet.airframe.control.CircuitBreaker.verifyConnection(CircuitBreaker.scala:272)
	at wvlet.airframe.control.Retry$RetryContext.$anonfun$runInternal$1(Retry.scala:287)
	at scala.util.Try$.apply(Try.scala:213)
	at wvlet.airframe.control.Retry$RetryContext.runInternal(Retry.scala:286)
	at wvlet.airframe.control.Retry$RetryContext.runWithContext(Retry.scala:259)
	at wvlet.airframe.http.client.SyncClient.send(HttpClients.scala:74)
	... 52 more  - (Sonatype.scala:443)

sbt version: 1.8.2
sbt-sonatype version: 3.9.15
Show your build settings: See https://github.com/ThoughtWorksInc/bindable.scala/blob/8ac54bf713459a636bdfdca1792ff07af0ecec00/.github/workflows/scala.yml#L48
GitHub repository: https://github.com/ThoughtWorksInc/bindable.scala

Additional context
I expect sbt-sonatype should retry until reaching the 3-hour timeout

According to https://status.maven.org/, sonatype is unstable recently. Let's retry more times.

I've also hit this issue. I think sbt-sonatype should be fixed to wait for a longer time if the circuit breaker opens.

Currently, when a circuit breaker is open, it's marked as non-retryable for fail-fast behavior.  https://github.com/wvlet/airframe/blob/master/airframe-http/src/main/scala/wvlet/airframe/http/HttpClientException.scala#L162
So, we need to wrap HTTP requests with double retry blocks when the Sonatype service is totally down for a while.

Unfortunately createStage can also fail due to connection reset. See https://github.com/ThoughtWorksInc/Binding.scala/actions/runs/4021048510/jobs/6909569228

Could you reopen this issue?

@xerial  Could you reopen this issue?

https://github.com/ThoughtWorksInc/LatestEvent.scala/actions/runs/4021150036/jobs/6911289377
Still get the same error after upgrade to sbt-sonatype v3.9.16

There is another http client only for createStage with a long timeout configuration. We also need to disable the circuit breaker for it

But this exception is thrown from promoteStage: https://github.com/ThoughtWorksInc/LatestEvent.scala/actions/runs/4021150036/jobs/6911289377

ok. That's a bit of unexpected behavior 🤔

@Atry It seems the error message says the max retry count is 100, which means it's using an older version or the latest version might not include the latest change.
[1/100] Request to /service/local/staging/profiles/581d7a4338d65c/promote is failed: [500: Internal Server Error] Request failed: {"errors":[{"id":"*","msg":"Unhandled: Staging repository is already transitioning: comthoughtworksbinding-2789"}]}. Retry the request in 1.410 sec.

Adding a version log to reduce the debug time https://github.com/xerial/sbt-sonatype/pull/366

It seems 3.9.16 does not include #364
https://github.com/xerial/sbt-sonatype/commits/v3.9.16

Yeah. Now releasing 3.9.17


Add: Current review dashboard

We could use a current review status "dashboard". This would be a dashboard that would help a software review lead keep tabs on running reviews, and reviews that may have gone "stale" or quiet.
a table -- something like this might be nice (but open to other ideas!) and if it were dynamically sortable then you could figure out which reviews had been quiet for say a month + ?

Package Name
issue open date
reviewers
editor(s)
Eic (new field)
Last comment date
Status (Current Label)

MyPackage
12 Feb 2024
name 1, name 2
editor Name
Eic Name
6 june 2024
label

NOTE: @isabelizimm may work on some of this !
If we parse the data, it could then be updated - weekly via a cron job? and it could flag reviews that are sitting stale. We could then have a volunteer role that just checked in on the status of those reviews to see if they needed support in moving forward (or a new label such as on-hold).

tagging in for creating a manual proof of concept on this! will talk through details with @lwasser the week of 10 June 2024 and have something before the end of the month!

moving this to the peer review metrics repo where it belongs! the dashboard is underway and this is very sprintable!!


Add 'no-uri-literals' check

cc @rmcgibbo

Wow, very cool. It's nice to see how similar this is to the other rust check.

Perhaps we should try to add one more rust-based check, since three is the magic number for figuring out how to generalize and make abstractions. ;)
I was thinking this morning that it would be good to check for unused arguments, since that's a mistake I've made in my own nixpkgs pull requests multiple times.

Also moved the println! macros back to main since I do not really like doing IO in multiple places.


'TwitterAccessToken' object has no attribute 'redirect_uri'

Why is it even required by oauth_tokens when calling: User.remote.fetch ??? Where should I define it?

try to update
pip install django-oauth-tokens --upgrade

there is this attribute in the last version

This also pushes my django to upgrade to the latest version ;/
2016-02-20 2:06 GMT+01:00 Boris Shifrin<EMAIL_ADDRESS>
try to update
pip install django-oauth-tokens --upgrade
there is this attribute in the last version
—
Reply to this email directly or view it on GitHub
https://github.com/ramusus/django-twitter-api/issues/12#issuecomment-186472466
.

ok try this
pip install django-oauth-tokens==0.6.3

Same error

Try to install this version and after decrease version of Django to required by your project

That's exactly what I did. Unfortunately either way it is django-oauth-tokens==0.6.3

I see this attribute in source code https://github.com/ramusus/django-oauth-tokens/blob/master/oauth_tokens/providers/twitter.py#L44
Could you provide full error traceback?

[Feb 20 19:39:29] [ERROR] Internal Server Error: /complete/twitter/
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/apps/django_app/utils.py", line 51, in wrapper
    return func(request, backend, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/apps/django_app/views.py", line 28, in complete
    redirect_name=REDIRECT_FIELD_NAME, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/actions.py", line 43, in do_complete
    user = backend.complete(user=user, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/backends/base.py", line 41, in complete
    return self.auth_complete(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/utils.py", line 229, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/backends/oauth.py", line 182, in auth_complete
    return self.do_auth(access_token, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/utils.py", line 229, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/backends/oauth.py", line 193, in do_auth
    return self.strategy.authenticate(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/strategies/django_strategy.py", line 96, in authenticate
    return authenticate(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/__init__.py", line 74, in authenticate
    user = backend.authenticate(**credentials)
  File "/usr/local/lib/python2.7/dist-packages/social/backends/base.py", line 82, in authenticate
    return self.pipeline(pipeline, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/backends/base.py", line 85, in pipeline
    out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/social/backends/base.py", line 112, in run_pipeline
    result = func(*args, **out) or {}
  File "/usr/local/lib/python2.7/dist-packages/social/pipeline/partial.py", line 15, in wrapper
    *args, **kwargs) or {}
  File "/app/accounts/pipeline.py", line 44, in save_profile
    tuser = User.remote.fetch(response['id'])
  File "/usr/local/lib/python2.7/dist-packages/twitter_api/models.py", line 104, in fetch
    result = self.get(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/twitter_api/models.py", line 117, in get
    response = self.api_call(method, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/twitter_api/models.py", line 98, in api_call
    return api_call(method, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/twitter_api/api.py", line 87, in api_call
    return api.call(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/oauth_tokens/api.py", line 79, in call
    token = self.get_token(tag=self.token_tag)
  File "/usr/local/lib/python2.7/dist-packages/oauth_tokens/api.py", line 215, in get_token
    self.update_tokens()
  File "/usr/local/lib/python2.7/dist-packages/oauth_tokens/api.py", line 160, in update_tokens
    AccessToken.objects.fetch(provider=self.provider)
  File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py", line 145, in inner
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/oauth_tokens/models.py", line 159, in fetch
    token = self.get_token_of_class(token_class, user).get()
  File "/usr/local/lib/python2.7/dist-packages/oauth_tokens/models.py", line 98, in get_token_of_class
    return token_class()
  File "/usr/local/lib/python2.7/dist-packages/oauth_tokens/base.py", line 105, in __init__
    self.redirect_uri = self.get_setting('redirect_uri') or self.redirect_uri
AttributeError: 'TwitterAccessToken' object has no attribute 'redirect_uri'

Got inside /usr/local/.../oauth_tokens/providers/twitter.py
I am missing that line. After pip freeze: django-oauth-tokens==0.6.3

I installed via: git+https://github.com/ramusus/django-twitter-api#egg=django-auth-tokens
but now I get another error
'NoneType' object has no attribute 'inactivate'. I'm debugging it, but I think that django-twitter-api needs some improvements.

But the logs say it's my fault:
LOCK: locking with key update_tokens_for_twitter
[Feb 20 20:56:29] [ERROR] Error 'Token request failed with code 400, response was '{"errors":[{"code":215,"message":"Bad Authentication data."}]}'.' while getting new token for provider twitter and user None
LOCK: releasing lock update_tokens_for_twitter```

Why are you getting oauth_verifier by BeautifulSoup? It isn't working right now, because twitter changed DOM.
Apps in twitter are redirecting you to given URL in apps.twitter.com and oauth_verifier is one of GET arguments

After fixtures to django-oauth-tokens m2m-history fails...

did you solve authentication problem with twitter ?
what problem with m2m_history ?

yes, I PR'd twitter problem.
About m2m_history:
[Feb 24 21:46:17] [ERROR] Internal Server Error: /
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py", line 89, in dispatch
    return handler(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py", line 158, in get
    context = self.get_context_data(**kwargs)
  File "/app/politikon/views.py", line 27, in get_context_data
    tuser.fetch_followers(all=True)
  File "/usr/local/lib/python2.7/dist-packages/twitter_api/models.py", line 509, in fetch_followers
    return User.remote.fetch_followers_for_user(user=self, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/twitter_api/models.py", line 228, in fetch_followers_for_user
    print(user.followers.all())
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 228, in all
    return self.get_queryset()
  File "/usr/local/lib/python2.7/dist-packages/m2m_history/descriptors.py", line 78, in get_queryset
    qs = self.get_queryset_through().filter(time_to=None)
  File "/usr/local/lib/python2.7/dist-packages/m2m_history/descriptors.py", line 73, in get_queryset_through
    self.source_field_name: self._fk_val,
AttributeError: 'ManyToManyHistoryThroughManager' object has no attribute '_fk_val'

I fix'd it, an PR'd. Check
https://github.com/ramusus/django-oauth-tokens and
https://github.com/ramusus/django-m2m-history
Now I get this:
[Feb 24 23:58:18] [ERROR] Internal Server Error: /
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py", line 89, in dispatch
    return handler(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py", line 158, in get
    context = self.get_context_data(**kwargs)
  File "/app/politikon/views.py", line 27, in get_context_data
    tuser.fetch_followers(all=True)
  File "/usr/local/lib/python2.7/dist-packages/twitter_api/models.py", line 509, in fetch_followers
    return User.remote.fetch_followers_for_user(user=self, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/twitter_api/models.py", line 228, in fetch_followers_for_user
    print(user.followers.all())
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 228, in all
    return self.get_queryset()
  File "/usr/local/lib/python2.7/dist-packages/m2m_history/descriptors.py", line 80, in get_queryset
    return self._prepare_queryset(qs, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/m2m_history/descriptors.py", line 52, in _prepare_queryset
    qs = super(ManyToManyHistoryThroughManager, self).get_query_set().using(
AttributeError: 'super' object has no attribute 'get_query_set'

hahahahahah, since django 1.8 there is no get_query_set. Wait a second

Now, we're back to errors in django-twitter-api:
IntegrityError at /
null value in column "profile_background_image_url" violates not-null constraint

the problem is also that pip install doesn't install the newest versions of your libraries.

updated version in pypi. thanks for support. are you experiencing any other troubles ? :) pleas, close this issue if not


fix makefile target

In running through the setup I had a small speedbump when the makefile target wasn't right. This corrects the docs.

I added on the case change to this pr since it was so small.

👍 Was about to submit something similar. Thank you :)

Thank you @mankins and @jedisct1! Really appreciate it!
I will rebase the commits and close them.


Encountering problems when running darknet on RPI3B+

Hi,
I tried to run darknet on RPI 3B+ with VC4CL. I can compile the code but encounteredNormalizer: Invalid local type for memory area: (g) f32* %arrayidx29.sink75 when running the program. The darknet version is https://github.com/sowson/darknet. The console output is as follows:
Device IDs: 1
gpuserv: vc_gpuserv_init: starting initialisation
Device ID: 0
Device name: VideoCore IV GPU
Device vendor: Broadcom
Device opencl availability: OpenCL 1.2 VC4CL 0.4.9999 (1acb1b8)
Device opencl used: 0.4.9999
Device double precision: NO
Device max group size: 12
Device address bits: 32
activation_kernel_init
[VC4CL](        darknet): Precompiling source with:
Dumping program sources to /tmp/vc4cl-source-1804289383.cl
[VC4CL](        darknet): Dumping program IR to /tmp/vc4cl-ir-846930886.ll
[VC4CL](        darknet): Precompilation complete with status: 0
[VC4CL](        darknet): Compiling source with:
[VC4CL](        darknet): Dumping program IR to /tmp/vc4cl-ir-1681692777.bc
[VC4CL](        darknet): Compilation complete with status: 0
Dumping program binaries to /tmp/vc4cl-binary-1714636915.bin
blas_kernel_init
opencl_device_id_t==0
opencl_load_buffer
[VC4CL](        darknet): Precompiling source with:
Dumping program sources to /tmp/vc4cl-source-1957747793.cl
[VC4CL](        darknet): Dumping program IR to /tmp/vc4cl-ir-424238335.ll
[VC4CL](        darknet): Precompilation complete with status: 0
[VC4CL](        darknet): Compiling source with:
[VC4CL](        darknet): Dumping program IR to /tmp/vc4cl-ir-719885386.bc
[VC4CL](        darknet): Compilation complete with status: 0
Compilation log: [W] Wed Feb  2 04:11:42 2022: Register conflict resolver has exceeded its maximum rounds, there might still be errors!

Dumping program binaries to /tmp/vc4cl-binary-1102520059.bin
[VC4CL](        darknet): Precompiling source with:
Dumping program sources to /tmp/vc4cl-source-2044897763.cl
[VC4CL](        darknet): Dumping program IR to /tmp/vc4cl-ir-1967513926.ll
[VC4CL](        darknet): Precompilation complete with status: 0
[VC4CL](        darknet): Compiling source with:
[VC4CL](        darknet): Dumping program IR to /tmp/vc4cl-ir-1365180540.bc
[VC4CL](        darknet): Compilation complete with status: 0
Dumping program binaries to /tmp/vc4cl-binary-1540383426.bin
[VC4CL](        darknet): Precompiling source with:
Dumping program sources to /tmp/vc4cl-source-304089172.cl
[VC4CL](        darknet): Dumping program IR to /tmp/vc4cl-ir-1303455736.ll
[VC4CL](        darknet): Precompilation complete with status: 0
[VC4CL](        darknet): Compiling source with:
[VC4CL](        darknet): Dumping program IR to /tmp/vc4cl-ir-35005211.bc
[VC4CL](        darknet): Compilation error: Normalizer: Invalid local type for memory area: (g) f32* %arrayidx29.sink75
[VC4CL](        darknet): Compilation complete with status: -11
Compilation log: Compilation error:
        Normalizer: Invalid local type for memory area: (g) f32* %arrayidx29.sink75
[E] Wed Feb  2 04:12:21 2022: Failed to find memory area for local: (g) f32* %arrayidx29.sink75
[E] Wed Feb  2 04:12:21 2022:   Writer: (g) f32* %arrayidx29.sink75 = (g) f32* %arrayidx33 (ifzc )
[E] Wed Feb  2 04:12:21 2022:   Writer: (g) f32* %arrayidx29.sink75 = (g) f32* %arrayidx29 (ifz )
[E] Wed Feb  2 04:12:21 2022:   Writer: store f32 %add30 into (g) f32* %arrayidx29.sink75 (guarded)
[E] Wed Feb  2 04:12:21 2022:   Reader: f32 %tmp.24427 = load memory at (g) f32* %arrayidx29.sink75 (guarded)
[E] Wed Feb  2 04:12:22 2022:  (1) /usr/lib/libVC4CC.so.1.2 : vc4c::CompilationError::CompilationError(vc4c::CompilationStep, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::cha
r_traits<char>, std::allocator<char> > const&)+0xf4 [0x7624ea60]
[E] Wed Feb  2 04:12:22 2022:  (2) /usr/lib/libVC4CC.so.1.2 : +0xe51b14 [0x76610b14]
[E] Wed Feb  2 04:12:22 2022:  (3) /usr/lib/libVC4CC.so.1.2 : vc4c::normalization::determineMemoryAccess(vc4c::Method&)+0x25e0 [0x76614038]
[E] Wed Feb  2 04:12:22 2022:  (4) /usr/lib/libVC4CC.so.1.2 : vc4c::normalization::mapMemoryAccess(vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&)+0x30 [0x765fc7c4]
[E] Wed Feb  2 04:12:22 2022:  (5) /usr/lib/libVC4CC.so.1.2 : vc4c::normalization::Normalizer::normalizeMethod(vc4c::Module&, vc4c::Method&) const+0x430 [0x766480c0]
[E] Wed Feb  2 04:12:22 2022:  (6) /usr/lib/libVC4CC.so.1.2 : +0xe87cc4 [0x76646cc4]
[E] Wed Feb  2 04:12:22 2022:  (7) /usr/lib/libVC4CC.so.1.2 : +0xe8ab78 [0x76649b78]
[E] Wed Feb  2 04:12:22 2022:  (8) /usr/lib/libVC4CC.so.1.2 : std::function<void (vc4c::Method* const&)>::operator()(vc4c::Method* const&) const+0x54 [0x76257e74]
[E] Wed Feb  2 04:12:22 2022:  (9) /usr/lib/libVC4CC.so.1.2 : vc4c::ThreadPool::scheduleAll<vc4c::Method*, std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > >(std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > const&, std::function<void (
vc4c::Method* const&)> const&, logging::Logger*)::{lambda()#1}::operator()() const+0x2c [0x762564b0]
[E] Wed Feb  2 04:12:22 2022:  (10) /usr/lib/libVC4CC.so.1.2 : std::_Function_handler<void (), vc4c::ThreadPool::scheduleAll<vc4c::Method*, std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > >(std::vector<vc4c::Method*, std::allocator<vc4c::Method
*> > const&, std::function<void (vc4c::Method* const&)> const&, logging::Logger*)::{lambda()#1}>::_M_invoke(std::_Any_data const&)+0x24 [0x7625940c]
[E] Wed Feb  2 04:12:22 2022:  (11) /usr/lib/libVC4CC.so.1.2 : std::function<void ()>::operator()() const+0x40 [0x762ded68]
[E] Wed Feb  2 04:12:22 2022:  (12) /usr/lib/libVC4CC.so.1.2 : +0xb1a8f0 [0x762d98f0]
[E] Wed Feb  2 04:12:22 2022:  (13) /usr/lib/libVC4CC.so.1.2 : +0xb1d270 [0x762dc270]
[E] Wed Feb  2 04:12:22 2022:  (14) /usr/lib/libVC4CC.so.1.2 : +0xb1d240 [0x762dc240]
[E] Wed Feb  2 04:12:22 2022:  (15) /usr/lib/libVC4CC.so.1.2 : +0xb1d1c4 [0x762dc1c4]
[E] Wed Feb  2 04:12:22 2022:  (16) /usr/lib/libVC4CC.so.1.2 : +0xb1d198 [0x762dc198]
[E] Wed Feb  2 04:12:22 2022:  (17) /usr/lib/libVC4CC.so.1.2 : +0xb1d0dc [0x762dc0dc]
[E] Wed Feb  2 04:12:22 2022:  (18) /usr/lib/libVC4CC.so.1.2 : +0xb1cf10 [0x762dbf10]
[E] Wed Feb  2 04:12:22 2022:  (19) /usr/lib/libVC4CC.so.1.2 : +0xb1cd5c [0x762dbd5c]
[E] Wed Feb  2 04:12:22 2022:  (20) /usr/lib/libVC4CC.so.1.2 : std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>::operator()() const+0x48 [0x762de2a4]
[E] Wed Feb  2 04:12:22 2022:  (21) /usr/lib/libVC4CC.so.1.2 : std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*)+0x28 [0x762dd374]
[E] Wed Feb  2 04:12:22 2022:  (22) /usr/lib/libVC4CC.so.1.2 : void std::__invoke_impl<void, void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool
*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::__invoke_memfun_deref, void (std::__future_base::_State_baseV2::*&&)(std::function<std::u
nique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&$
 bool*&&)+0xb0 [0x762e0050]
[E] Wed Feb  2 04:12:22 2022:  (23) /usr/lib/libVC4CC.so.1.2 : std::result_of<void (std::__future_base::_State_baseV2::*&&(std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_ba
se::_Deleter> ()>*&&, bool*&&))(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*)>::type std::__invoke<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__
future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(void (std::__
future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base
, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0x64 [0x762df248]
[E] Wed Feb  2 04:12:22 2022:  (24) /usr/lib/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__futu
re_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_ba
se::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#1}::o
perator()() const+0x70 [0x762ddb18]
[E] Wed Feb  2 04:12:22 2022:  (25) /usr/lib/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__futu
re_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_ba
se::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::o
perator()() const+0x30 [0x762ddbe4]
[E] Wed Feb  2 04:12:22 2022:  (26) /usr/lib/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__futu
re_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_ba
se::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::_
FUN()+0x10 [0x762ddc04]
[E] Wed Feb  2 04:12:22 2022:  (27) /lib/arm-linux-gnueabihf/libpthread.so.0 : +0xf158 [0x76eff158]
[E] Wed Feb  2 04:12:22 2022:  (27) /lib/arm-linux-gnueabihf/libpthread.so.0 : +0xf158 [0x76eff158]
[E] Wed Feb  2 04:12:22 2022:  (28) /usr/lib/libVC4CC.so.1.2 : +0xb1a34c [0x762d934c]
[E] Wed Feb  2 04:12:22 2022:  (29) /usr/lib/libVC4CC.so.1.2 : void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::_
_future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__futu
re_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0xac [0x762
ddcec]
[E] Wed Feb  2 04:12:22 2022:  (30) /usr/lib/libVC4CC.so.1.2 : std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool)+0x94 [0x762dcd9c]
[E] Wed Feb  2 04:12:22 2022:  (31) /usr/lib/libVC4CC.so.1.2 : +0xb1c688 [0x762db688]
[E] Wed Feb  2 04:12:22 2022:  (32) /usr/lib/libVC4CC.so.1.2 : std::packaged_task<void ()>::operator()()+0x40 [0x762df15c]
[E] Wed Feb  2 04:12:22 2022:  (33) /usr/lib/libVC4CC.so.1.2 : vc4c::ThreadPool::workerTask(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x194 [0x762d9c5c]
[E] Wed Feb  2 04:12:22 2022:  (34) /usr/lib/libVC4CC.so.1.2 : +0xb1a644 [0x762d9644]
[E] Wed Feb  2 04:12:22 2022:  (35) /usr/lib/libVC4CC.so.1.2 : +0xb1cadc [0x762dbadc]
[E] Wed Feb  2 04:12:22 2022:  (36) /usr/lib/libVC4CC.so.1.2 : +0xb1c868 [0x762db868]
[E] Wed Feb  2 04:12:22 2022:  (37) /usr/lib/libVC4CC.so.1.2 : +0xb1c550 [0x762db550]
[E] Wed Feb  2 04:12:22 2022:  (38) /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 : +0x9d9b0 [0x76e2e9b0]
[E] Wed Feb  2 04:12:22 2022: Compiler threw exception: Normalizer: Invalid local type for memory area: (g) f32* %arrayidx29.sink75

Dumping program binaries to /tmp/vc4cl-binary-294702567.bin
FATAL ERROR: CL_UNKNOWN_ERROR
opencl_load: could not compile. error: CL_UNKNOWN_ERROR
code:
Compilation error:
        Normalizer: Invalid local type for memory area: (g) f32* %arrayidx29.sink75
[E] Wed Feb  2 04:12:21 2022: Failed to find memory area for local: (g) f32* %arrayidx29.sink75
[E] Wed Feb  2 04:12:21 2022:   Writer: (g) f32* %arrayidx29.sink75 = (g) f32* %arrayidx33 (ifzc )
[E] Wed Feb  2 04:12:21 2022:   Writer: (g) f32* %arrayidx29.sink75 = (g) f32* %arrayidx29 (ifz )
[E] Wed Feb  2 04:12:21 2022:   Writer: store f32 %add30 into (g) f32* %arrayidx29.sink75 (guarded)
[E] Wed Feb  2 04:12:21 2022:   Reader: f32 %tmp.24427 = load memory at (g) f32* %arrayidx29.sink75 (guarded)
[E] Wed Feb  2 04:12:22 2022:  (1) /usr/lib/libVC4CC.so.1.2 : vc4c::CompilationError::CompilationError(vc4c::CompilationStep, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::cha
r_traits<char>, std::allocator<char> > const&)+0xf4 [0x7624ea60]
[E] Wed Feb  2 04:12:22 2022:  (2) /usr/lib/libVC4CC.so.1.2 : +0xe51b14 [0x76610b14]
[E] Wed Feb  2 04:12:22 2022:  (3) /usr/lib/libVC4CC.so.1.2 : vc4c::normalization::determineMemoryAccess(vc4c::Method&)+0x25e0 [0x76614038]
[E] Wed Feb  2 04:12:22 2022:  (4) /usr/lib/libVC4CC.so.1.2 : vc4c::normalization::mapMemoryAccess(vc4c::Module const&, vc4c::Method&, vc4c::Configuration const&)+0x30 [0x765fc7c4]
[E] Wed Feb  2 04:12:22 2022:  (5) /usr/lib/libVC4CC.so.1.2 : vc4c::normalization::Normalizer::normalizeMethod(vc4c::Module&, vc4c::Method&) const+0x430 [0x766480c0]
[E] Wed Feb  2 04:12:22 2022:  (6) /usr/lib/libVC4CC.so.1.2 : +0xe87cc4 [0x76646cc4]
[E] Wed Feb  2 04:12:22 2022:  (7) /usr/lib/libVC4CC.so.1.2 : +0xe8ab78 [0x76649b78]
[E] Wed Feb  2 04:12:22 2022:  (8) /usr/lib/libVC4CC.so.1.2 : std::function<void (vc4c::Method* const&)>::operator()(vc4c::Method* const&) const+0x54 [0x76257e74]
[E] Wed Feb  2 04:12:22 2022:  (9) /usr/lib/libVC4CC.so.1.2 : vc4c::ThreadPool::scheduleAll<vc4c::Method*, std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > >(std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > const&, std::function<void (
vc4c::Method* const&)> const&, logging::Logger*)::{lambda()#1}::operator()() const+0x2c [0x762564b0]
[E] Wed Feb  2 04:12:22 2022:  (10) /usr/lib/libVC4CC.so.1.2 : std::_Function_handler<void (), vc4c::ThreadPool::scheduleAll<vc4c::Method*, std::vector<vc4c::Method*, std::allocator<vc4c::Method*> > >(std::vector<vc4c::Method*, std::allocator<vc4c::Method
*> > const&, std::function<void (vc4c::Method* const&)> const&, logging::Logger*)::{lambda()#1}>::_M_invoke(std::_Any_data const&)+0x24 [0x7625940c]
[E] Wed Feb  2 04:12:22 2022:  (11) /usr/lib/libVC4CC.so.1.2 : std::function<void ()>::operator()() const+0x40 [0x762ded68]
[E] Wed Feb  2 04:12:22 2022:  (12) /usr/lib/libVC4CC.so.1.2 : +0xb1a8f0 [0x762d98f0]
[E] Wed Feb  2 04:12:22 2022:  (13) /usr/lib/libVC4CC.so.1.2 : +0xb1d270 [0x762dc270]
[E] Wed Feb  2 04:12:22 2022:  (14) /usr/lib/libVC4CC.so.1.2 : +0xb1d240 [0x762dc240]
[E] Wed Feb  2 04:12:22 2022:  (15) /usr/lib/libVC4CC.so.1.2 : +0xb1d1c4 [0x762dc1c4]
[E] Wed Feb  2 04:12:22 2022:  (16) /usr/lib/libVC4CC.so.1.2 : +0xb1d198 [0x762dc198]
[E] Wed Feb  2 04:12:22 2022:  (17) /usr/lib/libVC4CC.so.1.2 : +0xb1d0dc [0x762dc0dc]
[E] Wed Feb  2 04:12:22 2022:  (18) /usr/lib/libVC4CC.so.1.2 : +0xb1cf10 [0x762dbf10]
[E] Wed Feb  2 04:12:22 2022:  (19) /usr/lib/libVC4CC.so.1.2 : +0xb1cd5c [0x762dbd5c]
[E] Wed Feb  2 04:12:22 2022:  (20) /usr/lib/libVC4CC.so.1.2 : std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>::operator()() const+0x48 [0x762de2a4]
[E] Wed Feb  2 04:12:22 2022:  (21) /usr/lib/libVC4CC.so.1.2 : std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*)+0x28 [0x762dd374]
[E] Wed Feb  2 04:12:22 2022:  (22) /usr/lib/libVC4CC.so.1.2 : void std::__invoke_impl<void, void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::__invoke_memfun_deref, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0xb0 [0x762e0050]
[E] Wed Feb  2 04:12:22 2022:  (23) /usr/lib/libVC4CC.so.1.2 : std::result_of<void (std::__future_base::_State_baseV2::*&&(std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&))(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*)>::type std::__invoke<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0x64 [0x762df248]
[E] Wed Feb  2 04:12:22 2022:  (24) /usr/lib/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#1}::operator()() const+0x70 [0x762ddb18]
[E] Wed Feb  2 04:12:22 2022:  (25) /usr/lib/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::operator()() const+0x30 [0x762ddbe4]
[E] Wed Feb  2 04:12:22 2022:  (26) /usr/lib/libVC4CC.so.1.2 : std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)::{lambda()#2}::_FUN()+0x10 [0x762ddc04]
[E] Wed Feb  2 04:12:22 2022:  (27) /lib/arm-linux-gnueabihf/libpthread.so.0 : +0xf158 [0x76eff158]
[E] Wed Feb  2 04:12:22 2022:  (28) /usr/lib/libVC4CC.so.1.2 : +0xb1a34c [0x762d934c]
[E] Wed Feb  2 04:12:22 2022:  (29) /usr/lib/libVC4CC.so.1.2 : void std::call_once<void (std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>*&&, bool*&&)+0xac [0x762ddcec]
[E] Wed Feb  2 04:12:22 2022:  (30) /usr/lib/libVC4CC.so.1.2 : std::__future_base::_State_baseV2::_M_set_result(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool)+0x94 [0x762dcd9c]
[E] Wed Feb  2 04:12:22 2022:  (31) /usr/lib/libVC4CC.so.1.2 : +0xb1c688 [0x762db688]
[E] Wed Feb  2 04:12:22 2022:  (32) /usr/lib/libVC4CC.so.1.2 : std::packaged_task<void ()>::operator()()+0x40 [0x762df15c]
[E] Wed Feb  2 04:12:22 2022:  (33) /usr/lib/libVC4CC.so.1.2 : vc4c::ThreadPool::workerTask(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x194 [0x762d9c5c]
[E] Wed Feb  2 04:12:22 2022:  (34) /usr/lib/libVC4CC.so.1.2 : +0xb1a644 [0x762d9644]
[E] Wed Feb  2 04:12:22 2022:  (35) /usr/lib/libVC4CC.so.1.2 : +0xb1cadc [0x762dbadc]
[E] Wed Feb  2 04:12:22 2022:  (36) /usr/lib/libVC4CC.so.1.2 : +0xb1c868 [0x762db868]
[E] Wed Feb  2 04:12:22 2022:  (37) /usr/lib/libVC4CC.so.1.2 : +0xb1c550 [0x762db550]
[E] Wed Feb  2 04:12:22 2022:  (38) /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 : +0x9d9b0 [0x76e2e9b0]
[E] Wed Feb  2 04:12:22 2022: Compiler threw exception: Normalizer: Invalid local type for memory area: (g) f32* %arrayidx29.sink75

I found that the code to cause this problem is the function called opencl_load_buffer, which I list below:
void opencl_load_buffer(const char *buffer, const size_t size, cl_program *output)
{
    cl_int clErr;

    *output = clCreateProgramWithSource(opencl_context, 1,
                                        (const char**)&buffer, &size, &clErr);

    if (clErr != CL_SUCCESS)
    {
        printf("opencl_load: could not create program. error: %s\n", clCheckError(clErr));
        exit(-1);
    }

#ifdef ARM
    clErr = clBuildProgram(
            *output,
            1,
            &opencl_devices[opencl_device_id_t],
            NULL, NULL, NULL);
#else
    clErr = clBuildProgram(
            *output,
            1,
            &opencl_devices[opencl_device_id_t],
            "-Werror "
            "-cl-std=CL1.2 "
            "-cl-opt-disable "
          //"-cl-denorms-are-zero "
          //"-cl-fp32-correctly-rounded-divide-sqrt "
            "-cl-no-signed-zeros "
            "-cl-mad-enable "
          //"-cl-fast-relaxed-math "
            , NULL, NULL);
#endif

    if (clErr != CL_SUCCESS)
    {
        printf("opencl_load: could not compile. error: %s\n", clCheckError(clErr));
        size_t len;
        char *ebuffer = (char*)calloc(0x10000000, sizeof(char));
        clGetProgramBuildInfo(*output, opencl_devices[opencl_device_id_t], CL_PROGRAM_BUILD_LOG, 0x10000000 * sizeof(char), ebuffer, &len);
        printf("code:\n%s\n", ebuffer);
        free(ebuffer);
        exit(-1);
    }
}

Do you know how can I fix this problem? Is it because the function invokes some unimplemented library functions?
Thanks!

This looks like a VC4CC compiler bug/missing support.
Can you post the offending OpenCL C source code? E.g. in the above log you see lines like /tmp/vc4cl-source-<some random number>.cl, can you post the last /tmp/vc4cl-source-xyz.cl and /tmp/vc4cl-ir-abc.bc files dumped before the error is given?
Also, since you are using a source build of VC4CC, what is your LLVM/clang version you built VC4CC against? This can be queried e.g. by <path/to/>vc4c --version

Thanks for your quick reply! I will post the two files as follows.
I cat the /tmp/vc4cl-source-xyz.cl:
__kernel void weighted_delta_kernel(int n, __global float *a, __global float *b, __global float *s, __global float *da, __global float *db, __global float *ds, __global float *dc) { int i = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); if(i < n){ if(da) da[i] += dc[i] * s[i]; db[i] += dc[i] * (1-s[i]); ds[i] += dc[i] * a[i] + dc[i] * -b[i]; } } __kernel void mult_add_into_kernel(int n, __global float *a, __global float *b, __global float *c) { int i = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); if(i < n){ c[i] += a[i]*b[i]; } } __kernel void deinter_kernel(int NX, __global float *X, int NY, __global float *Y, int B, __global float *OUT) { int i = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); if(i < (NX+NY)*B){ int b = i / (NX+NY); int j = i % (NX+NY); if (j < NX){ if(X) X[b*NX + j] += OUT[i]; } else { if(Y) Y[b*NY + j - NX] += OUT[i]; } } } __kernel void inter_kernel(int NX, __global float *X, int NY, __global float *Y, int B, __global float *OUT) { int i = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); if(i < (NX+NY)*B){ int b = i / (NX+NY); int j = i % (NX+NY); if (j < NX){ OUT[i] = X[b*NX + j]; } else { OUT[i] = Y[b*NY + j - NX]; } } } __kernel void softmax_device(__global float *input, int n, float temp, int stride, __global float *output) { int i; float sum = 0; float largest = -FLT_MAX; for(i = 0; i < n; ++i){ int val = input[i*stride]; largest = (val>largest) ? val : largest; } for(i = 0; i < n; ++i){ float e = exp(input[i*stride]/temp - largest/temp); sum += e; output[i*stride] = e; } for(i = 0; i < n; ++i){ output[i*stride] /= sum; } } __kernel void softmax_kernel(__global float *input, int offset, int n, int batch, int batch_offset, int groups, int group_offset, int stride, float temp, __global float *output) { int id = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); if (id >= batch*groups) return; int b = id / groups; int g = id % groups; softmax_device(input + b*batch_offset + g*group_offset + offset, n, temp, stride, output + b*batch_offset + g*group_offset + offset); } __kernel void softmax_tree_kernel(__global float *input, int offset, int index, int spatial, int batch, int stride, float temp, __global float *output, int groups, __global float *group_size, __global float *group_offset) { int id = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); if (id >= spatial*batch*groups) return; int s = id % spatial; id = id / spatial; int g = id % groups; int b = id / groups; int goff = group_offset[g]*spatial; int boff = b*stride; softmax_device(input + offset + goff + boff + s, group_size[g], temp, spatial, output + offset + goff + boff + s); } __kernel void scale_mask_kernel(int n, __global float *x, float mask_num, __global float *mask, float scale) { int i = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); if(i < n && mask[i] == mask_num) x[i] *= scale; } __kernel void dot_kernel(__global float *output, float scale, int batch, int n, int size, __global float *delta) { int index = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); int f1 = index / n; int f2 = index % n; if (f2 <= f1) return; float sum = 0; float norm1 = 0; float norm2 = 0; int b, i; for(b = 0; b < batch; ++b){ for(i = 0; i < size; ++i){ int i1 = b * size * n + f1 * size + i; int i2 = b * size * n + f2 * size + i; sum += output[i1] * output[i2]; norm1 += output[i1] * output[i1]; norm2 += output[i2] * output[i2]; } } norm1 = sqrt(fabs(norm1)); norm2 = sqrt(fabs(norm2)); float norm = norm1 * norm2; sum = sum / norm; for(b = 0; b < batch; ++b){ for(i = 0; i < size; ++i){ int i1 = b * size * n + f1 * size + i; int i2 = b * size * n + f2 * size + i; delta[i1] += - scale * sum * output[i2] / norm; delta[i2] += - scale * sum * output[i1] / norm; } } } __kernel void upsample_kernel(int N, __global float *x, int w, int h, int c, int batch, int stride, int forward, float scale, __global float *out) { int i = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); if(i >= N) return; int out_index = i; int out_w = i%(w*stride); i = i/(w*stride); int out_h = i%(h*stride); i = i/(h*stride); int out_c = i%c; i = i/c; int b = i%batch; int in_w = out_w / stride; int in_h = out_h / stride; int in_c = out_c; int in_index = b*w*h*c + in_c*w*h + in_h*w + in_w; if(forward) out[out_index] += scale * x[in_index]; else x[in_index] += scale * out[out_index]; } __kernel void gemm_kernel( int tuning, __local float* sums, int TA, int TB, int M, int N, int K, __const float ALPHA, __global float *A, int offset_A, int lda, __global float *B, int offset_B, int ldb, __const float BETA, __global float *C, int offset_C, int ldc) { int td = get_global_id(0); if (td > tuning) return; int id = get_global_id(1); if (id > N*M) return; int iM = id / N; int jN = id % N; int kK = 0; int ts = 0; C[iM * ldc + jN + offset_C] *= BETA; sums[td] = 0; for(kK = td; kK < K; kK += tuning) { if (TA==0 && TB==0) { sums[td] += ALPHA * A[iM * lda + kK + offset_A] * B[kK * ldb + jN + offset_B]; } else if (TA==1 && TB==0) { sums[td] += ALPHA * A[kK * lda + iM + offset_A] * B[kK * ldb + jN + offset_B]; } else if (TA==0 && TB==1) { sums[td] += ALPHA * A[iM * lda + kK + offset_A] * B[jN * ldb + kK + offset_B]; } else { sums[td] += ALPHA * A[iM + kK * lda + offset_A] * B[kK + jN * ldb + offset_B]; } } barrier(CLK_GLOBAL_MEM_FENCE | CLK_LOCAL_MEM_FENCE); if (td == 0) { for(ts = 0; ts < tuning; ++ts) { if (TA==0 && TB==0) { C[iM * ldc + jN + offset_C] += sums[ts]; } else if (TA==1 && TB==0) { C[iM * ldc + jN + offset_C] += sums[ts]; } else if (TA==0 && TB==1) { C[iM * ldc + jN + offset_C] += sums[ts]; } else { C[iM * ldc + jN + offset_C] += sums[ts]; } } } } __kernel void scal_add_kernel(int N, float ALPHA, float BETA, __global float *X, int OFFX, int INCX) { int i = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); if (i < N) { X[i*INCX + OFFX] *= ALPHA; X[i*INCX + OFFX] += BETA; } } __kernel void mean_array_kernel(int N, float alpha, __global float *s, __global float *a) { int i = (get_group_id(0) + get_group_id(1)*get_num_groups(0)) * get_local_size(0) + get_local_id(0); if (i >= N) return; a[i] *= (1 - alpha) + s[i]; a[i] *= alpha; s[i] = a[i]; }

As you see, the dumped code lies in one line and is difficult to read. Is it right? Or how can I make the file more readable?
Besides, I tried to cat /tmp/vc4cl-ir-abc.bc, but what I got is completely unreadable. It's like
 #6667:23Q4\F                                                                                [5/5]

0!!<;;=<C8a F,40F 0"GȐQdadbdsdc111
 0
  ((bba9D>?#u`P3bPP7    e`I#u`PT 0bPP7  eS      MAAUB
A
 7@
   lApYa L,A0 T¨!WB0*`؀% *H`RA0

@ x¨`a"alA0a4(F4(F
                  0F7 ?D"
                        `R
E
 ]D!ep ?DcK
E
 W[U

    >
     "
      %@2\xn;<C0ԂېD!U&D0
XQ                      %
  C]4r
      NL!R[P,,, `HOH
                    2`PaCODؓD!UU0RcLN850Ժ,T0RW O4
                                                1[?@.<Q2@A
U[+h-a
      `me
b
 62A[`A NC<
Q@#u`P2bPP71    e1#u`PR 0bPP7   e5%2bPP7        e=%04hF@[a@
                                                           0l@
                                                             Vc)`*A`+`E

                                                                       C0
                                                                         HOXK!RP,,D3E   H`.,m8  E
<>20A                                                                                n,,$@2\01      [L47ۃ
Q[)ha G,4#u`P2bPP7      e0=#u`PVS 0bPP7 eA%2bPP7        eI%`4"00h0AU@HA
                                                                       7D0`E`0`
                                                                               )@vh"`[aT10K`
                                                                                7p2Ea(=` AT (F
                                                                                0>CðD!eQ`pHOR
                                                                                m@tMm@tM}RP]S
                                                                                _AtM[JJ [ˀ
P                                                                                X
 n;ÀTQ`pO!0O]Ʀ"
               0 Q)@2\n9C-,,,8b2C-fPa&T0R6TPfTPvLN8K>H,g O4
1
 [
  8n<:2TA
[[`PA ha gƈAA$AMAHΈAA$AT HMApO  MApQ    X
                                        7
A                                        2EP@RF
 fX"P0K@
        T
         r0lA
@YÁ6vCð]>
         6}RA4' ?DSۖĶ2nkDFKHX 0
                              3

How should I transfer the code?
As for the LLVM/Clang version, what do you mean by <path/to/>vc4c? Is it the build dir that I make during compiling VC4C? I tried to check the clang version by clang --version and got
clang version 7.0.1-8+rpi3+deb10u2 (tags/RELEASE_701/final)
Target: armv6k-unknown-linux-gnueabihf
Thread model: posix
InstalledDir: /usr/bin

The /tmp/vc4cl-ir-abc.bc is a binary file, it's a raw LLVM module, you should be able to attach files to a GitHub comment, see the text below the comment input box.
Yes, the vc4c executable lies in the VC4C build directory, more precisely <VC4C build dir>/src/vc4c.
I'm not sure whether I have time today to debug this issue though.

The LLVM/Clang version after typing vc4c --version is as follows:
Running VC4C in version: 0.4.9999 (unknown)
Build configuration: debug mode; builtin SPIR-V front-end; LLVM library front-end with libLLVM 7; vc4asm verification

Standard library location:
	header in /home/pi/opencl/VC4C/../VC4CLStdLib/include/defines.h
	PCH in /home/pi/opencl/VC4C/../VC4CLStdLib/include/VC4CLStdLib.h.pch
	LLVM module in /home/pi/opencl/VC4C/../VC4CLStdLib/include/VC4CLStdLib.bc
	SPIR-V module in
Tool locations:
	clang in /usr/bin/clang (default)
	llvm-spirv not in $PATH
	llvm-link in /usr/bin/llvm-link-7 (default)
	llvm-dis in /usr/bin/llvm-dis-7 (default)
	llvm-as in /usr/bin/llvm-as-7 (default)
	spirv-link not in $PATH

I have packed the bc and cl file into a zip file because the file format is not permitted by github.
archive.zip
It's okay you may have no time today. You can help me with this problem when you are available. Thanks!

hi @doe300 , I saw you made some commits. Is that mean the problem is solved?

With the changes (not yet on master branch, but on devel) I got your OpenCL C kernel to build. I will test them on my setup and then hopefully push them on master within the next few days. If you want to test it earlier, you'll only need these 8 lines from https://github.com/doe300/VC4C/commit/90d16ae1757223d028d9c9e300adf955029c2ab2#diff-e956b9578001223db5e36f75faa7ec5fe604f044c3219a2a1e6795cc79313208R259.

I have tested the 8 lines. The memory error disappeared, but I got another problem: the program stucks at that point. I'm not sure if it is an infinite loop or other things. I have attached the .cl and .bc file into this comment
archive.zip
.

Can you check what threads are running (and how "active" are they) when the program is "stuck"? This can be best checked e.g. with the htop tool, when enabling thread names in the settings (F2 → Display options → Show custom thread names).

I think the thread name is Normalization. I can see there are four Normalization threads when the function begins, later there is only one Normalization remained and the program is stuck. I can also see that the last  Normalization occupies 100% CPU, which means it may drop in an infinite loop?
BTW I can also see other threads, such as VC4CL Queue Han, alsa-sink-bcm28, but they do not occupy CPU.

Which command are you using? I am currently trying the example from https://pjreddie.com/darknet/yolo/ and it seems to compile just fine.

The darknet is this one https://github.com/sowson/darknet. The command to compile this darknet follows https://iblog.isowa.io/2020/04/29/darknet-in-opencl-on-beagleboard-ai/  :
git clone git clone https://github.com/sowson/darknet.git
cd darknet
vi CMakeList.txt # or nano or joe or vim… set DARKNET_ARM=ON
vi src/opencl.h # add in ARM definition: #define CL_TARGET_OPENCL_VERSION 220
mkdir build
cd build
cmake ..
make

Then you'd better edit cfg/cifar.cfg to reduce the batch_size. Change the 2nd line of cfg/cifar.cfg
from
batch=128

to
batch=4

Then in the build directory, the command to run is ./darknet cifar test ../cfg/cifar.cfg

Seems I can't reproduce your issue on my setup. On my Raspberry Pi it compiles for several minutes, then prints some layer information and fails with being unable to open a file.
I am currently running a large set of regression tests, if none of these fail, I will merge the devel branch into master (probably around tomorrow), maybe that fixes the issue.

That's weird. Do you use RPI 3B+ too? I think printing some layer information is good and it means you didn't encounter my problem.

I tested on a new system and it worked! But I feel that the setup phase is pretty slow, I think this phase is what you said ''compiles for several minutes''? I was wondering why it needs to compile every time I start the program?

Yes, the compilation takes some time, which is a combination of probably running in Debug build, the compiler itself not being too fast and the weak hardware.

I was wondering why it needs to compile every time I start the program?

Since neither the application (darknet) nor the OpenCL implementation (VC4CL) caches the compiled binaries. I thought about that, but since VC4CL still in active development, it didn't make too much sense for me at least and would just introduces consistency issues.

I do not quite understand what you mean by Debug build. Do you mean VC4CL or darknet are compiled in debug mode? I checked the configuration and found that neither of them is built in debug mode.
BTW I was wondering have you tested the computation speed between VC4CL and CPU. For example, for matrix multiplication, how much is VC4CL faster than pure CPU?

VC4C(L), if not set otherwise explicitly (e.g. by specifying the -DCMAKE_BUILD_TYPE=Release CMake flag, they compile as debug builds without optimizations enabled.

BTW I was wondering have you tested the computation speed between VC4CL and CPU. For example, for matrix multiplication, how much is VC4CL faster than pure CPU?

No, not extensively, I do have very few comparisons where the results differ greatly (sometimes CPU is faster, sometimes VC4CL). I expect that it will highly depend on the code being executed (e.g. how easily it can be parallelized, how much memory it accesses, etc.).

Today I went deeper into the project but I got another problem. I prepared a code base at https://github.com/ziqi-zhang/darknet-vc4cl so that you will not encounter the missing file problem. To build this repo, you can directly run mkdir build && cd build && cmake .. && make. The command to run in the build dir is ./darknet cifar test ../cfg/cifar.cfg.
One problem I encountered is FATAL ERROR: CL_INVALID_KERNEL_ARGS when calling im2col_gpu_kernel function from im2col_gpu (https://github.com/ziqi-zhang/darknet-vc4cl/blob/173fbdc27c239aa4625682bad14a3ab4197a7384/src/im2col_kernels.c#L38) and the cl implementation is in https://github.com/ziqi-zhang/darknet-vc4cl/blob/173fbdc27c239aa4625682bad14a3ab4197a7384/src/im2col_kernels.cl .  I was wondering why the passed args are invalid. Is it because VC4CL has not implemented it yet?
Another problem I occasionally encountered is erroneous register. This error does not raise every time, but only once in a while. I captured some error log as follows:
FATAL ERROR: CL_UNKNOWN_ERROR
opencl_load: could not compile. error: CL_UNKNOWN_ERROR
code:
Compilation error:
        Label/Register Mapping: There are erroneous register-associations!
[W] Sat Feb  5 01:34:24 2022: Register conflict resolver has exceeded its maximum rounds, there might still be errors!
[E] Sat Feb  5 01:35:04 2022: Error assigning local to register: %group_id_y
[E] Sat Feb  5 01:35:04 2022:  (1) /usr/local/lib/libVC4CC.so.1.2 : vc4c::CompilationError::CompilationError(vc4c::CompilationStep, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xac [0x761ee894]
[E] Sat Feb  5 01:35:04 2022:  (2) /usr/local/lib/libVC4CC.so.1.2 : vc4c::qpu_asm::GraphColoring::toRegisterMap() const+0x148 [0x7640cb10]

Do you have any idea how to avoid such error?
Besides, for the CL compilation time, I was wondering do you have any suggestion to walk around it? Compile the CL code is pretty time-consuming and I have to wait for minutes even if I made a small modification to the code...

localItems is 32, 1

There is your problem. VC4CL only supports a local size of up to 12, since the VC4 GPU has only 12 cores. Although OpenCL clients should check what the implementation supports, a lot of applications don't do that and assume some minimum value and thus don't work on VC4CL. Depending on how the kernel is written, it might work without specifying a fixed local size, so that VC4CL can decide on one...

Do you have any idea how to avoid such error?

Sadly no, not at the moment at least. The register allocation of VC4C is non-deterministic, so if a kernel has a certain complexity, then register allocation will succeed sometimes and fail other times...

Besides, for the CL compilation time, I was wondering do you have any suggestion to walk around it? Compile the CL code is pretty time-consuming and I have to wait for minutes even if I made a small modification to the code...

If darknet compiles all kernels from the same place, then maybe adding caching there would be the easiest solution. E.g. create a hash of kernel source code + options, check in some folder if a file with that hash exists. If not, compile and on success store with that hash in the folder.

Thanks! I reduced the local size and it worked. But I have another problem that the program gets stuck at some CL interface functions.
The first place is pull_network_output, which pulls array from opencl. And the program stuck at this clEnqueueReadBuffer.
After I commented out the pull_network_output function, there is another place to stuck. When the program is about to finish, the function clFinish stuck.
Do you have any idea how to solve these problems?

Looks like some event gets stuck/takes long and the successive events have to wait. Depending on how the kernel is executed, this could mean that the kernel execution hangs.
If you run the program with the VC4CL_DEBUG=events environment variable set and post the standard output, maybe I could spot the issue. Also, how long did you leave it running?

Thanks to your suggestion, I changed the code so that the kernel code is cached. Loading and building the cached program is much faster than compiling the source. Now I don't need to wait for a long time to debug the program.
I ran the program with VC4CL_DEBUG=events. When the program is stuck, the console output is
[VC4CL](VC4CL Queue Han): Executing event action: run kernel 0x0x920778 (im2col_gpu_kernel) with 2621 instructions, 12 parameters and 12, 1, 1 (3072, 1, 1) work-items

Then I wait for several minutes and it outputs another line:
[VC4CL](VC4CL Queue Han): Executing event action: run kernel 0x0x900008 (gemm_kernel) with 1314 instructions, 18 parameters and 8, 1, 1 (8, 131072, 1) work-items

Then I wait for 10+ minutes, it does not output any other things.

So the first kernel seems to take very long for its 3072/12 = 256 work-groups. Unless a single work-item does a huge amount of calculations, they should probably finish in less than a minute.
The second kernel runs 131072 work-groups, which definitively takes some time. I don't know whether 20+ minutes is okay or not...

im2col_gpu_kernel and gemm_kernel are compiled and built during program initialization and seem not relevant to clEnqueueReadBuffer. Do you have any idea?

Without having looked at the darknet code in detail, I would assume it schedules the kernels for execution and then sets their events as dependencies for the clEnqueueReadBuffer, which then blocks until the kernels finish. This is presumably why this function seems to take so long (while in fact it waits for the kernels to finish).
To check whether the kernel executions finish successfully or time out (in which case the GPU gets into some weird state), you could also enable the execution debug flag, i.e. with VC4CL_DEBUG=events,execution. This might dump a lot of info to the standard output, but the important line would be after the kernel executes/hangs for a few minutes, there should be a "Execution: successful" or "Execution: failed" line which tells whether the kernel execution succeeded (just on a firmware level, not necessarily with correct data) or not (i.e. the execution took too long and was aborted). Also a few lines above you will see the calculated timeout before the kernel execution is considered hung and will be aborted.
I suspect that the code generated for these kernels is somehow either wrong and hangs the QPUs or is far too slow and thus the kernel executions time out. If the QPUs are hung, then everything after that will also just hang until they are reset...

I run the program with VC4CL_DEBUG=events,execution flag, but still did get no idea. As far as I observed. There is only Execution: successful, there is no Execution: failed. The program has several layers and the code for each layer is basically the same. I observed that the program successfully process the first two layers, and got stuck at later layers. I attached the two log files here log.log and log0.log.
However, when I run the code without VC4CL_DEBUG=events,execution flag, the program successfully proceeds to the last layer (which is the first time to call clEnqueueReadBuffer ). I checked the return value of the CL invocation functions and they are all CL_SUCCESS. I was wondering is it because the computation on the VPU is asynchronous with the CPU program?

@doe300 hi, I also always encounter gnutls_handshake() failed: The TLS connection was non-properly terminated. error after typing cmake .. in VC4C.
pi@raspberrypi:~/opencl/VC4C2/build $ cmake ..
CMake Deprecation Warning at CMakeLists.txt:4 (cmake_policy):
  The OLD behavior for policy CMP0026 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- VC4CL standard library headers found: /home/pi/opencl/VC4C2/../VC4CLStdLib/include/
-- Using CMake 3.14+ FetchContent to include dependencies...
[ 11%] Performing update step for 'spirv-headers-populate'
fatal: unable to access 'https://github.com/KhronosGroup/SPIRV-Headers.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.
CMake Error at /home/pi/opencl/VC4C2/build/_deps/spirv-headers-subbuild/spirv-headers-populate-prefix/tmp/spirv-headers-populate-gitupdate.cmake:55 (message):
  Failed to fetch repository
  'https://github.com/KhronosGroup/SPIRV-Headers.git'

make[2]: *** [CMakeFiles/spirv-headers-populate.dir/build.make:97: spirv-headers-populate-prefix/src/spirv-headers-populate-stamp/spirv-headers-populate-update] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/spirv-headers-populate.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

CMake Error at /usr/share/cmake-3.16/Modules/FetchContent.cmake:915 (message):
  Build step for spirv-headers failed: 2
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FetchContent.cmake:1006 (__FetchContent_directPopulate)
  /usr/share/cmake-3.16/Modules/FetchContent.cmake:1047 (FetchContent_Populate)
  cmake/spirv-headers.cmake:9 (FetchContent_MakeAvailable)
  CMakeLists.txt:110 (include)

-- Configuring incomplete, errors occurred!
See also "/home/pi/opencl/VC4C2/build/CMakeFiles/CMakeOutput.log".

It seems that sometimes I can not fetch the dependency libraries. However, I can get the libraries by git clone https://github.com/KhronosGroup/SPIRV-Headers.git/.
So I'd like to manually clone the libraries. What changes should I make so that I can disable the fetch function in cmake and  manually clone the libraries? I guess I should put the gloned libraries under build/_dep?

The only thing that I can think of right now is to download the git project as an archive (e.g. via GitHub website) and then replace the line https://github.com/doe300/VC4C/blob/master/cmake/spirv-headers.cmake#L8 with something like
	FetchContent_Declare(SPIRV-Headers URL <path/to/project/archive.zip>)

hi @doe300 , I have solved the cache problem. As for the hanging problem, how can I find the wrong code? Can I upload generated code here and can you help me to look at it?

As for the hanging problem, how can I find the wrong code? Can I upload generated code here and can you help me to look at it?

That is very tricky, especially for rather complex code as I would assume darknet produces. If you give me the generated binary code and the VC4CL debug logs, I can try to run it in the software emulator with some default parameter values and hope that the reason for the hang/long execution time becomes obvious. If the behaviour depends on the actual input buffers etc., then it becomes a lot more complicated...


Add minimum frame count to regex tests

If the test fails on slower systems, this indicates that shelling out is too inefficient.

c4919f011f4bbd4836b95eb0b34ae15a395d4918


Fixing sender email address and cookie name conflicts in edX deployments

This fixes two distinct and unrelated issues that we are seeing in our edX installations.

When working across installations that share a subdomain (e.g. QA and production or residential staging and live) users are unable to stay logged into the corresponding edX installations. This is due to a conflict in the cookie names related to JWT sessions for e.g. the learner MFE. This adds environment scoping to all of the cookie names that might conflict across installations.
When sending bulk emails through the instructor dashboard we are seeing various failure modes. The root of the issue is that the BULK_EMAIL_DEFAULT_FROM_EMAIL value needs to be overridden or else those bulk emails will be sent from<EMAIL_ADDRESS>This adds an appropriate value for that setting to each of the configuration templates relating to our separate deployments.

lgtm, although it's an ambitious change set for one PR.
I think we should set EMAIL_USE_COURSE_ID_FROM_FOR_BULK to False as well, for all our open edx distributions. It defaults to False, but I think it will make more sense the next we look
For reference, I think https://github.com/openedx/edx-platform/pull/29001 changed the bulk mail settings, and it was backported to maple shortly before release.

Desired from email addresses for MITx Online and xPRO:

MITx Online<EMAIL_ADDRESS>xPRO<EMAIL_ADDRESS>

one more email address:

Residential MITx<EMAIL_ADDRESS>


Fix codestral name warning

Description
Avoid the warning message popup "mistralai/Codestral-22B[...] is not trained for tab-autocomplete ..." when using a codestral model as completion provider
Checklist

[X] The base branch of this PR is dev, rather than main
[X] The relevant docs, if any, have been updated or created

Screenshots

Testing
NA

@jugodfroy thanks for the PR! It looks like a lot of merge conflicts showed up. We also will only accept PRs to the dev branch. Would you mind quickly re-applying the changes there, and then I'm excited to accept the contribution!

Yep, thanks for you work btw !


Update properties feedstock to version 0.3.5

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Cannot access click event properties

Thank you for taking the time to report an issue with react-d3-tree!
Feel free to delete any questions that do not apply.
Are you reporting a bug, or opening a feature request?
Bug
What is the actual behavior/output?
When clicking a node, the onClick property function is run, as expected. But the event object passed to it gets nullified before I can access any properties.
I want to detect if a user is holding the shift key while clicking a node. Sounds simple enough.
I want the event object to not be null by the time I try and access it.
Can you consistently reproduce the issue/create a reproduction case (e.g. on https://codesandbox.io)?
I asked this on stack overflow: https://stackoverflow.com/questions/53643198/react-synthetic-event-strange-behavior/53646853#53646853
and the answer suggests I add the persist() call on the events in this library. Is that correct?
you can try it on codesandbox: https://codesandbox.io/s/w7qz6z3rjk
But the click events always give an undefined event object here.
So I created a barebones repo: https://github.com/mwilde345/reactBrokenClick
What version of react-d3-tree are you using?
latest

Fixed in v1.12.1.
Thanks for pointing this out, this bug has clearly been hiding in the implementation for a while.
Weirdly I couldn't reproduce it the way it was on the codesandbox (and your example repo), I only managed to reproduce it myself by mocking asynchronous behaviour:
  handleClick(d,evt) {
    setTimeout(() => console.log(evt), 1000);
  }

Closing the issue but feel free to reopen if this still seems to be an issue.

wow! Thanks for getting to this so quickly, it works a charm.


Recorded Future Add Image Logos

Required items, please complete
Change(s):

See guidance below

Reason for Change(s):

See guidance below

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

See guidance below

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

Version updated:

Yes
Detections/Analytic Rule templates are required to have the version updated

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes/No/Need Help

Note: If updating a detection, you must update the version field.

Before the submission has been made, please look at running the KQL and Yaml Validation Checks locally.
https://github.com/Azure/Azure-Sentinel#run-kql-validation-locally

Checked that the validations are passing and have addressed any issues that are present:

Yes/No/Need Help

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

Hi @lindarecfut, can you please change the API versions to 2022-02-01, this will fix the failing validation. Thanks!

Hi @lindarecfut, can you please fix the failing validations in create ui?

Hi @lindarecfut, we have updated the failed package please include below attached createUiDefinition.json and 2.0.4 zip file.
createUiDefinition.zip
2.4.0.zip

Hi @lindarecfut, we have shared the rectified package please act on this accordingly. Thanks

Hi @lindarecfut, we have shared the rectified package please act on this accordingly. Thanks

Hi @lindarecfut, I look forward to hearing back from you. Thanks

Hi @lindarecfut, we have shared the rectified package please act on this accordingly. Thanks

Hi @lindarecfut, Please act on the rectified package we have shared with you. Thanks

We wanted to check on the status of PR #8033. PR is pending for more than 30 days. Please let us know if you need any assistance to review this PR. Per our standard operating procedures if no response is received in the next 7 business days, we will close this PR. Thank you for your cooperation.

Since we have not received a response in the last 7 days, we are closing your PR #8033 per our standard operating procedures. If you still need support for this issue, you can re-open the PR at any time.
If you do re-open, we simply request that you ensure the PR has response to the last request. Thank you for your cooperation.


Send  rather than index number

Just found this tonight and figured it'd be a good use for RGB lights attached to an ESP8266 that have a variety of custom light modes (rainbow, theater, tv, etc) that the default light color picker just doesn't cover.
Unfortunately, sending an index number isn't useful for my situation, so I tweaked my local code to send the text instead.
line 94: reqUrl = this.baseUrl + '/' + this.multiswitch[idx];
I'm not sure if this could become a config option or not, but wanted to say thanks.

Hey sorry I never saw this, the repo was updated so you can define custom URL paths now. I built this originally for my simple setup which was kind of naive.
Hope it helps!


chore: eslint 7.1.0

Codecov Report

Merging #35 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #35   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           21        21
  Lines          437       437
  Branches        77        77
=========================================
  Hits           437       437

Impacted Files
Coverage Δ

packages/eslint-plugin-codegen/src/index.ts
100.00% <ø> (ø)

packages/io-ts-extra/src/util.ts
100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 65491d7...2769bb3. Read the comment docs.


Security section

Add security documentation
Signed-off-by: Smriti S<EMAIL_ADDRESS>

Preview environment: https://ci.pr.harness.io/pr-627

Preview environment: https://ci.pr.harness.io/pr-627

Preview environment: https://ci.pr.harness.io/pr-627

Preview environment: https://ci.pr.harness.io/pr-627

The google doc references should be avoided and this content needs to be brought into the HDH too.  We also need to add our recommended PSPs/policy specs into HDH as YAMLs embedded in markdown. Adding @uditgaurav for your help on this.

Preview environment: https://ci.pr.harness.io/pr-627

Preview environment: https://ci.pr.harness.io/pr-627

Preview environment: https://ci.pr.harness.io/pr-627


fix stairs behaviour

In datagen.jl, each stair step starts one element later than would be expected. For comparison see the regular step which steps 'on' at exactly the value specified in the offset keyword argument.
Programmatically this is because the function used ceil always rounds up, then when it is exactly at the upper bound of the previous stair-step, it doesn't round it rounds to itself.
Perhaps floor could be used with the code slightly modified, instead of the current ceil form.

also see #5 - test needs to be added (edited and uncommented) after this is fixed

fixed by d01ad76ef3c04b84001f780cba776c73a973322c


Fix typo in ChangeLog

Merged. Thank you, sir!

@allinurl Excuse me. I think you've pressed the wrong button.


[SPARK-47932][SQL][TEST] Avoid using legacy commons-lang

What changes were proposed in this pull request?

Remove usage of commons-lang and in favor commons-lang3
Why are the changes needed?

Migrate commons-lang to commons-lang3
Does this PR introduce any user-facing change?

No
How was this patch tested?

Pass GA.
Was this patch authored or co-authored using generative AI tooling?

No.

Structured Streaming supports writing Spark SQL and using SQL to write stream processing logic. Is this possible, similar to the syntax of Flink. SQL can satisfy the flow processing process.

@smileyboy2019 the question is irrelevant to this PR, please ask questions in the mailing list or Slack.

@smileyboy2019 Please STOP spamming on this thread. You can refer to https://spark.apache.org/community.html to subscribe to Spark Mailing lists and ask questions.

Merged into master for Spark 4.0. Thanks @pan3793


Manager

Remove references to Manager (or at least state that it's no longer maintained)

Right. Should we still add a wiki page about it, e. g. what it did in the past?

Thanks! This looks good for now. I will close this ticket now. :)


Validate module name with regex

Purpose

To validate the module name with regex
To Modify the error message for ballerina command

Fixes #18466
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #21383 into ballerina-1.1.x will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.1.x   #21383   +/-   ##
================================================
  Coverage            15.21%   15.21%
================================================
  Files                   50       50
  Lines                 1341     1341
  Branches               208      208
================================================
  Hits                   204      204
  Misses                1121     1121
  Partials                16       16

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7e25f39...b296899. Read the comment docs.


WIP: Remove unnecessary code for android min sdk <14.

The min sdk level was changed to 14 in #5787
This PR removes now unnecessary code for api levels lower than the current min of 14.
There are three main parts split into 3 commits.

Miscellaneous api level checks.
Removing now unnecessary GLSurfaceViewAPI18/GLSurfaceView20API18 classes.
Merging AndroidInputThreePlus into AndroidInput.

+1 to have this added!

I wont have time to fully test for a few days, but otherwise it should be good.

That was a long few days. Tested as much as I could and nothing seems to have broken.


Add Pipeline API ADR [WIP]

Super likes to this one!! I'll share my feedback soon.

Quite an epic ADR.
I like most about it, but have a few questions:

Micro service deployment / remote endpoints: What is the background here? Is it planned to allow a single konduit-serving deployment to be spread along multiple containers? Or is this more for the case where we'd like to ship off something to an already existing and deployed service, so this effectively becomes some sort of RPC call?
Schema Validation: Wouldn't it be possible to make steps queryable for what input and output they want? Having a definition time checker for schema validation would be quite nice. But I guess that could be added in another step, and doesn't have to be built in right now.
Metadata: I like that input meta data is available at all steps. But wouldn't it be nice to have meta data be addable by the steps?
Mapping between model steps: In the end you acknowledge that naming mismatches may be a problem, maybe the easiest way instead of guessing is to make this explicit, and have a reusable "MappingStep" that just maps one name to another?

@treo Thanks for the questions and taking a look.

Micro service deployment / remote endpoints: What is the background here? Is it planned to allow a single konduit-serving deployment to be spread along multiple containers? Or is this more for the case where we'd like to ship off something to an already existing and deployed service, so this effectively becomes some sort of RPC call?

Yes, split between multiple containers is something we'll need. Not frequently, but some deployment situations will require this
.
Consider for example the following scenarios:

A pipeline with 2 models - a face detector (run on an edge device) and a powerful face verification model (run on a powerful remote server)
The idea is that the edge device does the initial detection, and only if a face is detected pass on the data to a remote server.
We can't and/or don't want to run the entire pipeline on one machine.
A pipeline that requires multiple docker containers for isolation
We can't embed every language in KS/Java like we do with Python; in some cases, we'll need to split things up into multiple docker containers.
C#, Matlab, R, Swift, etc come to mind here as things we might deploy in a separate docker image, even if all images are run on the one machine.
A situation where we need non-linear scaling of pipeline steps
For example: The first step does filtering (like in the face detection example) and we need 20 multi-core CPU machines to do that filtering. Then only 0.1% of the cases actually make it to one of 2 GPU machines; so our deployment is (20 CPU + 2 GPU) not (20 GPU)

Both aren't something we need right now, but I think it's inevitable that we'll run into some deployment scenarios where the current "single process monolithic" design won't work.

Schema Validation: Wouldn't it be possible to make steps queryable for what input and output they want? Having a definition time checker for schema validation would be quite nice. But I guess that could be added in another step, and doesn't have to be built in right now.

That's not a bad idea, but it would have to be optional... not all steps will really know their inputs/outputs until runtime. And some inputs/outputs will be dynamic (most won't be though).
For example, in model steps - we won't know the placeholder/input names (or even number of inputs/outputs) until we load a specific model.
But yes, let's revisit this.

Metadata: I like that input meta data is available at all steps. But wouldn't it be nice to have meta data be addable by the steps?

Yes, I don't think I covered that, but I something like that in mind too.
So for example an image loading step could return metadata about the original image (format, dimensions, filename, etc) back to the user, no matter how many other steps are present after the image loading step.

Mapping between model steps: In the end you acknowledge that naming mismatches may be a problem, maybe the easiest way instead of guessing is to make this explicit, and have a reusable "MappingStep" that just maps one name to another?

For the ("input", "mask") vs. ("features", "featureMask") type labeling problem - yes, I don't see any alternative to that (other than the unambiguous cases like single array input, etc)

I'll leave this one open another couple of days - then, (unless there's any additional feedback/questions/concerns) I'll mark this as accepted.
cc @agibsonccc

Marked as accepted. Merging.


Update README.md

I am adding a  Redis cloud platform where we can earn free t-shirts

@Amit-Sagar Where is it mentioned in the link?

I add the full details in the last of read.md

@Joonsang1994 I added the whole details in  the last of README.md file

No, I mean to say where does it mention about the swag in the link?

@Joonsang1994 yes ! I added the t-shirt image URL and the Url where we get the t-shirt

@Joonsang1994  please check line 275 to 279 in README.md file

https://redislabs.com/try-free/. In this link, where does it mention about the swag?

yes!

go to the link signup and create your first database you will get a free T-shirt.

I had registered previously, I have registered again, but I didn't get any intimation regarding a tshirt. Have you got one? Can you share any link/screen shot where it mentions that you will get a tshirt?


Remove old kernels

Applies To

[X] Notebooks (.ipynb files)
[ ] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
Hi, I deleted kernels using:
NAME=myenv
conda env remove --name NAME
jupyter kernelspec uninstall NAME

However even after restarting VS Code, they still show up in the kernel selection list. How can I update this list to remove the kernels? They don't show up when I run conda env list or Jupiter kernelspec list, so I'm not sure where this info is being saved.
VS Code Version
Insiders - latest
Jupyter Extension Version
v2023.1.2000141019
Jupyter logs
No response
Coding Language and Runtime Version
Python3
Language Extension Version (if applicable)
No response
Anaconda Version (if applicable)
conda 4.8.4
Running Jupyter locally or remotely?
Remote

Closing as a duplicate of #6164,
this has been fixed in the latest pre-release version (you'll need vscode insiders to test that out for now), or wait for the next release to get this fix

@DonJayamanne Hi, I have a fully up to date version of Insiders and still face this issue..

Please could you enable logging as follows:

Open settings & go into Jupyter->Logging
Change the value to verbose
Reload VS Code,
Attempt to repro the issue & then copy the output from the Jupyter output panel.

Also

Also please let me know what kernelspec should not appear in the list
And please could you try clicking the refresh button on the top right hand corner of the kernel picker & then share the logs

Closing this issue as its been over 4 weeks, since the information was requested.
We'll be happy to reopen the issue when the requested information has been provided.


Fixed E128 flake8 warnings.

I don't particularly like putting the formating operator and parameters on a new line but I'm not sure it's worth making the patch even larger. This reviewing session made me wish Github had a "Changes you haven't reviewed" or "Changes since your last visit" feature.
LGTM otherwise. I suppose this is going to make a lot of PR stale.


Write a C# program to check leap year

Description
Write a C# program to check leap year
Leap years are years that are divisible by 4, but not by 100, unless they are also divisible by 400. For example, 1996 is a leap year, but 1900 is not. Write a function that takes a year as a parameter and returns True if the year is a leap year, False otherwise.
Input  : 2016
Output : Leap Year

How to contribute

Save the solution in program/CheckLeapYear.cs file
Add CheckLeapYear.cs file in check-leap-year folder

!assign

Hey @Khushi260,
This issue has been assigned to you for more than 15 days.
We are unassigning you from this issue.
If you are still interested in contributing to this issue, please get auto-assigned on the issue by commenting !assign again.
Thanks for your contributions :)


Way to adjust the volume of each sound alert in the config

Maybe I am being silly, and simply can't figure it out, but I would love to have some way to change how loud the pomo timer alarms are and by adjusting my desktop audio!
If I am simply missing how to do this, please tell me how to <3
thank you again moh,
Fox

I believe we have resolved this privately @TheAntiqueFox please re-open if any issue persists:)

I would also like to know how to adjust how loud the alarm sound is

Thanks for reaching out @churchkey90
You can do it directly through OBS filters as follows:

Click on triple dots &   Click on filter in opened menu

Thank you so much. I am using Streamlabs Desktop and forgot to activate the option to change audio setting right in Streamlabs to adjust the computer audio output separately from the alarms. Thank you for the quick reply.

@churchkey90 My pleasure! Feel free to ask my anything


Numbers and digits without the bars.

This node is great. I would love to see the same node but without the bars showing. Numbers (and label) only. Do you think that is possible?
Kind regards,
William

Well, showing just a value (with unit added maybe) is kind of simple task which can be achieved with native dashboard elements like ui_text node or if something more fancy needed then ui_template node where you can decorate things with CSS.
Can't really see any reason to add such configuration options for this node. It is kind of over-complicated already.

You were absolutely right! Never knew of this option!
Kind regards,
Willem Brakenhoff

Van: hotNipi @.>
Verzonden: Thursday, February 3, 2022 9:47:38 AM
Aan: hotNipi/node-red-contrib-ui-level @.>
CC: WillemBrx @.>; Author @.>
Onderwerp: Re: [hotNipi/node-red-contrib-ui-level] Numbers and digits without the bars. (Issue #41)
Well, showing just a value (with unit added maybe) is kind of simple task which can be achieved with native dashboard elements like ui_text node or if something more fancy needed then ui_template node where you can decorate things with CSS.
Can't really see any reason to add such configuration options for this node. It is kind of over-complicated already.
—
Reply to this email directly, view it on GitHubhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FhotNipi%2Fnode-red-contrib-ui-level%2Fissues%2F41%23issuecomment-1028736081&data=04|01||1768bb421e55476d16fb08d9e6f1d588|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637794748603538843|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=Razg7n%2BdBs5318aIEg0NE7X3596SSICOGVcTizb6RK8%3D&reserved=0, or unsubscribehttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAXSGCC725VC2CFFSL2KHMULUZI6KVANCNFSM5NOIN6KA&data=04|01||1768bb421e55476d16fb08d9e6f1d588|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637794748603538843|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=P9bDZu4%2BxzVF21hu5hqz%2F%2Bxa0%2BaDv2LgF%2FxgNrFVCaU%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01||1768bb421e55476d16fb08d9e6f1d588|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637794748603538843|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=IAAWwkQbFS5C%2Fd0OwtJWFxzFlea7cBEqC%2FR1xtPv6Is%3D&reserved=0 or Androidhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01||1768bb421e55476d16fb08d9e6f1d588|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637794748603538843|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=fyWyvUI%2BX%2By2W1J1cwPPGg9OGixOKgAdYrtVumdNEaM%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>