TheAxelander / OpenBudgeteer

OpenBudgeteer is a budgeting app based on the Bucket Budgeting Principle
https://theaxelander.github.io
MIT License
787 stars 43 forks source link

Collection was modified Exception when loading Rules Page #165

Closed andyvandesand closed 11 months ago

andyvandesand commented 1 year ago

Creating a rule throws the following exception:

warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100] Unhandled exception rendering component: Collection was modified; enumeration operation may not execute. System.InvalidOperationException: Collection was modified; enumeration operation may not execute. at System.Collections.Generic.List1.Enumerator.MoveNext() at OpenBudgeteer.Blazor.Pages.Rules.BuildRenderTree(RenderTreeBuilder __builder) in /src/OpenBudgeteer.Blazor/Pages/Rules.razor:line 106 at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException) fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111] Unhandled exception in circuit 'FsnA1rF9kTaML5BqLK2RfDbStpQenWAtKE9M7pdauaI'. System.InvalidOperationException: Collection was modified; enumeration operation may not execute. at System.Collections.Generic.List1.Enumerator.MoveNext() at OpenBudgeteer.Blazor.Pages.Rules.BuildRenderTree(RenderTreeBuilder __builder) in /src/OpenBudgeteer.Blazor/Pages/Rules.razor:line 106 at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)

This doesn't happen every time, but very frequently. The rule is still being created. I have not managed to work out any pattern to when it works and when it doesn't. All the rules I'm creating are using priority 0, the same name as the target bucket, and mapping rule "memo" "contains".

TheAxelander commented 1 year ago

Thanks for submitting. I will try to reproduce it.

Could it be possible that you use Edit all and Create Rule at the same time?

From the error message it looks like that something is iterating through all rules and in between one or more rules are changed, which should not happen.

andyvandesand commented 1 year ago

Thanks for the quick reply!

No, I’m just adding a whole lot of rules in – haven’t used “edit all” at all so far. Sometimes I can add 3 rules in a row, and then sometimes it fails for every rule I add 3 times in a row, there doesn’t seem to be much logic to it. I know, the best problems to solve…

From: Alexander Preibisch @.> Sent: Saturday, August 26, 2023 6:11 PM To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>; Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165)

Thanks for submitting. I will try to reproduce it.

Could it be possible that you use Edit all and Create Rule at the same time?

From the error message it looks like that something is iterating through all rules and in between one or more rules are changed, which should not happen.

— Reply to this email directly, view it on GitHub https://github.com/TheAxelander/OpenBudgeteer/issues/165#issuecomment-1694249304 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APK7D3KZMFZRS56RIIYIKPDXXHDS7ANCNFSM6AAAAAA37N7EQM . You are receiving this because you authored the thread. https://github.com/notifications/beacon/APK7D3PC3UAU33MCP6EH5R3XXHDS7A5CNFSM6AAAAAA37N7EQOWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTE7QYVQ.gif Message ID: @. @.> >

andyvandesand commented 1 year ago

Also no difference on whether there’s 1 or 2 mapping rules – still sometimes fails and sometimes doesn’t.

From: Alexander Preibisch @.> Sent: Saturday, August 26, 2023 6:11 PM To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>; Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165)

Thanks for submitting. I will try to reproduce it.

Could it be possible that you use Edit all and Create Rule at the same time?

From the error message it looks like that something is iterating through all rules and in between one or more rules are changed, which should not happen.

— Reply to this email directly, view it on GitHub https://github.com/TheAxelander/OpenBudgeteer/issues/165#issuecomment-1694249304 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APK7D3KZMFZRS56RIIYIKPDXXHDS7ANCNFSM6AAAAAA37N7EQM . You are receiving this because you authored the thread.Message ID: @.***>

TheAxelander commented 1 year ago

Can you share which database you use (Sqlite or MYSql)?

andyvandesand commented 1 year ago

11.0.2-MariaDB-1:11.0.2+maria~ubu2204

From: Alexander Preibisch @.> Sent: Saturday, August 26, 2023 6:28 PM To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>; Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165)

Can you share which database you use (Sqlite or MYSql)?

— Reply to this email directly, view it on GitHub https://github.com/TheAxelander/OpenBudgeteer/issues/165#issuecomment-1694252330 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APK7D3O6EH7VASWDIJ2FVK3XXHFSTANCNFSM6AAAAAA37N7EQM . You are receiving this because you authored the thread. https://github.com/notifications/beacon/APK7D3KVIJ6YOXKNISL7Z2DXXHFSTA5CNFSM6AAAAAA37N7EQOWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTE7Q6SU.gif Message ID: @. @.> >

TheAxelander commented 1 year ago

Thanks, I try to dig in several directions to get any idea what could be the root cause here.

Do you access the site directly (e.g. 192.168.178.123:8080) or using a domain (bucket.example.com) in combination with a reverse proxy (like Traefik or Nginx Proxy Manager)?

andyvandesand commented 1 year ago

I’m using Traefik on portainer. Mariadb is on host network, openbudgeteer is forwarded.

From: Alexander Preibisch @.> Sent: Saturday, August 26, 2023 6:46 PM To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>; Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165)

Thanks, I try to dig in several directions to get any idea what could be the root cause here.

Do you access the site directly (e.g. 192.168.178.123:8080) or using a domain (bucket.example.com) in combination with a reverse proxy (like Traefik or Nginx Proxy Manager)?

— Reply to this email directly, view it on GitHub https://github.com/TheAxelander/OpenBudgeteer/issues/165#issuecomment-1694255282 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APK7D3LXPE4MDBWVW4Z4IO3XXHHWXANCNFSM6AAAAAA37N7EQM . You are receiving this because you authored the thread.Message ID: @.***>

TheAxelander commented 1 year ago

Alright. Can you check if WebSockets support is activated for OpenBudgeteer. I experienced some issues in the past if this was not active.

andyvandesand commented 1 year ago

Sorry how do I do that?  -------- Original message --------From: Alexander Preibisch @.> Date: 26/8/23 19:01 (GMT+08:00) To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>, Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165) Alright. Can you check if WebSockets support is activated for OpenBudgeteer. I experienced some issues in the past if this was not active.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

TheAxelander commented 1 year ago

I'm not completely familiar with Traefik as I'm using Nginx Proxy Manager, on some sites it says it works automatically, others provide some special settings.

Just to see if this is really the root cause, I would propose that you try to access the site directly via IP and see if the errors still pop up. If not then it's most probably an issue within Traefik.

andyvandesand commented 1 year ago

Oh sorry you meant in traefik, gotcha. Will try.  -------- Original message --------From: Alexander Preibisch @.> Date: 26/8/23 19:13 (GMT+08:00) To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>, Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165) I'm not completely familiar with Traefik as I'm using Nginx Proxy Manager, on some sites it says it works automatically, others provide some special settings. Just to see if this is really the root cause, I would propose that you try to access the site directly via IP and see if the errors still pop up. If not then it's most probably an issue within Traefik.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

andyvandesand commented 1 year ago

Nah sorry, just tried directly without traefik, same issue.

From: Alexander Preibisch @.> Sent: Saturday, August 26, 2023 7:13 PM To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>; Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165)

I'm not completely familiar with Traefik as I'm using Nginx Proxy Manager, on some sites it says it works automatically, others provide some special settings.

Just to see if this is really the root cause, I would propose that you try to access the site directly via IP and see if the errors still pop up. If not then it's most probably an issue within Traefik.

— Reply to this email directly, view it on GitHub https://github.com/TheAxelander/OpenBudgeteer/issues/165#issuecomment-1694266898 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APK7D3L7GZ5JVN33FPJXL5LXXHK5RANCNFSM6AAAAAA37N7EQM . You are receiving this because you authored the thread.Message ID: @.***>

TheAxelander commented 1 year ago

Damn, ok. I still need to play around, couldn't reproduce it so far...

andyvandesand commented 1 year ago

Sorry I haven’t done much .net stuff in docker, more than happy to debug if I can, but can you attach to an instance in a container? I assume you can somehow?

From: Alexander Preibisch @.> Sent: Saturday, August 26, 2023 7:35 PM To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>; Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165)

Damn, ok. I still need to play around, couldn't reproduce it so far...

