Opened 3 years ago

Closed 2 years ago

Last modified 2 years ago

#29240 closed enhancement (fixed)

Upgrade pexpect to 4.8

Reported by: arojas Owned by:
Priority: major Milestone: sage-9.2
Component: packages: standard Keywords: upgrade, pexpect
Cc: fbissey, gh-timokau, jdemeyer, slelievre, saraedum, mkoeppe Merged in:
Authors: Antonio Rojas, Samuel Lelièvre Reviewers: Matthias Koeppe
Report Upstream: N/A Work issues:
Branch: 97a4b08 (Commits, GitHub, GitLab) Commit:
Dependencies: Stopgaps:

GitHub link to the corresponding issue

Description (last modified by arojas)

Requires changes to expect_upto and expect_peek due to [1]. Removed patch merged upstream

[1] https://github.com/pexpect/pexpect/commit/fa084459198f7e9f4a2f346ea8bdac2ca102bc87

Tarball: https://codeload.github.com/pexpect/pexpect/tar.gz/4.8.0

Attachments (1)

crash_prq3b6_w.log (211.9 KB) - added by arojas 3 years ago.
pexpect 4.8 crash log

Download all attachments as: .zip

Change History (27)

comment:1 Changed 3 years ago by arojas

Branch: u/arojas/upgrade_pexpect_to_4_8

comment:2 Changed 3 years ago by arojas

Authors: Antonio Rojas
Commit: 7ec88cfd82f6923160f4bc6bd3ba7b45bcb64d2c
Component: PLEASE CHANGEpackages: standard
Description: modified (diff)
Type: PLEASE CHANGEenhancement

New commits:

cf931d6Update pexpect to 4.8.0
7ec88cfAdapt expect_upto and expect_peek to pexpect 4.8 changes

Changed 3 years ago by arojas

Attachment: crash_prq3b6_w.log added

pexpect 4.8 crash log

comment:3 Changed 3 years ago by arojas

I'm getting a segfault on interfaces/singular.py caused by [2]. It is not reproducible in my distro package, only on sage-the-distro. Any ideas?

[2] https://github.com/pexpect/pexpect/commit/f98485ae7ddd2786f2d0fc6234d15f9f1e55caea

comment:4 Changed 3 years ago by arojas

Cc: fbissey gh-timokau jdemeyer slelievre saraedum added

comment:5 Changed 3 years ago by arojas

Description: modified (diff)

comment:6 Changed 3 years ago by mkoeppe

Milestone: sage-9.1sage-9.2

comment:7 Changed 3 years ago by fbissey

I have no ideas about your crash. Does it still happen on sage-the-distro in the current beta? I would quite happily move on on that one otherwise.

comment:8 Changed 3 years ago by arojas

Actually, this has just started crashing on my Arch package too recently. No idea which update triggered it.

comment:9 Changed 3 years ago by fbissey

I am not experiencing crash so far.

comment:10 Changed 3 years ago by arojas

Status: newneeds_review

And now I can't reproduce the crash on sage-the-distro, only on my Arch package... well this is weird. I'll set this to needs_review to see if any of the build bots can reproduce the crash.

comment:11 Changed 3 years ago by arojas

Cc: mkoeppe added

comment:12 Changed 3 years ago by arojas

Strangely, the Arch segfault seems caused by sympy 1.6.1 (which doesn't seem to be used in interfaces/singular.py at all)

comment:13 in reply to:  10 Changed 3 years ago by mkoeppe

Replying to arojas:

And now I can't reproduce the crash on sage-the-distro, only on my Arch package... well this is weird. I'll set this to needs_review to see if any of the build bots can reproduce the crash.

For broader coverage of platforms you could push a tag to GitHub so that the GH actions CI infrastructure is run on this ticket...

comment:14 in reply to:  12 Changed 3 years ago by fbissey

Replying to arojas:

Strangely, the Arch segfault seems caused by sympy 1.6.1 (which doesn't seem to be used in interfaces/singular.py at all)

This is in the weird territory, especially if you can reproduce it individually. We should definitely have a go at doing the github testing.

comment:15 Changed 3 years ago by mkoeppe

I also see segfaults on archlinux-latest-standard at https://github.com/mkoeppe/sage/runs/912558565 while testing #29766 - unrelated to this ticket.

sage -t --random-seed=0 src/doc/en/reference/sat/index.rst  # Killed due to segmentation fault
sage -t --random-seed=0 src/sage/crypto/mq/sr.py  # Killed due to abort
sage -t --random-seed=0 src/sage/interfaces/quit.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/rings/polynomial/multi_polynomial_sequence.py  # Killed due to segmentation fault
sage -t --random-seed=0 src/sage/rings/polynomial/pbori.pyx  # Killed due to abort
sage -t --random-seed=0 src/sage/rings/polynomial/polynomial_ring_constructor.py  # Killed due to abort
sage -t --random-seed=0 src/sage/sat/boolean_polynomials.py  # Killed due to segmentation fault
sage -t --random-seed=0 src/sage/sat/solvers/dimacs.py  # Killed due to segmentation fault

comment:16 in reply to:  15 Changed 3 years ago by arojas

Replying to mkoeppe:

I also see segfaults on archlinux-latest-standard at https://github.com/mkoeppe/sage/runs/912558565 while testing #29766 - unrelated to this ticket.

Those crashes are on brial - I'm pretty sure they are caused by using system brial compiled with GCC 10 and running against sage's stdlib from GCC 9. brial is very sensitive to the GCC version it is compiled with - if system GCC is not being used, system brial shouldn't be used either.

comment:17 Changed 3 years ago by fbissey

I accept pull request for brial if there is anything you can pinpoint to.

comment:18 in reply to:  17 Changed 3 years ago by arojas

Replying to fbissey:

I accept pull request for brial if there is anything you can pinpoint to.

No idea what the actual issue is - I just know I need to rebuild it every time libstdc++ is updated to prevent crashes.

comment:19 Changed 2 years ago by mkoeppe

Status: needs_reviewneeds_work

needs upstream_url

comment:20 Changed 2 years ago by slelievre

Authors: Antonio RojasAntonio Rojas, Samuel Lelièvre
Branch: u/arojas/upgrade_pexpect_to_4_8public/29240-upgrade-pexpect
Commit: 7ec88cfd82f6923160f4bc6bd3ba7b45bcb64d2c97a4b082adc8b1ebb8cf80fbd6f70670a34b599b
Keywords: upgrade pexpect added

New commits:

a065a24Update pexpect to 4.8.0
4b131b0Adapt expect_upto and expect_peek to pexpect 4.8 changes
97a4b0829240: pexpect upstream_url

comment:21 Changed 2 years ago by slelievre

Added upstream url and rebased on Sage 9.2.beta9.

comment:22 Changed 2 years ago by slelievre

I pushed a tag to my copy of the Sage repo on GitHub.

https://github.com/slel/sage/tree/ci-pexpect-29240

comment:23 Changed 2 years ago by mkoeppe

Status: needs_workneeds_review

comment:24 Changed 2 years ago by mkoeppe

Reviewers: Matthias Koeppe
Status: needs_reviewpositive_review

Looks OK.

comment:25 Changed 2 years ago by vbraun

Branch: public/29240-upgrade-pexpect97a4b082adc8b1ebb8cf80fbd6f70670a34b599b
Resolution: fixed
Status: positive_reviewclosed

comment:26 Changed 2 years ago by slelievre

Commit: 97a4b082adc8b1ebb8cf80fbd6f70670a34b599b

Follow-up at #30945.

Note: See TracTickets for help on using tickets.