server icon indicating copy to clipboard operation
server copied to clipboard

Edit Collection/Save throws error. Includes changing names of collection and access permissions.

Open cvondra opened this issue 1 year ago • 9 comments

Steps To Reproduce

From the current /dev build.

  1. Go to Vault, Collections, click on the collection.
  2. Click down carrot next to collection name in main pane. Choose edit info or access.
  3. Make change to collection OR access like adding user access.
  4. Click on Save

Expected Result

Expect change/modification to save.

Actual Result

Error is thrown.

From Console:

   PUT https://bitwarden.xxx.org/api/organizations/5fab9e5a-a827-42e6-955f-af8a00e5a217/collections/21c7996d-bdaa-468b-8450-af8a00e5a27f 500

(anonymous) @ zone.js:1586 D.i. @ zone.js:1022 nativeFetch @ api.service.ts:1783 (anonymous) @ api.service.ts:1779 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 Promise.then (async) y @ zone.js:608 m @ zone.js:619 t.scheduleTask @ zone.js:433 onScheduleTask @ zone.js:320 t.scheduleTask @ zone.js:423 e.scheduleTask @ zone.js:257 e.scheduleMicroTask @ zone.js:277 C @ zone.js:1316 P @ zone.js:1253 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 Promise.then (async) (anonymous) @ zone.js:1577 t @ zone.js:1351 B.t.then @ zone.js:1576 P @ zone.js:1220 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 l @ main.83c78a01bee272ba69f1.js:1 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 Promise.then (async) y @ zone.js:608 m @ zone.js:619 t.scheduleTask @ zone.js:433 onScheduleTask @ zone.js:320 t.scheduleTask @ zone.js:423 e.scheduleTask @ zone.js:257 e.scheduleMicroTask @ zone.js:277 C @ zone.js:1316 P @ zone.js:1253 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 Promise.then (async) (anonymous) @ zone.js:1577 t @ zone.js:1351 B.t.then @ zone.js:1576 P @ zone.js:1220 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 l @ main.83c78a01bee272ba69f1.js:1 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 Ks @ main.83c78a01bee272ba69f1.js:1 hmac @ main.83c78a01bee272ba69f1.js:1 (anonymous) @ encrypt.service.implementation.ts:174 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 Promise.then (async) y @ zone.js:608 m @ zone.js:619 t.scheduleTask @ zone.js:433 onScheduleTask @ zone.js:320 t.scheduleTask @ zone.js:423 e.scheduleTask @ zone.js:257 e.scheduleMicroTask @ zone.js:277 C @ zone.js:1316 P @ zone.js:1253 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 Promise.then (async) (anonymous) @ zone.js:1577 t @ zone.js:1351 B.t.then @ zone.js:1576 P @ zone.js:1220 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 l @ main.83c78a01bee272ba69f1.js:1 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 Promise.then (async) y @ zone.js:608 m @ zone.js:619 t.scheduleTask @ zone.js:433 onScheduleTask @ zone.js:320 t.scheduleTask @ zone.js:423 e.scheduleTask @ zone.js:257 e.scheduleMicroTask @ zone.js:277 C @ zone.js:1316 P @ zone.js:1253 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 Promise.then (async) (anonymous) @ zone.js:1577 t @ zone.js:1351 B.t.then @ zone.js:1576 P @ zone.js:1220 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 l @ main.83c78a01bee272ba69f1.js:1 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 Ks @ main.83c78a01bee272ba69f1.js:1 aesEncrypt @ main.83c78a01bee272ba69f1.js:1 (anonymous) @ encrypt.service.implementation.ts:168 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 e.invokeTask @ zone.js:529 b @ zone.js:1727 w @ zone.js:1758 x @ zone.js:1794 consoleLog.service.ts:51

   Async submit exception: [object Object]