— Reply to this email directly, view it on GitHub https://github.com/TheAxelander/OpenBudgeteer/issues/165#issuecomment-1694298524 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APK7D3I3TEHULAMAFUQQHS3XXHNOJANCNFSM6AAAAAA37N7EQM . You are receiving this because you authored the thread. https://github.com/notifications/beacon/APK7D3PU2CQYMQNEOFVMPTLXXHNOJA5CNFSM6AAAAAA37N7EQOWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTE7TYZY.gif Message ID: @. @.> >

TheAxelander commented 1 year ago

To be honest even with debugging I see a challenge in identifying the issue based on the error message. Normally it's quite easy to reproduce exceptions, as they are either based on a certain data constellation or on actions done on the Web interface.

But here it just pops up occasionally and the issue is most probably due to overlapping traffic between Browser and Server (Container). Not easy to trace such things.

andyvandesand commented 1 year ago

Yeah I understand. But to give you an idea of scale, I’m entering about 200 rules here and getting the error probably for 7 out of 10 entries. It just gives me the generic “An error has occurred. This application may no longer respond until reloaded. http://budget.vds.home/ Reload” and won’t do anything until I refresh. I assume that’s just the generic error handler.

Practically it’s no big deal at all, I just hit F5 and can continue with the next entry, but yeah something is playing up.

I just noticed that some buckets don’t seem to be throwing up exceptions as frequently as others. If you’re interested, here’s my list of buckets:

BucketGroupId Name Position

2 Dining, Bars & Cafes 13

3 Entertainment 12

4 Groceries 11

5 Shopping 10

6 Finance 9

7 Gifts & Donations 8

8 Travel 7

9 Health 6

10 House 5

11 Kids 4

12 Transport 3

13 Utilities 2

14 Work 1

BucketId Name BucketGroupId ValidFrom IsInactive IsInactiveFrom ColorCode

1 Income 0 1990-01-01 00:00:00.000000 0 9999-12-31 00:00:00.000000 NULL

2 Transfer 0 1990-01-01 00:00:00.000000 0 9999-12-31 00:00:00.000000 NULL

3 Union 14 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

4 LOL Insurance 14 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

5 Work - Expenses 14 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

6 Dry Cleaning 14 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

7 Electricity 13 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

8 Gas 13 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

9 Water 13 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

10 Internet 13 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

11 Mobile 13 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

12 Utilities - Other 13 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

13 Parking 12 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

14 Registration 12 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

15 Fuel 12 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

16 Car - Service 12 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

17 Transport - Other 12 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

18 Fines 12 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

19 Public Transport 12 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

20 Music Lessons 11 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

21 Kids - Sports 11 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

22 WPS 11 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

23 SCBC 11 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

24 Rates 10 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

25 Upkeep 10 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

26 GP 9 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

27 Dentist 9 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

28 Pharmacies 9 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

29 Health - Other 9 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

30 Tithe 7 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

31 Church Donations 7 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

32 Missions 7 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

33 Savings 6 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

34 Tax Return 6 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

35 Health Insurance 6 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

36 Interest 6 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

37 Cashout 6 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

38 Investment 6 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

39 Mortgage 6 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

40 Home Insurance 6 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

41 Car Insurance 6 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

42 Fees 6 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

43 Clothes 5 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

44 Shopping - Home 5 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

45 Shopping - Other 5 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

47 Personal Care 5 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

48 Presents 5 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

49 Woolworths 4 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

50 Coles 4 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

51 Aldi 5 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

52 Fruit & Veg 4 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

53 Alcohol 4 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

54 Costco 4 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

55 Groceries - Other 4 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

56 Dog 4 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

57 Family Activities 3 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

58 Hobbies 3 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

59 Entertainment - Sports 3 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

60 Online Services 3 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

61 Takeout 2 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

62 Coffee 2 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

63 Paradox 2 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

64 Lunch 2 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

65 Restaurants 2 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

66 Bars 2 2023-08-01 00:00:00.000000 0 9999-12-31 23:59:59.999999 Transparent

From: Alexander Preibisch @.> Sent: Saturday, August 26, 2023 8:04 PM To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>; Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165)

To be honest even with debugging I see a challenge in identifying the issue based on the error message. Normally it's quite easy to reproduce exceptions, as they are either based on a certain data constellation or on actions done on the Web interface.

