James N. Bellinger University of Wisconsin at Madison 4 August 2010

Slides:



Advertisements
Similar presentations
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Advertisements

Testing Test Plans and Regression Testing. Programs need testing! Writing a program involves more than knowing the syntax and semantics of a language.
Code Management James N. Bellinger University of Wisconsin at Madison 19 January
CS 11 C track: lecture 5 Last week: pointers This week: Pointer arithmetic Arrays and pointers Dynamic memory allocation The stack and the heap.
Structured programming 4 Day 34 LING Computational Linguistics Harry Howard Tulane University.
Project and scheduling Project Management. Meaning of good project management Get the job done On time For less money Manage the customer’s expectation.
1 MassChallenge Technology Review MassChallenge Technology Review (April July 2011) MassChallenge Web Technology Review April July 2011 Johnny.
Code Management James N. Bellinger University of Wisconsin at Madison 16 March
Debugging of # P. Hristov 04/03/2013. Introduction Difficult problem – The behavior is “random” and depends on the “history” – The debugger doesn’t.
Fixing the Defect CEN4072 – Software Testing. From Defect to Failure How a defect becomes a failure: 1. The programmer creates a defect 2. The defect.
Migration to SL5 James Bellinger University of Wisconsin at Madison 7-Apr
Migration to SL5 James Bellinger University of Wisconsin at Madison 21-Apr
Simulation of Finite Geometry LDPC code on the Packet Erasure channel Wu Yuchun July 2007 Huawei Hisi Company Ltd.
Code Migration James N. Bellinger University of Wisconsin at Madison 7 July
+ AliEn status report Miguel Martinez Pedreira. + Touching the APIs Bug found, not sending site info from ROOT to central side was causing the sites to.
BEACH 04J. Piedra1 SiSA Tracking Silicon stand alone (SiSA) tracking optimization SiSA validation Matthew Herndon University of Wisconsin Joint Physics.
July 10, 2016ISA's, Compilers, and Assembly1 CS232 roadmap In the first 3 quarters of the class, we have covered 1.Understanding the relationship between.
University of Wisconsin at Madison
How to open source your Puppet configuration
BizTalk Throttling and Threshold
CS 540 Database Management Systems
A1 Algebraic manipulation
Outline What does the OS protect? Authentication for operating systems
Chapter 8 – Software Testing
Checks of TOF Fiducial Cuts
Generator Services planning meeting
James N. Bellinger University of Wisconsin at Madison 3-August-2011
Analysis Operations Monitoring Requirements Stefano Belforte
Software engineering – 1
UML Activity Diagram Documents the Flow the of Program
Outline What does the OS protect? Authentication for operating systems
Some less known facts about log file sync and other LGWR-related waits
University of Wisconsin at Madison
Formative Feedback The single most powerful influence on enhancing achievement is feedback. Hattie, 2009 At best, students receive ‘moments’ of feedback.
James N. Bellinger University of Wisconsin at Madison 10 November 2010
University of Wisconsin-Madison
University of Wisconsin at Madison
James N. Bellinger University of Wisconsin at Madison 13 October 2010
University of Wisconsin-Madison
Sentinel logic, flags, break Taken from notes by Dr. Neil Moore
Lecture#12: External Sorting (R&G, Ch13)
University of Wisconsin at Madison
University of Wisconsin at Madison
UML Activity Diagram Documents the Flow the of Program
James N. Bellinger University of Wisconsin at Madison 3 November 2010
Status of Transfer Line Reconstruction University of Wisconsin-Madison
Prof. Jason Eisner MWF 3-4pm (sometimes 3-4:15)
University of Wisconsin-Madison
What to do when you don’t know anything know nothing
2000 Diffuse Analysis Jessica Hodges, Gary Hill, Jodi Cooley
James N. Bellinger University of Wisconsin at Madison 6 October 2010
Coding Concepts (Standards and Testing)
Debugging at Scale.
University of Wisconsin at Madison BMU Alignment Corrections
University of Wisconsin-Madison
MuonGeoModel status of progress on main items
* M. R. Smith 07/16/96 This presentation will probably involve audience discussion, which will create action items. Use PowerPoint.
TRD online software Future modifications
Comparing Laser Fit to Barrel Fit University of Wisconsin-Madison
University of Wisconsin-Madison
CISC101 Reminders Assignment 3 due next Friday. Winter 2019
University of Wisconsin at Madison
James N. Bellinger University of Wisconsin at Madison 18-January-2012
James N. Bellinger University of Wisconsin at Madison 11-January-2012
Running a Java Program using Blue Jay.
James N. Bellinger University of Wisconsin at Madison 28 July 2010
University of Wisconsin at Madison
Markov Decision Processes
Introduction to Computer Engineering
Markov Decision Processes
Presentation transcript:

James N. Bellinger University of Wisconsin at Madison 4 August 2010 Code Migration James N. Bellinger University of Wisconsin at Madison 4 August 2010 4 July 2010

Executive summary 7.0.1.m differences are not real, bug in KS test While investigating, other “curiosities” appeared 4 August 2010

7.0.1.migrate vs 7.0.1.m, apparent differences Why were there differences? Ran 7.0.1.m on the same file, twice, using maxopt Processed using non-opt stnmaker and histogram generator Compared using usual histogram comparator Voila: same different histograms as comparing 7.0.1.migrate to 7.0.1.m; all in TProfile plots You don’t get the same results twice in a row using the same data? Why not? Perhaps we are using uninitialized data somewhere Started valgrind job to check this Perhaps there was a bug in the checking program Dumped the histogram contents THESE WERE IDENTICAL. It looks like 7.0.1.m and 7.0.1.migrate are the same 4 August 2010

While searching for the difference Running valgrind on maxopt ProductionExe Not guaranteed, optimizations can confuse it Run again with non-optimized and compare Job not done yet So far it complains about oracle_client and root using uninitialized data AND Complained about KalUtils::forwardFit2COT, where Prof. Herndon verified that a known defect exists 4 August 2010

Where is the problem in our code? 306 if (track->fit().layer[track->fit().innermostlay_]==0&&track->fit().innermostlay_==1) { 307 while (track->fit().layer[track->fit().innermostlay_]==0) { 308 track->fit().innermostlay_ = track->fit().innermostlay_+1; 309 } 310 } The real problem is elsewhere: the test at line 306 is a work-around to keep it from crashing 4 August 2010

What next? Maybe we can add sanity checking code where we use oracle (or this may be known to be harmless) We could get root code and fix it for our own use (this may be harmless too) Side effect of packing memory in blocks? Tracking code: we could generate some experts and find the bug (original authors are gone from HEP) Or we could say that the cloud is still no bigger than a man’s hand, the workaround works, and forge ahead anyway 4 August 2010