You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All ten batches are complete — 103 issues triaged, with repros compiled against master headers wherever the report included usable code. Here's the synthesis.
Summary
Of 103 candidate issues (all 32 bug/regression-labeled + ~70 [BUG]-titled/crash-keyword issues): 42 verified as real bugs still present on master (26 of those reproduced live on this machine), ~20 confirmed or strongly likely fixed (close candidates), 7 needs-info, and the rest usage errors, environment problems, or documented behavior.
py::init factory + py::call_guard<gil_scoped_release> under threads aborts with "Tried to deallocate unregistered instance!" — the guard spans register_instance, which runs without the GIL
Silent data corruption: std::vector<const char*> from ['abc','defg'] yields 'defg|defg' — dangling pointers into the recycled per-element string caster buffer
Second scoped_interpreter + re-import of an externally built module now fails worse than reported: internals_pp_manager reentrant-call ImportError, no make_iterator needed
Needs-info (7): #5377, #5417, #5872, #5956, #6037, #6046 (retest on master likely resolves — #6018 targets that exact path), plus #4467's FreeBSD twin — three of these look like pytest-randomly/test-order artifacts, worth one canned "try -p no:randomly" reply.
Everything is preserved per-batch with file/line evidence and fixing commits in scratchpad/results-batch{A..J}.md; several compiled repros live in scratchpad/batch*/. Data downloaded today; open issues only.
If you want, I can draft close-comments for the fixed group, or pick off one of the small confirmed fixes (#6102 is a one-liner; the pybind11NewTools.cmake:20 guard fixes three issues at once).
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Ran with my explore issue skill.
🤖 AI text below 🤖
All ten batches are complete — 103 issues triaged, with repros compiled against master headers wherever the report included usable code. Here's the synthesis.
Summary
Of 103 candidate issues (all 32
bug/regression-labeled + ~70[BUG]-titled/crash-keyword issues): 42 verified as real bugs still present on master (26 of those reproduced live on this machine), ~20 confirmed or strongly likely fixed (close candidates), 7 needs-info, and the rest usage errors, environment problems, or documented behavior.Verified bugs — reproduced locally on master
Crashes / memory corruption
static_castto virtual base inclass_::add_basePYBIND11_OVERRIDEbreaks with multiple-inheritance trampolines (static_cast<const cname*>(this)pointer offset); pure-virtual abortshared_ptrdowncast path (duplicate of #3514; repro PR #4374 still open)py::initfactory +py::call_guard<gil_scoped_release>under threads aborts with "Tried to deallocate unregistered instance!" — the guard spansregister_instance, which runs without the GILstd::vector<const char*>from['abc','defg']yields'defg|defg'— dangling pointers into the recycled per-element string caster bufferstd::optional<std::reference_wrapper<Eigen::MatrixXd>>arg dangles (caster temporary dies before the call) — garbage values here, segfault on Linuxscoped_interpreter+ re-import of an externally built module now fails worse than reported:internals_pp_managerreentrant-callImportError, nomake_iteratorneededWrong results / broken dispatch
py::cast<py::int_>→ uncheckedPyLong_AsLong, escapes asSystemErrorcast_error(same root cause, could be one fix)noconvert— float32csr_matrixsilently dispatches to abooloverloadget_type_overridemisses overrides: C++-bound mixin methods rejected viais_cpp_function()(and cached!); recursive dispatch fails via the frame-name checkPYBIND11_OVERRIDEcalled from native C++ (no dispatcher frame) can't do implicit return conversion — noloader_life_supportframePySequence_Check-based vector conversion lets iteration exceptions escape the dispatcher instead of trying the next overloaddef_propertyreturning a numpy view never appliesreference_internalkeep-alive (policy demoted tomove) — parent freed, garbage data__new__are neverregister_instanced, so laterpy::cast(T*)builds a fresh base-typed object (subclass lost)new std::vector<T>withstl.hleaks the pointer (possibly by-design → docs fix)__index__-only objects (as_unsignedrequires a realPyLong); float half already fixed by #5879__qualname__=pybind11_detail_function_record_v1...instead ofClass.method; unbound methods are unhashableinstancemethodsformat_descriptor<long double>is'g'even wheresizeof(long double)==sizeof(double); comment contradicts behaviorCompile-time
value_type = void(CGAL) failsis_move_constructiblestatic_assert;recursive_container_traitsrecurses blindly intovalue_typePYBIND11_NUMPY_DTYPE: commas in template args break the macro;constmembers fail (is_fmt_numericlacksremove_cv— reproduced asImportError: invalid buffer descriptor)PYBIND11_OVERRIDE_PUREwithEigen::Mapreturn can't instantiate (deleted caster members)std::array<int, 102400>takes 133 s to compile (index_sequence pack expansion; proposedstd::copyfast path never merged)Eigen::MatrixXd*raisesPyCapsule_New called with null pointerinstead ofNoneBuild system / CMake (all confirmed against current
tools/)if(NOT Python_FOUND...)inpybind11NewTools.cmake:20skips findingDevelopment.Module/Development.Embedwhen the parent already found Python partially →python_add_libraryunknown /pybind11::embedmissingPython::Python-fno-fat-lto-objectsappended for all GNU compilers makes every LTO probe fail on macOS gccSYSTEMincludes inadd_subdirectorymode let an installed pybind11 shadow the vendored one; no opt-outpythonXY_d.libvs_DEBUGundef → LNK1104; your own CI works around it in.appveyor.yml)Smaller / cosmetic: #6102 (complex annotation omits
complex— one-line fix), #5847 (numpy.boolhint invalid on numpy <2), #5819/#5431 (sparse caster: nosort_indices, spuriousmutable_data()on read-only arrays), #5421 (remaining free-threading races onimplicit_casts/simple_type— partial fix only).Fixed — close candidates
Verified fixed on master (fixing commit identified; repro passes where testable):
py::castthread safety — Use thread_local for loader_life_support to improve performance #5830 thread-localloader_life_supportdef_bufferterminate — fix: properly translate C++ exception to Python exception when creating Python buffer from wrapped object #5324 (nowBufferErrorwith__cause__)PYBIND11_EXPORT_EXCEPTIONonly under macOS. #4298 (v2.10.1)gil_safe_call_once_and_store#5933/Revert internals destruction and add test for internals recreation #5972PYBIND11_INTERNALS_VERSION 12+#erroradd_baseto prevent pointer offset crash #6017 (exact posted code runs clean)"self"arg indef_property_static, partially revert #6010 (gh-5976) #6015/gh-5991: Fix segfault during finalization related to function_record #6010 and HardenPYBIND11_MODULE_PYINITandget_internals()against crashes during module init #6018 hardening; reporters already confirmed on masterNeeds-info (7): #5377, #5417, #5872, #5956, #6037, #6046 (retest on master likely resolves — #6018 targets that exact path), plus #4467's FreeBSD twin — three of these look like pytest-randomly/test-order artifacts, worth one canned "try
-p no:randomly" reply.Everything is preserved per-batch with file/line evidence and fixing commits in
scratchpad/results-batch{A..J}.md; several compiled repros live inscratchpad/batch*/. Data downloaded today; open issues only.If you want, I can draft close-comments for the fixed group, or pick off one of the small confirmed fixes (#6102 is a one-liner; the
pybind11NewTools.cmake:20guard fixes three issues at once).All reactions