Skip to content

actually log error on exit - #3344

Merged
butonic merged 1 commit into
mainfrom
antivirus-log-error
Aug 19, 2026
Merged

actually log error on exit#3344
butonic merged 1 commit into
mainfrom
antivirus-log-error

Conversation

@butonic

@butonic butonic commented Aug 18, 2026

Copy link
Copy Markdown
Member

exiting withoul logging is not nice ... fmt.Errorf ... does not log the error, it just renders the string and returns it ...

@codacy-production

codacy-production Bot commented Aug 18, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 31 duplication

Metric Results
Duplication 31

View in Codacy

🟢 Coverage 0.00% diff coverage · +0.00% coverage variation

Metric Results
Coverage variation +0.00% coverage variation (-1.00%)
Diff coverage 0.00% diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (5056d4a) 84104 19349 23.01%
Head commit (dcd717f) 84104 (+0) 19349 (+0) 23.01% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#3344) 1 0 0.00%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@pbleser-oc pbleser-oc left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@butonic
butonic enabled auto-merge August 18, 2026 15:22
@dschmidt

Copy link
Copy Markdown
Contributor

Since #3140 you can simply return the error instead:

if err != nil {
    return fmt.Errorf("failed to initialize antivirus service: %w", err)
}

Supervised mode: the service runs in-process (runtime/service/service.go calls antivirus.Execute directly), so os.Exit(1) kills the whole opencloud process and bypasses suture's restart logic. Returning the error lets the supervisor log it structured via Err().

Standalone mode: since #3140 cobra is silenced, main() prints the error to stderr and exits 1, so nothing is lost there either.

Also matches the debug server block below, which already returns its error. The Str("server", "antivirus") field would be redundant anyway, the logger already carries the service name.

@dschmidt
dschmidt disabled auto-merge August 18, 2026 15:50
@dschmidt

dschmidt commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Sorry for disabling auto-merge, I would like you to look at my comment before it's merged 🙈

If you disagree, just reenable auto-merge/click merge

edit:
The proper way would have probably been to request a change, but then it's more annoying to overrule than just reenabling auto-merge

@butonic
butonic merged commit 6d2cbd3 into main Aug 19, 2026
63 of 64 checks passed
@github-project-automation github-project-automation Bot moved this from Qualification to Done in OpenCloud Team Board Aug 19, 2026
@butonic
butonic deleted the antivirus-log-error branch August 19, 2026 07:39
@butonic

butonic commented Aug 19, 2026

Copy link
Copy Markdown
Member Author

@dschmidt Absolutely true. However, this is not the only place where we exit(1) 😞 I'll create an issue to track that.

@openclouders openclouders mentioned this pull request Aug 19, 2026
renovate Bot added a commit to sdwilsh/ansible-playbooks that referenced this pull request Aug 29, 2026
##### [\`7.5.0\`](https://github.com/opencloud-eu/opencloud/blob/HEAD/CHANGELOG.md#750---2026-08-25)

##### ❤️ Thanks to all contributors! ❤️

