This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
| Author | pitrou |
|---|---|
| Recipients | benjamin.peterson, georg.brandl, pitrou, rhettinger |
| Date | 2008年07月26日.12:37:04 |
| SpamBayes Score | 0.0005474687 |
| Marked as misclassified | No |
| Message-id | <1217075829.32.0.899703595301.issue3356@psf.upfronthosting.co.za> |
| In-reply-to |
| Content | |
|---|---|
Hmm, ok. I was using `make EXTRA_CFLAGS="-DPy_DEBUG"`, but it wouldn't undefine NDEBUG so the assert() macro wouldn't be enabled. By using `make EXTRA_CFLAGS="-DPy_DEBUG -UNDEBUG"` instead it's fine. But that makes test_c_api in setobject.c bogus, because it relies on the execution of assert() statements to modify the refcount of certain objects - which doesn't happen when assert() is optimized out. The only reason it doesn't crash in non-debug mode is that the deallocated objects are still intact in memory, and Py_REFCNT simply drops their refcount field to -1 without bothering. It also means the following statement in Misc/SpecialBuilds.txt is misleading: « Py_DEBUG implies LLTRACE, Py_REF_DEBUG, Py_TRACE_REFS, and PYMALLOC_DEBUG (if WITH_PYMALLOC is enabled). In addition, C assert()s are enabled (via the C way: by not defining NDEBUG) » I haven't looked at the distutils problem yet. |
|
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2008年07月26日 12:37:11 | pitrou | set | spambayes_score: 0.000547469 -> 0.0005474687 recipients: + pitrou, georg.brandl, rhettinger, benjamin.peterson |
| 2008年07月26日 12:37:09 | pitrou | set | spambayes_score: 0.000547469 -> 0.000547469 messageid: <1217075829.32.0.899703595301.issue3356@psf.upfronthosting.co.za> |
| 2008年07月26日 12:37:06 | pitrou | link | issue3356 messages |
| 2008年07月26日 12:37:05 | pitrou | create | |