write @ consoleLog.service.ts:51 error @ consoleLog.service.ts:28 (anonymous) @ bit-submit.directive.ts:44 (anonymous) @ catchError.ts:117 o._error @ OperatorSubscriber.ts:79 t.error @ Subscriber.ts:91 (anonymous) @ innerFrom.ts:94 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 Promise.then (async) y @ zone.js:608 m @ zone.js:619 t.scheduleTask @ zone.js:433 onScheduleTask @ zone.js:320 t.scheduleTask @ zone.js:423 e.scheduleTask @ zone.js:257 e.scheduleMicroTask @ zone.js:277 C @ zone.js:1316 P @ zone.js:1253 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 Promise.then (async) (anonymous) @ zone.js:1577 t @ zone.js:1351 B.t.then @ zone.js:1576 P @ zone.js:1220 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 l @ main.83c78a01bee272ba69f1.js:1 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 ei @ main.83c78a01bee272ba69f1.js:1 handleError @ main.83c78a01bee272ba69f1.js:1 (anonymous) @ api.service.ts:2044 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 Promise.then (async) y @ zone.js:608 m @ zone.js:619 t.scheduleTask @ zone.js:433 onScheduleTask @ zone.js:320 t.scheduleTask @ zone.js:423 e.scheduleTask @ zone.js:257 e.scheduleMicroTask @ zone.js:277 C @ zone.js:1316 P @ zone.js:1253 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 Promise.then (async) (anonymous) @ zone.js:1577 t @ zone.js:1351 B.t.then @ zone.js:1576 P @ zone.js:1220 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 l @ main.83c78a01bee272ba69f1.js:1 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 Promise.then (async) y @ zone.js:608 m @ zone.js:619 t.scheduleTask @ zone.js:433 onScheduleTask @ zone.js:320 t.scheduleTask @ zone.js:423 e.scheduleTask @ zone.js:257 e.scheduleMicroTask @ zone.js:277 C @ zone.js:1316 P @ zone.js:1253 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 Promise.then (async) (anonymous) @ zone.js:1577 t @ zone.js:1351 B.t.then @ zone.js:1576 P @ zone.js:1220 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 l @ main.83c78a01bee272ba69f1.js:1 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 Promise.then (async) y @ zone.js:608 m @ zone.js:619 t.scheduleTask @ zone.js:433 onScheduleTask @ zone.js:320 t.scheduleTask @ zone.js:423 e.scheduleTask @ zone.js:257 e.scheduleMicroTask @ zone.js:277 C @ zone.js:1316 P @ zone.js:1253 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 Promise.then (async) (anonymous) @ zone.js:1577 t @ zone.js:1351 B.t.then @ zone.js:1576 P @ zone.js:1220 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 l @ main.83c78a01bee272ba69f1.js:1 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 Ks @ main.83c78a01bee272ba69f1.js:1 hmac @ main.83c78a01bee272ba69f1.js:1 (anonymous) @ encrypt.service.implementation.ts:174 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 Promise.then (async) y @ zone.js:608 m @ zone.js:619 t.scheduleTask @ zone.js:433 onScheduleTask @ zone.js:320 t.scheduleTask @ zone.js:423 e.scheduleTask @ zone.js:257 e.scheduleMicroTask @ zone.js:277 C @ zone.js:1316 P @ zone.js:1253 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 Promise.then (async) (anonymous) @ zone.js:1577 t @ zone.js:1351 B.t.then @ zone.js:1576 P @ zone.js:1220 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 l @ main.83c78a01bee272ba69f1.js:1 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 Promise.then (async) y @ zone.js:608 m @ zone.js:619 t.scheduleTask @ zone.js:433 onScheduleTask @ zone.js:320 t.scheduleTask @ zone.js:423 e.scheduleTask @ zone.js:257 e.scheduleMicroTask @ zone.js:277 C @ zone.js:1316 P @ zone.js:1253 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 Promise.then (async) (anonymous) @ zone.js:1577 t @ zone.js:1351 B.t.then @ zone.js:1576 P @ zone.js:1220 (anonymous) @ zone.js:1169 (anonymous) @ zone.js:1185 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 l @ main.83c78a01bee272ba69f1.js:1 (anonymous) @ main.83c78a01bee272ba69f1.js:1 t @ zone.js:1351 Ks @ main.83c78a01bee272ba69f1.js:1 aesEncrypt @ main.83c78a01bee272ba69f1.js:1 (anonymous) @ encrypt.service.implementation.ts:168 r @ main.83c78a01bee272ba69f1.js:1 t.invoke @ zone.js:409 onInvoke @ ng_zone.ts:418 t.invoke @ zone.js:408 e.run @ zone.js:169 (anonymous) @ zone.js:1326 t.invokeTask @ zone.js:443 onInvokeTask @ ng_zone.ts:403 t.invokeTask @ zone.js:442 e.runTask @ zone.js:214 b @ zone.js:632 e.invokeTask @ zone.js:529 b @ zone.js:1727 w @ zone.js:1758 x @ zone.js:1794

Screenshots or Videos

Web capture_8-3-2023_201246_bitwarden

Additional Context

No response

Githash Version

"gitHash":"465681c7-dirty"

Environment Details

