Skip to content

Skip re-extract ext-imap source #792

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

Merged
merged 3 commits into from
Jul 10, 2025
Merged

Skip re-extract ext-imap source #792

merged 3 commits into from
Jul 10, 2025

Conversation

crazywhalecc
Copy link
Owner

What does this PR do?

Fix #789 .

Checklist before merging

If your PR involves the changes mentioned below and completed the action, please tick the corresponding option.
If a modification is not involved, please skip it directly.

  • If you modified *.php or *.json, run them locally to ensure your changes are valid:
    • PHP_CS_FIXER_IGNORE_ENV=1 composer cs-fix
    • composer analyse
    • composer test
    • bin/spc dev:sort-config
  • If it's an extension or dependency update, please ensure the following:
    • Add your test combination to src/globals/test-extensions.php.
    • If adding new or fixing bugs, add commit message containing extension test or test extensions to trigger full test suite.

@crazywhalecc crazywhalecc requested a review from henderkes June 20, 2025 11:09
@henderkes
Copy link
Collaborator

imap still seems to fail, we should probably fix it a last time, but move it into unsupported/deprecated territory.

I remember the huge pain in the ass it was to get it working in the first place, no other library was that bad

@crazywhalecc
Copy link
Owner Author

That's really weird, I'll have time to look into it next week. 🫠

@henderkes
Copy link
Collaborator

I'll leave the fun of figuring out the swoole segmentation fault to you. Imap now works again.

@crazywhalecc crazywhalecc added the kind/framework Issues related to CLI app framework label Jun 22, 2025
@crazywhalecc crazywhalecc force-pushed the fix/ext-imap-extraction branch from 02114c0 to dd72b32 Compare July 10, 2025 04:59
@crazywhalecc
Copy link
Owner Author

Seems swoole is using glibc-only feature, but it will not working with extra CFLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0.

@crazywhalecc
Copy link
Owner Author

I think we should generate environment info report after building anything. I also encounter this problem when trying to use swoole and spc branches from May 31, although its CI was green 2 months ago.

@crazywhalecc
Copy link
Owner Author

crazywhalecc commented Jul 10, 2025

Okay, I found the key point. 2025-05-30 released Alpine Linux 3.22, and before it we were using alpine:edge -> 3.21.x. If we use specified version of Alpine like 3.21, the build is good.

The only difference I found between 3.21 and 3.22 is the gcc version (14.2: --disable-libsanitizer, 14.3: --enable-libsanitizer).

And if I add -fsanitize=address to CFLAGS, it build successfully.

@henderkes
Copy link
Collaborator

Could likely work around it by using -fno-sanitize=address (or =undefined or =thread) like we do with zig, which automatically enables them. I don't run into the issue when doing a static musl or dynamic musl build with zig.

@henderkes
Copy link
Collaborator

Oh, on a positive note, all the bugs I've reported are tagged for 15.0 release, so we'll be able to skip the messy zig-cc workaround then. Only the performance one hasn't seen any response.

@crazywhalecc crazywhalecc requested a review from henderkes July 10, 2025 12:43
@henderkes
Copy link
Collaborator

I'd rather address the issue since we don't know how long it will take to push 3.0. Otherwise people running the latest version will run into the issue.

@crazywhalecc
Copy link
Owner Author

crazywhalecc commented Jul 10, 2025

I've made alpine back to 3.21 and created an issue to swoole repo as workaround. From the most direct perspective, the update of alpine broke our build, so it is a better choice to temporarily return to the previous version.

I believe the best solution is always to fix the upstream repository, but I'm not sure which approach the swoole maintainers are willing to accept. For us, what we can do now is build it successfully.

@henderkes
Copy link
Collaborator

Oh you're right, is this is a general issue then swoole should set the required compilation parameters in their config.m4.

@crazywhalecc crazywhalecc merged commit 9af3b74 into main Jul 10, 2025
9 checks passed
@crazywhalecc crazywhalecc deleted the fix/ext-imap-extraction branch July 10, 2025 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/framework Issues related to CLI app framework
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[CI] Extension test failed: new LockFile seems conflict with ext-imap source strategy
2 participants