Skip to content

Commit 02ef895

Browse files
andyclaude
andcommitted
Three tickets: dead runtype filter, blank summary rows, zombie reaping
#115 -- VizPropertyPanel::isRelevent() declared a local named `runtype` that shadowed its parameter of the same name, so the test read `runtype.find(runtype) == 0`. A string always contains itself at position 0, so that half of the condition was always true and every caller's runtype argument was silently ignored. The one caller, QuadPolePanel, means "suppress this panel for a Gaussian Geo* run that already has POLARIZ/HYPERPOL1", and was suppressing it for ANY Gaussian run with those properties. Local renamed; the parameter is now the prefix being matched, which is what the doc comment above it always claimed. #96 -- 15 <TheorySummary>/<RuntypeSummary> rows across ORCA, NWChem, Polyrate, Gaussian-16 and Gaussian-09 named keys no dialog builds, so they could never show a value. Removed. ORCA's were aspirational: orcatheory.py is deliberately minimal because ai.orca consumes nothing more, and a summary row for a control that does not exist is the same dead UI that file's own header refuses to add. The dialog suite drops from 203 checks to 188 because those rows are gone rather than merely tolerated, and now reports zero of them. #79 -- already fixed, and verified rather than assumed: CalcEd:: launchDetachedApp() does an explicit double-fork with a bounded WNOHANG poll, so the dialog process is reparented to init and calced never has it to reap. No ECCE zombies on a machine that has been running these dialogs all evening (the one zombie present belongs to an unrelated program). Closing on the evidence. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EFMUNbw2UpRPmgsqviAowb
1 parent 9938cbf commit 02ef895

6 files changed

Lines changed: 8 additions & 48 deletions

File tree

‎data/client/cap/Gaussian-09.edml‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -441,9 +441,6 @@
441441
<item key="ES.Theory.CorrelOrb.FrozenCoreValue" label="Frozen Core Orbitals"></item>
442442
</TheorySummary>
443443

444-
<RuntypeSummary topLabel="Geom. Convergence-">
445-
<item key="ES.Runtype.GeomOpt.ConvergenceGradient.Value" label="Gradient"></item>
446-
</RuntypeSummary>
447444
<RuntypeSummary>
448445
<item key="ES.Runtype.GeomOpt.SearchFor" label="Search for"></item>
449446
</RuntypeSummary>

‎data/client/cap/Gaussian-16.edml‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -478,9 +478,6 @@
478478
<item key="ES.Theory.CorrelOrb.FrozenCoreValue" label="Frozen Core Orbitals"></item>
479479
</TheorySummary>
480480

481-
<RuntypeSummary topLabel="Geom. Convergence-">
482-
<item key="ES.Runtype.GeomOpt.ConvergenceGradient.Value" label="Gradient"></item>
483-
</RuntypeSummary>
484481
<RuntypeSummary>
485482
<item key="ES.Runtype.GeomOpt.SearchFor" label="Search for"></item>
486483
</RuntypeSummary>

‎data/client/cap/NWChem.edml‎

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -212,15 +212,6 @@
212212
<RuntypeSummary>
213213
<item key="ES.Runtype.GeomOpt.MaximumStepsValue" label="Max. Steps"></item>
214214
</RuntypeSummary>
215-
<RuntypeSummary>
216-
<item key="ES.Runtype.ESP.RestraintAlgorithm" label="Restraint Algorithm"></item>
217-
</RuntypeSummary>
218-
<RuntypeSummary>
219-
<item key="ES.Runtype.ESP.HarmForceConstant" label="Force Constant"></item>
220-
</RuntypeSummary>
221-
<RuntypeSummary>
222-
<item key="ES.Runtype.ESP.HypForceConstant" label="Force Constant"></item>
223-
</RuntypeSummary>
224215
</Editor>
225216

226217

‎data/client/cap/ORCA.edml‎

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -177,34 +177,12 @@
177177
<runtype>Energy</runtype>
178178
</Theory>
179179

180-
<TheorySummary>
181-
<item key="ES.Theory.SCF.Direct" label="SCF Integrals"></item>
182-
</TheorySummary>
183-
<TheorySummary>
184-
<item key="ES.Theory.SCF.ConvergenceAlgorithm" label="SCF Conv. Algorithm"></item>
185-
</TheorySummary>
186-
<TheorySummary topLabel="SCF Convergence-">
187-
<item key="ES.Theory.SCF.ConvergenceDensity.Value" label="Density"></item>
188-
</TheorySummary>
189180
<TheorySummary>
190181
<item key="ES.Theory.SCF.ConvergenceIterations" label="SCF Max. Iterations"></item>
191182
</TheorySummary>
192183
<TheorySummary>
193184
<item key="ES.Theory.DFT.XCFunctionals" label="DFT Combined Func."></item>
194185
</TheorySummary>
195-
<TheorySummary>
196-
<item key="ES.Theory.DFT.ExchangeFunctionals" label="DFT Exchange Func."></item>
197-
</TheorySummary>
198-
<TheorySummary>
199-
<item key="ES.Theory.DFT.CorrelationFunctionals" label="DFT Corr Func."></item>
200-
</TheorySummary>
201-
202-
<RuntypeSummary topLabel="Geom. Convergence-">
203-
<item key="ES.Runtype.GeomOpt.ConvergenceGradient.Value" label="Gradient"></item>
204-
</RuntypeSummary>
205-
<RuntypeSummary>
206-
<item key="ES.Runtype.GeomOpt.SearchFor" label="Search for"></item>
207-
</RuntypeSummary>
208186
<RuntypeSummary>
209187
<item key="ES.Runtype.GeomOpt.MaximumStepsValue" label="Max. Steps"></item>
210188
</RuntypeSummary>

‎data/client/cap/Polyrate.edml‎

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -165,15 +165,6 @@
165165
<RuntypeSummary>
166166
<item key="ES.Runtype.GeomOpt.MaximumStepsValue" label="Max. Steps"></item>
167167
</RuntypeSummary>
168-
<RuntypeSummary>
169-
<item key="ES.Runtype.ESP.RestraintAlgorithm" label="Restraint Algorithm"></item>
170-
</RuntypeSummary>
171-
<RuntypeSummary>
172-
<item key="ES.Runtype.ESP.HarmForceConstant" label="Force Constant"></item>
173-
</RuntypeSummary>
174-
<RuntypeSummary>
175-
<item key="ES.Runtype.ESP.HypForceConstant" label="Force Constant"></item>
176-
</RuntypeSummary>
177168
</Editor>
178169

179170

‎src/apps/builder/VizPropertyPanel.C‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,15 @@ bool VizPropertyPanel::isRelevent(IPropCalculation *expt,
200200
ICalculation *escalc = dynamic_cast<ICalculation*>(expt);
201201
if (escalc) {
202202
const JCode* app = escalc->application();
203-
string runtype = escalc->runtype().name();
203+
// NOT named `runtype`. It used to be, which shadowed the
204+
// parameter of that name, so the test below read
205+
// `runtype.find(runtype) == 0` -- a string always contains itself
206+
// at position 0, so that half of the condition was always true
207+
// and the runtype filter did nothing at all. Every caller's
208+
// runtype argument was silently ignored.
209+
const string calcRuntype = escalc->runtype().name();
204210
if (app->name().find(code) != string::npos &&
205-
runtype.find(runtype) == 0) {
211+
calcRuntype.find(runtype) == 0) {
206212
// Now check the properties
207213
set<string> keys = getPropertyNames();
208214
set<string>::const_iterator pnamesIt;

0 commit comments

Comments
 (0)