[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] Operations on classad2.ExprTree(None) segfaulting?



We are currently preparing to migrate to HTC25 and thus updating our Python binding code. Playing around with the new v2 bindings, I discovered that ExprTree(None) is now a documented thing.

However, it looks like almost all operations on it are segfaulting on HTC 24 (24.0.12 + Py3.9 and HTC24.0.10 and Py3.6). Whatâs the point of that? How do they behave on HTC25, or how are they supposed to behave?

This is just a bug. I've created ticket for tracking this bug and its fix, which I'm presently assuming will go into 25.0.3:

https://opensciencegrid.atlassian.net/browse/HTCONDOR-3319

The intended behavior -- and I'll change the docstring to reflect this -- was `classad2.ExprTree(None)` would be an ExprTree that was "undefined" in the ClassAd sense of the word. I don't expect this to be very useful directly, but should allow you to insert place-holders in data structures whose elements you all want to be ExprTrees (instead of occasionally being None).

Thanks for the excellent bug report. I'm sorry we didn't notice the problem before you did.

-- ToddM