[@AlexAndBear](https://github.com/AlexAndBear), [@JammingBen](https://github.com/JammingBen), [@Svanvith](https://github.com/Svanvith), [@aduffeck](https://github.com/aduffeck), [@butonic](https://github.com/butonic), [@fschade](https://github.com/fschade), [@junkerderprovinz](https://github.com/junkerderprovinz), [@kulmann](https://github.com/kulmann), [@maki5](https://github.com/maki5), [@pbleser-oc](https://github.com/pbleser-oc), [@rhafer](https://github.com/rhafer), [@saw-jan](https://github.com/saw-jan), [@schweigisito](https://github.com/schweigisito), [@v-scharf](https://github.com/v-scharf)

##### ✅ Tests

- test(api): update php test dependencies \[[#3335](opencloud-eu/opencloud#3335)]
- fix(acceptance): fix running acceptance tests against host on Linux \[[#3358](opencloud-eu/opencloud#3358)]
- fix(graph): adding the same user as multiple members in a group ([#3354](opencloud-eu/opencloud#3354)) \[[#3356](opencloud-eu/opencloud#3356)]
- test(api): fix share role update test scenario \[[#3322](opencloud-eu/opencloud#3322)]
- test: add api tests for cross-space search index mutation \[[#3320](opencloud-eu/opencloud#3320)]
- ci: run search acceptance tests against OpenSearch in nightly \[[#3302](opencloud-eu/opencloud#3302)]
- api-test: notification settings and getting email notifications \[[#3281](opencloud-eu/opencloud#3281)]
- api-test: add posixfs scan and consistency CLI tests \[[#3263](opencloud-eu/opencloud#3263)]
- api-test: replace sleeps with WaitHelper poll for async state \[[#3239](opencloud-eu/opencloud#3239)]

##### 📈 Enhancement

- feat(thumbnails): extend list of default resolutions \[[#3386](opencloud-eu/opencloud#3386)]
- ability to disable grpc and/or event consumer for event history service \[[#3279](opencloud-eu/opencloud#3279)]
- feat(graph): add LibreGraphContentType on drive \[[#3355](opencloud-eu/opencloud#3355)]
- feat: update space template image \[[#3324](opencloud-eu/opencloud#3324)]
- feat(web): add rclone-crypt to default apps \[[#3313](opencloud-eu/opencloud#3313)]
- enhance: send events for adding/removing favourite items \[[#3229](opencloud-eu/opencloud#3229)]
- allow tuning the proxies http client \[[#3278](opencloud-eu/opencloud#3278)]
- feat(web): add yjsServerUrl config \[[#3259](opencloud-eu/opencloud#3259)]
- feat(posixfs): [#3182](opencloud-eu/opencloud#3182) add basepath option in the "posixfs scan" command \[[#3235](opencloud-eu/opencloud#3235)]

##### 🐛 Bug Fixes

- fix(search): refresh the opensearch index after a write \[[#3388](opencloud-eu/opencloud#3388)]
- fix(thumbnails): respect the requested height in libvips builds \[[#3377](opencloud-eu/opencloud#3377)]
- refactor datagateway into proxy middleware \[[#3289](opencloud-eu/opencloud#3289)]
- Only log a debug message when an item is still in processing state \[[#3158](opencloud-eu/opencloud#3158)]
- fix(postprocessing): retry publishing events instead of killing the server \[[#3347](opencloud-eu/opencloud#3347)]
- actually log error on exit \[[#3344](opencloud-eu/opencloud#3344)]
- fix(activitylog): log missing parent id cache entry at debug level \[[#3325](opencloud-eu/opencloud#3325)]
- fix restore file version for shared resource \[[#3268](opencloud-eu/opencloud#3268)]
- Fix missing favorite flag on opensearch hits \[[#3252](opencloud-eu/opencloud#3252)]

##### 📚 Documentation

- docs: clarify custom role bootstrap behavior \[[#3366](opencloud-eu/opencloud#3366)]

##### 📦️ Dependencies

- \[full-ci] chore: bump web to v7.4.0 \[[#3399](opencloud-eu/opencloud#3399)]
- build(deps): bump google.golang.org/grpc from 1.83.0 to 1.83.1 \[[#3396](opencloud-eu/opencloud#3396)]
- build(deps): bump github.com/stretchr/testify from 1.12.0 to 1.12.1 \[[#3395](opencloud-eu/opencloud#3395)]
- build(deps): bump github.com/go-chi/chi/v5 from 5.3.1 to 5.3.2 \[[#3394](opencloud-eu/opencloud#3394)]
- build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.29.0 to 2.30.0 \[[#3380](opencloud-eu/opencloud#3380)]
- build(deps): bump golang.org/x/image from 0.44.0 to 0.45.0 \[[#3381](opencloud-eu/opencloud#3381)]
- build(deps): bump github.com/beevik/etree from 1.7.0 to 1.7.1 \[[#3382](opencloud-eu/opencloud#3382)]
- build(deps): bump github.com/nats-io/nats-server/v2 from 2.14.4 to 2.14.5 \[[#3357](opencloud-eu/opencloud#3357)]
- build(deps): bump go.opentelemetry.io/contrib/zpages from 0.69.0 to 0.70.0 \[[#3360](opencloud-eu/opencloud#3360)]
- build(deps): bump github.com/sirupsen/logrus from 1.9.4 to 1.10.0 \[[#3359](opencloud-eu/opencloud#3359)]
- chore: bump reva to latest main \[[#3329](opencloud-eu/opencloud#3329)]
- build(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.0 \[[#3341](opencloud-eu/opencloud#3341)]
- build(deps): bump golang.org/x/net from 0.57.0 to 0.58.0 \[[#3342](opencloud-eu/opencloud#3342)]
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.32.0 to 2.32.1 \[[#3340](opencloud-eu/opencloud#3340)]
- build(deps): bump github.com/testcontainers/testcontainers-go/modules/opensearch from 0.43.0 to 0.44.0 \[[#3303](opencloud-eu/opencloud#3303)]
- build(deps): bump github.com/opencloud-eu/libre-graph-api-go \[[#3326](opencloud-eu/opencloud#3326)]
- build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.44.0 to 1.45.0 \[[#3306](opencloud-eu/opencloud#3306)]
- build(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.69.0 to 0.70.0 \[[#3305](opencloud-eu/opencloud#3305)]
- build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.44.0 to 1.45.0 \[[#3280](opencloud-eu/opencloud#3280)]
- build(deps): bump github.com/rogpeppe/go-internal from 1.15.0 to 1.16.0 \[[#3250](opencloud-eu/opencloud#3250)]
- build(deps): bump github.com/kovidgoyal/imaging from 1.8.22 to 1.8.23 \[[#3135](opencloud-eu/opencloud#3135)]
- build(deps): bump go.opentelemetry.io/otel/trace from 1.44.0 to 1.45.0 \[[#3266](opencloud-eu/opencloud#3266)]
sdwilsh pushed a commit to sdwilsh/ansible-playbooks that referenced this pull request Aug 29, 2026
#1842)

##### [\`7.5.0\`](https://github.com/opencloud-eu/opencloud/blob/HEAD/CHANGELOG.md#750---2026-08-25)

##### ❤️ Thanks to all contributors! ❤️

[@AlexAndBear](https://github.com/AlexAndBear), [@JammingBen](https://github.com/JammingBen), [@Svanvith](https://github.com/Svanvith), [@aduffeck](https://github.com/aduffeck), [@butonic](https://github.com/butonic), [@fschade](https://github.com/fschade), [@junkerderprovinz](https://github.com/junkerderprovinz), [@kulmann](https://github.com/kulmann), [@maki5](https://github.com/maki5), [@pbleser-oc](https://github.com/pbleser-oc), [@rhafer](https://github.com/rhafer), [@saw-jan](https://github.com/saw-jan), [@schweigisito](https://github.com/schweigisito), [@v-scharf](https://github.com/v-scharf)

##### ✅ Tests

- test(api): update php test dependencies \[[#3335](opencloud-eu/opencloud#3335)]
- fix(acceptance): fix running acceptance tests against host on Linux \[[#3358](opencloud-eu/opencloud#3358)]
- fix(graph): adding the same user as multiple members in a group ([#3354](opencloud-eu/opencloud#3354)) \[[#3356](opencloud-eu/opencloud#3356)]
- test(api): fix share role update test scenario \[[#3322](opencloud-eu/opencloud#3322)]
- test: add api tests for cross-space search index mutation \[[#3320](opencloud-eu/opencloud#3320)]
- ci: run search acceptance tests against OpenSearch in nightly \[[#3302](opencloud-eu/opencloud#3302)]
- api-test: notification settings and getting email notifications \[[#3281](opencloud-eu/opencloud#3281)]
- api-test: add posixfs scan and consistency CLI tests \[[#3263](opencloud-eu/opencloud#3263)]
- api-test: replace sleeps with WaitHelper poll for async state \[[#3239](opencloud-eu/opencloud#3239)]

##### 📈 Enhancement

- feat(thumbnails): extend list of default resolutions \[[#3386](opencloud-eu/opencloud#3386)]
- ability to disable grpc and/or event consumer for event history service \[[#3279](opencloud-eu/opencloud#3279)]
- feat(graph): add LibreGraphContentType on drive \[[#3355](opencloud-eu/opencloud#3355)]
- feat: update space template image \[[#3324](opencloud-eu/opencloud#3324)]
- feat(web): add rclone-crypt to default apps \[[#3313](opencloud-eu/opencloud#3313)]
- enhance: send events for adding/removing favourite items \[[#3229](opencloud-eu/opencloud#3229)]
- allow tuning the proxies http client \[[#3278](opencloud-eu/opencloud#3278)]
- feat(web): add yjsServerUrl config \[[#3259](opencloud-eu/opencloud#3259)]
- feat(posixfs): [#3182](opencloud-eu/opencloud#3182) add basepath option in the "posixfs scan" command \[[#3235](opencloud-eu/opencloud#3235)]

##### 🐛 Bug Fixes

- fix(search): refresh the opensearch index after a write \[[#3388](opencloud-eu/opencloud#3388)]
- fix(thumbnails): respect the requested height in libvips builds \[[#3377](opencloud-eu/opencloud#3377)]
- refactor datagateway into proxy middleware \[[#3289](opencloud-eu/opencloud#3289)]
- Only log a debug message when an item is still in processing state \[[#3158](opencloud-eu/opencloud#3158)]
- fix(postprocessing): retry publishing events instead of killing the server \[[#3347](opencloud-eu/opencloud#3347)]
- actually log error on exit \[[#3344](opencloud-eu/opencloud#3344)]
- fix(activitylog): log missing parent id cache entry at debug level \[[#3325](opencloud-eu/opencloud#3325)]
- fix restore file version for shared resource \[[#3268](opencloud-eu/opencloud#3268)]
- Fix missing favorite flag on opensearch hits \[[#3252](opencloud-eu/opencloud#3252)]

##### 📚 Documentation

- docs: clarify custom role bootstrap behavior \[[#3366](opencloud-eu/opencloud#3366)]

##### 📦️ Dependencies

- \[full-ci] chore: bump web to v7.4.0 \[[#3399](opencloud-eu/opencloud#3399)]
- build(deps): bump google.golang.org/grpc from 1.83.0 to 1.83.1 \[[#3396](opencloud-eu/opencloud#3396)]
- build(deps): bump github.com/stretchr/testify from 1.12.0 to 1.12.1 \[[#3395](opencloud-eu/opencloud#3395)]
- build(deps): bump github.com/go-chi/chi/v5 from 5.3.1 to 5.3.2 \[[#3394](opencloud-eu/opencloud#3394)]
- build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.29.0 to 2.30.0 \[[#3380](opencloud-eu/opencloud#3380)]
- build(deps): bump golang.org/x/image from 0.44.0 to 0.45.0 \[[#3381](opencloud-eu/opencloud#3381)]
- build(deps): bump github.com/beevik/etree from 1.7.0 to 1.7.1 \[[#3382](opencloud-eu/opencloud#3382)]
- build(deps): bump github.com/nats-io/nats-server/v2 from 2.14.4 to 2.14.5 \[[#3357](opencloud-eu/opencloud#3357)]
- build(deps): bump go.opentelemetry.io/contrib/zpages from 0.69.0 to 0.70.0 \[[#3360](opencloud-eu/opencloud#3360)]
- build(deps): bump github.com/sirupsen/logrus from 1.9.4 to 1.10.0 \[[#3359](opencloud-eu/opencloud#3359)]
- chore: bump reva to latest main \[[#3329](opencloud-eu/opencloud#3329)]
- build(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.0 \[[#3341](opencloud-eu/opencloud#3341)]
- build(deps): bump golang.org/x/net from 0.57.0 to 0.58.0 \[[#3342](opencloud-eu/opencloud#3342)]
- build(deps): bump github.com/onsi/ginkgo/v2 from 2.32.0 to 2.32.1 \[[#3340](opencloud-eu/opencloud#3340)]
- build(deps): bump github.com/testcontainers/testcontainers-go/modules/opensearch from 0.43.0 to 0.44.0 \[[#3303](opencloud-eu/opencloud#3303)]
- build(deps): bump github.com/opencloud-eu/libre-graph-api-go \[[#3326](opencloud-eu/opencloud#3326)]
- build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.44.0 to 1.45.0 \[[#3306](opencloud-eu/opencloud#3306)]
- build(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.69.0 to 0.70.0 \[[#3305](opencloud-eu/opencloud#3305)]
- build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.44.0 to 1.45.0 \[[#3280](opencloud-eu/opencloud#3280)]
- build(deps): bump github.com/rogpeppe/go-internal from 1.15.0 to 1.16.0 \[[#3250](opencloud-eu/opencloud#3250)]
- build(deps): bump github.com/kovidgoyal/imaging from 1.8.22 to 1.8.23 \[[#3135](opencloud-eu/opencloud#3135)]
- build(deps): bump go.opentelemetry.io/otel/trace from 1.44.0 to 1.45.0 \[[#3266](opencloud-eu/opencloud#3266)]

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants