Skip to content

fix(ci): remove harpoon from workflow #1414

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

Closed
wants to merge 2 commits into from
Closed

Conversation

oliverbaehler
Copy link
Collaborator

No description provided.

Copy link

netlify bot commented Apr 8, 2025

Deploy Preview for capsule-documentation canceled.

Name Link
🔨 Latest commit dbc1502
🔍 Latest deploy log https://app.netlify.com/sites/capsule-documentation/deploys/67f5127cb8d94e0008e1b20f

Copy link

codecov bot commented Apr 8, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 4.15%. Comparing base (7495eba) to head (203ae61).
Report is 4 commits behind head on main.

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #1414   +/-   ##
=====================================
  Coverage   4.15%   4.15%           
=====================================
  Files        144     144           
  Lines       7108    7108           
=====================================
  Hits         295     295           
  Misses      6801    6801           
  Partials      12      12           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@prometherion
Copy link
Member

Just making aware of this @alegrey91, hope he can promptly fix Harpoon to keep it on the CI

@Svarrogh1337
Copy link
Collaborator

Svarrogh1337 commented Apr 9, 2025

@alegrey91, I think I got the the bottom of it - LMKWYT:

func decodeInstruction(instHex []byte) ([]uint64, error) {
	var offsets []uint64
	s := bytes.NewBufferString("")
	for i := 0; i < len(instHex); {
		inst, err := x86asm.Decode(instHex[i:], 64)
		fmt.Printf("%04X\t%s\n", i, inst.String())
		if err != nil {
			fmt.Printf("Error on %d iteration: %v\n", i, err)
		}
		s.WriteString(fmt.Sprintf("%04X\t%s", i, inst.String()))
		s.WriteString("\n")
		fmt.Println(inst.Mode)
		if err != nil {
			return nil, err
		}
		if inst.Op == x86asm.RET {
			offsets = append(offsets, uint64(i))
		}
		i += inst.Len
	}
	return offsets, nil
}

In this function we are attempting to Decoding in 64-bit mode, but some of the instructions are incompatible with that mode. For example below I am getting AAS which is 32-bit mode instruction - documentation. From there the offset is broken.

64-bit mode 32-bit mode
0000 NOP 0000 NOP
0001 OR EAX, [RAX-0x7] 0001 OR EAX, [RAX-0x7]
0004 ICEBP 0004 ICEBP
0005 AND [RSI], -0x2f 0005 AND [RSI], -0x2f
0008 Op(0) 0008 AAS

@alegrey91
Copy link
Contributor

@Svarrogh1337 good catch!
Yes, this might definitely be the cause of the problem.
We could try of managing both 64 and 32 bit within the function.
Do you want to take care of this?

@Svarrogh1337
Copy link
Collaborator

@alegrey91 lets catchup in slack

@oliverbaehler
Copy link
Collaborator Author

E2E is no longer working reliable. We are going through with this change.

@alegrey91
Copy link
Contributor

E2E is no longer working reliable. We are going through with this change.

Sure, I'm sorry we are not being able to fix the problem. Locally I didn't have these problems. Maybe this is due to the limited resources on the runner.

@Svarrogh1337
Copy link
Collaborator

Svarrogh1337 commented Apr 29, 2025

E2E is no longer working reliable. We are going through with this change.

Sure, I'm sorry we are not being able to fix the problem. Locally I didn't have these problems. Maybe this is due to the limited resources on the runner.

If we bump the timeout reasonably and combine it with #1428, we should be good, but I will try it over next few days. Running e2e locally works fine for me, so it must be related to the runner.
Large runners may also help here.

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

Successfully merging this pull request may close these issues.

4 participants