Synology DSM 7.1.1 Docker INTEL Celeron J4125 20GB

Database Image

mariadb:10

Issue-Link

https://github.com/bitwarden/server/issues/2480

Issue Tracking Info

  • [X] I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.

cvondra avatar Mar 09 '23 02:03 cvondra

Hi, we experience the same issue, I found this in the api.log

fail: Bit.Api.Utilities.ExceptionHandlerFilterAttribute[0]
      => [...] => Bit.Api.Controllers.CollectionsController.Put (Api)
      An exception was thrown while attempting to evaluate a LINQ query parameter expression. See the inner exception for more information. To show additional information call 'DbContextOptionsBuilder.EnableSensitiveDataLogging'.
      System.InvalidOperationException: An exception was thrown while attempting to evaluate a LINQ query parameter expression. See the inner exception for more information. To show additional information call 'DbContextOptionsBuilder.EnableSensitiveDataLogging'.
       ---> System.ArgumentNullException: Value cannot be null. (Parameter 'source')
         at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
         at System.Linq.Enumerable.Select[TSource,TResult](IEnumerable`1 source, Func`2 selector)
         at lambda_method1031(Closure )
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.GetValue(Expression expression, String& parameterName)
         --- End of inner exception stack trace ---
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.GetValue(Expression expression, String& parameterName)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Evaluate(Expression expression, Boolean generateParameter)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
         at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Linq.Expressions.ExpressionVisitor.VisitLambda[T](Expression`1 node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Linq.Expressions.ExpressionVisitor.VisitUnary(UnaryExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
         at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
         at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
         at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
         at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
         at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
         at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
         at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
         at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor visitor, IArgumentProvider nodes)
         at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.Visit(Expression expression)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.ExtractParameters(Expression expression, Boolean clearEvaluatedValues)
         at Microsoft.EntityFrameworkCore.Query.Internal.ParameterExtractingExpressionVisitor.ExtractParameters(Expression expression)
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExtractParameters(Expression query, IParameterValues parameterValues, IDiagnosticsLogger`1 logger, Boolean parameterize, Boolean generateContextAccessors)
         at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteAsync[TResult](Expression query, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.ExecuteAsync[TResult](Expression expression, CancellationToken cancellationToken)
         at Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1.GetAsyncEnumerator(CancellationToken cancellationToken)
         at System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.GetAsyncEnumerator()
         at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken)
         at Bit.Infrastructure.EntityFramework.Repositories.CollectionRepository.ReplaceCollectionGroupsAsync(DatabaseContext dbContext, Collection collection, IEnumerable`1 groups) in /source/src/Infrastructure.EntityFramework/Repositories/CollectionRepository.cs:line 436
         at Bit.Infrastructure.EntityFramework.Repositories.CollectionRepository.ReplaceAsync(Collection collection, IEnumerable`1 groups, IEnumerable`1 users) in /source/src/Infrastructure.EntityFramework/Repositories/CollectionRepository.cs:line 348
         at Bit.Core.Services.CollectionService.SaveAsync(Collection collection, IEnumerable`1 groups, IEnumerable`1 users, Nullable`1 assignUserId) in /source/src/Core/Services/Implementations/CollectionService.cs:line 82
         at Bit.Api.Controllers.CollectionsController.Put(Guid orgId, Guid id, CollectionRequestModel model) in /source/src/Api/Controllers/CollectionsController.cs:line 172
         at lambda_method684(Closure , Object )
         at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

YetAnotherSimon avatar Apr 14 '23 12:04 YetAnotherSimon

Hey all, I can not recreate this with the latest from master. I'm hoping that someone another one of our fixes may have resolved this. The beta tag just got update earlier today. If you could try and pull that update image and see if you still get this that would be great. Thanks!

justindbaur avatar Apr 20 '23 17:04 justindbaur

I have the same error that is displayed and ends in a 500 Error.

However, I find a different message in the error log. Installed is currently 2023.4.3 as self hosting instance.

