Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Commit window: Revert action produce a debugger #1870

Open
jecisc opened this issue Dec 3, 2024 · 2 comments
Open

Commit window: Revert action produce a debugger #1870

jecisc opened this issue Dec 3, 2024 · 2 comments
Labels

Comments

@jecisc
Copy link
Contributor

jecisc commented Dec 3, 2024

Since a few versions of Pharo 13 now when I revert something in the commit window of Iceberg I get a debugger saying that an entity of the name of what I removed was not found in a collection.

image

This was not happening recently

@jecisc jecisc added the bug label Dec 3, 2024
@jecisc
Copy link
Contributor Author

jecisc commented Dec 3, 2024

Dictionary>>errorKeyNotFound:
[self errorKeyNotFound: key] in Dictionary>>removeKey: in Block: [self errorKeyNotFound: key]
Dictionary>>removeKey:ifAbsent:
Dictionary>>removeKey:
IceNode>>removeChild:
IceTipDiffSelectingPanel(IceTipDiffPanel)>>diffEntryRemoved:
MessageSend>>value:
MessageSend>>cull:
MessageSend>>cull:cull:
[ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription(AbstractAnnouncementSubscription)>>deliver: in Block: [ action cull: anAnnouncement cull: announcer ]
FullBlockClosure(BlockClosure)>>on:do:
[ Processor terminateRealActive ] in [ :ex |
| onDoCtx handler bottom thisCtx |
onDoCtx := thisContext.
thisCtx := onDoCtx home.

		  "find the context on stack for which this method's is sender"

		  [ onDoCtx sender == thisCtx ] whileFalse: [
			  onDoCtx := onDoCtx sender.
			  onDoCtx ifNil: [ "Can't find our home context. seems like we're already forked
			and handling another exception in new thread. In this case, just pass it through handler."
				  ^ handlerAction cull: ex ] ].

		  bottom := [ Processor terminateRealActive ] asContext.
		  onDoCtx privSender: bottom.

		  handler := [ handlerAction cull: ex ] asContext.
		  handler privSender: thisContext sender.

		  (Process forContext: handler priority: Processor activePriority) resume.

		  "cut the stack of current process"
		  thisContext privSender: thisCtx.
		  nil ] in FullBlockClosure(BlockClosure)>>on:fork: in Block: [ Processor terminateRealActive ]

@guillep
Copy link
Member

guillep commented Dec 4, 2024

For the person taking this:

  • try finding what Pharo build and PR that introduced the issue using the launcher (https://thepharo.dev/2020/11/23/bisecting-pharo-versions-to-find-regressions/). The objective here is to find the change, not to blame anybody, we are all entitled to make errors!
  • try writing a test reproducing the issue. I understand that it's difficult to write a test for code we don't know, but I think there are great things to learn if we make an effort to test it.
  • if you have a test + the cause => you can try to make a fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants