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

Segmentation fault on Jenkins since Zope 5.11 #962

Closed
mauritsvanrees opened this issue Oct 22, 2024 · 5 comments
Closed

Segmentation fault on Jenkins since Zope 5.11 #962

mauritsvanrees opened this issue Oct 22, 2024 · 5 comments

Comments

@mauritsvanrees
Copy link
Member

I upgraded coredev 6.1 to Zope 5.11 today in #959. All tests were reported as green. And indeed the robot tests passed, which is good news, but after that there was a segmentation fault. Actually there were two segmentation faults, one when running the non-robot tests, and one after running the robot tests.

So Jenkins did not properly report a problem. Maybe the segmentation fault is the cause.

As a start I will revert to Zope 5.10.

mauritsvanrees added a commit that referenced this issue Oct 22, 2024
This reverts commit 3074c8e.

We get a segmentation fault.  See #962
@mauritsvanrees
Copy link
Member Author

You can trigger it with plone.app.testing:

$ bin/test -s plone.app.testing -u -t layers.rst
Running zope.testrunner.layer.UnitTests tests:
  Set up zope.testrunner.layer.UnitTests in 0.000 seconds.
  Running:
    1/1 (100.0%)Segmentation fault: 11
$ bin/test -s plone.app.testing -u -t helpers.rst
Running zope.testrunner.layer.UnitTests tests:
  Set up zope.testrunner.layer.UnitTests in 0.000 seconds.
  Running:
    1/1 (100.0%)Bus error: 10

@davisagli
Copy link
Member

@mauritsvanrees Can't reproduce on my M1 Mac. Could you run the same command under gdb to get a C-level stack trace?

@mauritsvanrees
Copy link
Member Author

I have not used gdb before, and don't have it installed.

But I tracked it down to zope.interface. When I downgrade this to 6.3 the segfault is gone. So it may be this problem:
zopefoundation/zope.interface#323

When I checkout zope.interface, it works again. But when I use tag 7.0.3 it also works. So it can be that the C code is not used in this case. I would need to look into how that works.

@davisagli
Copy link
Member

@mauritsvanrees It's pretty simple, you just run gdb [command] and then if it segfaults you get more information.

Anyway, my money was on zope.interface. (Easy for me to place my bet after I know the answer!) There have been several different segfaults resulting from recent refactoring to support free-threading in Python 3.13. The most recent was just merged yesterday (zopefoundation/zope.interface#324) but not yet released so I expect that's why it works when you use a checkout.

@mauritsvanrees
Copy link
Member Author

This is fixed in zope.interface 7.1.1 which I include 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

No branches or pull requests

2 participants