ArgumentError: 3:empty CommitMessage.
Sentry error: https://new-sentry.gitlab.net/organizations/gitlab/issues/1649590
GRPC::InvalidArgument: 3:empty CommitMessage.
from grpc/generic/active_call.rb:29:in `check_status'
from grpc/generic/active_call.rb:189:in `attach_status_results_and_complete_call'
from grpc/generic/active_call.rb:424:in `client_streamer'
from grpc/generic/client_stub.rb:257:in `block in client_streamer'
from grpc/generic/interceptors.rb:170:in `intercept!'
from grpc/generic/client_stub.rb:256:in `client_streamer'
from grpc/generic/service.rb:176:in `block (3 levels) in rpc_stub_class'
from lib/gitlab/gitaly_client.rb:292:in `execute'
from lib/gitlab/gitaly_client/call.rb:19:in `block in call'
from lib/gitlab/gitaly_client/call.rb:61:in `recording_request'
from lib/gitlab/gitaly_client/call.rb:18:in `call'
from lib/gitlab/gitaly_client.rb:281:in `call'
from lib/gitlab/gitaly_client/with_feature_flag_actors.rb:31:in `block in gitaly_client_call'
from lib/gitlab/gitaly_client.rb:650:in `with_feature_flag_actors'
from lib/gitlab/gitaly_client/with_feature_flag_actors.rb:25:in `gitaly_client_call'
from lib/gitlab/gitaly_client/operation_service.rb:546:in `user_commit_files'
from lib/gitlab/git/repository.rb:1028:in `block in commit_files'
from lib/gitlab/git/wraps_gitaly_errors.rb:7:in `wrapped_gitaly_errors'
from lib/gitlab/git/repository.rb:1027:in `commit_files'
from app/models/repository.rb:916:in `block in commit_files'
from app/models/repository.rb:891:in `with_cache_hooks'
from app/models/repository.rb:916:in `commit_files'
from app/models/repository.rb:846:in `create_file'
from app/services/files/create_service.rb:22:in `create_transformed_commit'
from app/services/files/create_service.rb:10:in `create_commit!'
from app/services/commits/create_service.rb:31:in `execute'
from app/controllers/concerns/creates_commit.rb:33:in `create_commit'
from app/controllers/projects/blob_controller.rb:61:in `create'
Problem
It's possible to provide an empty commit message to blob creation controller.
Solution
Add a validation to return an error instead of an exception.
Edited by 🤖 GitLab Bot 🤖