2023-05-15 08:44:14.091 +00:00 [Error] Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
   at System.Guid.GuidResult.SetFailure(Boolean overflow, String failureMessageID)
   at System.Guid.TryParseExactD(ReadOnlySpan`1 guidString, GuidResult& result)
   at System.Guid.TryParseGuid(ReadOnlySpan`1 guidString, GuidResult& result)
   at System.Guid..ctor(String g)
   at Bit.Api.Models.Request.SelectionReadOnlyRequestModel.ToSelectionReadOnly() in /home/runner/work/server/server/src/Api/Models/Request/SelectionReadOnlyRequestModel.cs:line 15
   at Bit.Api.Controllers.OrganizationUsersController.<>c.<Put>b__21_0(SelectionReadOnlyRequestModel c) in /home/runner/work/server/server/src/Api/Controllers/OrganizationUsersController.cs:line 284
   at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
   at Bit.Infrastructure.Dapper.DapperHelpers.ToArrayTVP(IEnumerable`1 values) in /home/runner/work/server/server/src/Infrastructure.Dapper/DapperHelpers.cs:line 46
   at Bit.Infrastructure.Dapper.Repositories.OrganizationUserRepository.ReplaceAsync(OrganizationUser obj, IEnumerable`1 collections) in /home/runner/work/server/server/src/Infrastructure.Dapper/Repositories/OrganizationUserRepository.cs:line 326
   at Bit.Core.Services.OrganizationService.SaveUserAsync(OrganizationUser user, Nullable`1 savingUserId, IEnumerable`1 collections, IEnumerable`1 groups) in /home/runner/work/server/server/src/Core/Services/Implementations/OrganizationService.cs:line 1552
   at Bit.Api.Controllers.OrganizationUsersController.Put(String orgId, String id, OrganizationUserUpdateRequestModel model) in /home/runner/work/server/server/src/Api/Controllers/OrganizationUsersController.cs:line 283
   at lambda_method124(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

maltegl avatar May 15 '23 09:05 maltegl

With Version 2023.5.0 my reported problem is fixed. can anyone else confirm this as well?

maltegl avatar Jun 02 '23 08:06 maltegl

I'm seeing this on Version 2023.8.2, running the bitwarden/self-host:beta docker image.

danepowell avatar Oct 03 '23 17:10 danepowell

I've had this issue since installing bitwarden in March. The issue still persists with the latest docker version.

$ sudo docker images | grep bitwarden
bitwarden/self-host              beta        7b01a60465b1   13 days ago     800MB

This is a major functionality bug that has been blocking daily use cases. Since proton's password manager appears feature complete, we'll have to move to that service instead.

vangorra avatar Nov 20 '23 16:11 vangorra

I was able reproduce the issue on a clean container with clean file system using the following config:

version: '2'
services:
  bitwarden:
    depends_on:
      - mariadb
    image: bitwarden/self-host:beta
    restart: 'unless-stopped'
    ports:
      - "7080:8080"
    volumes:
      - ./container_data/bitwarden/bitwarden:/etc/bitwarden
    environment:
      BW_DOMAIN: bitwarden.local

      BW_DB_PROVIDER: mariadb
      BW_DB_SERVER: mariadb
      BW_DB_DATABASE: bitwarden_vault
      BW_DB_USERNAME: bitwarden
      BW_DB_PASSWORD: RickRollThis
      
      BW_INSTALLATION_ID: ${BW_INSTALLATION_ID}
      BW_INSTALLATION_KEY: ${BW_INSTALLATION_KEY}

      globalSettings__mail__replyToEmail: '[email protected]'
      globalSettings__mail__smtp__host: 'smtp4dev'
      globalSettings__mail__smtp__port: '25'
      globalSettings__mail__smtp__ssl: 'false'
      globalSettings__mail__smtp__username: '[email protected]'
      globalSettings__mail__smtp__password: 'SLDKF#039ru'

      adminSettings__admins: ${adminSettings__admins}
  mariadb:
    image: mariadb:10
    restart: 'unless-stopped'
    volumes:
      - ./container_data/mariadb/datadir:/var/lib/mysql
    environment:
      MARIADB_USER: "bitwarden"
      MARIADB_PASSWORD: "RickRollThis"
      MARIADB_DATABASE: "bitwarden_vault"
      MARIADB_RANDOM_ROOT_PASSWORD: "true"
  smtp4dev:
    image: rnwood/smtp4dev:v3
    restart: 'unless-stopped'
    ports:
      - 4000:80
    volumes:
      - ./container_data/smtp4dev/data:/smtp4dev

After startup:

  • Goto http://localhost:7080/
  • Register as the admin email listed in config.
  • Login
  • Register your organization.
  • Add a collection to the organization.
  • Open the newly saved collection.
  • Change anything and press save.

The API logs will appear as @YetAnotherSimon reported and the JS logs will appear in the browser console as @cvondra reported.

vangorra avatar Nov 21 '23 02:11 vangorra

https://github.com/bitwarden/self-host/issues/186

still there

wardragon avatar Feb 07 '24 08:02 wardragon