But here it just pops up occasionally and the issue is most probably due to overlapping traffic between Browser and Server (Container). Not easy to trace such things.

— Reply to this email directly, view it on GitHub https://github.com/TheAxelander/OpenBudgeteer/issues/165#issuecomment-1694326399 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APK7D3IA35SHHPSSUOX2MDLXXHQZ5ANCNFSM6AAAAAA37N7EQM . You are receiving this because you authored the thread.Message ID: @.***>

TheAxelander commented 1 year ago

Thanks for sharing. This “An error has occurred. This application may no longer respond [..]” at the bottom is at the end an unhandled exception and as you said reloading helps.

But if I understood correctly the data have been saved, it's just the Web Site rendering that crashes...

andyvandesand commented 1 year ago

Yep that’s correct.

From: Alexander Preibisch @.> Sent: Saturday, August 26, 2023 8:36 PM To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>; Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165)

Thanks for sharing. This “An error has occurred. This application may no longer respond [..]” at the bottom is at the end an unhandled exception and as you said reloading helps.

But if I understood correctly the data have been saved, it's just the Web Site rendering that crashes...

— Reply to this email directly, view it on GitHub https://github.com/TheAxelander/OpenBudgeteer/issues/165#issuecomment-1694331763 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APK7D3IPZMPOUWNYWIZDCTTXXHUR3ANCNFSM6AAAAAA37N7EQM . You are receiving this because you authored the thread.Message ID: @.***>

andyvandesand commented 1 year ago

I had a feeling for a while that it might have been my naming of buckets, I had a few with the same names in separate bucket groups, resulting in identical items in the drop down. But I think I was wrong.

From: Alexander Preibisch @.> Sent: Saturday, August 26, 2023 8:36 PM To: TheAxelander/OpenBudgeteer @.> Cc: andyvandesand @.>; Author @.> Subject: Re: [TheAxelander/OpenBudgeteer] Exception when adding rules (Issue #165)

Thanks for sharing. This “An error has occurred. This application may no longer respond [..]” at the bottom is at the end an unhandled exception and as you said reloading helps.

But if I understood correctly the data have been saved, it's just the Web Site rendering that crashes...

— Reply to this email directly, view it on GitHub https://github.com/TheAxelander/OpenBudgeteer/issues/165#issuecomment-1694331763 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APK7D3IPZMPOUWNYWIZDCTTXXHUR3ANCNFSM6AAAAAA37N7EQM . You are receiving this because you authored the thread. https://github.com/notifications/beacon/APK7D3KVFTBYQRWFR26QMRLXXHUR3A5CNFSM6AAAAAA37N7EQOWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTE7VZXG.gif Message ID: @. @.> >

TheAxelander commented 1 year ago

It happened now also on my side, but already on opening the Rules Page. Issue still exists on pre-release. Database mysql

warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
      Unhandled exception rendering component: Collection was modified; enumeration operation may not execute.
      System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
         at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
         at OpenBudgeteer.Blazor.Pages.Rules.BuildRenderTree(RenderTreeBuilder __builder) in /src/OpenBudgeteer.Blazor/Pages/Rules.razor:line 104
         at Microsoft.AspNetCore.Components.Rendering.ComponentState.RendertoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
      Unhandled exception in circuit '6-Mhq8_7jzyF9CUTp34QkCaUWnOi5GyY5YfIvmFPFCY'.
      System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
         at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
         at OpenBudgeteer.Blazor.Pages.Rules.BuildRenderTree(RenderTreeBuilder __builder) in /src/OpenBudgeteer.Blazor/Pages/Rules.razor:line 104
         at Microsoft.AspNetCore.Components.Rendering.ComponentState.RendertoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
TheAxelander commented 1 year ago

Issue not really reproducible. I will do a code review to see if I can rewrite the coding to get the rules in a hopefully safe way

andyvandesand commented 1 year ago

[uhm ooops... sorry for the duplicate. completely forgot this is what it was!!]

TheAxelander commented 1 year ago

I think I found the root cause, a potential fix is now available on pre-release, I will keep this open for further tracking.

TheAxelander commented 1 year ago

Issue still existing in 1.7

TheAxelander commented 1 year ago

Potential fix implemented in 1.7.1