ACM Turing Centenary Celebration, Raw Notes

Here is a raw transcript of my hand-written notes from the ACM Turing Centenary Celebration in San Francisco a couple of weeks ago.

Please note that these are my thoughts and impressions, not necessarily those of the speakers, and that it is quite possible that I misheard or misunderstood a few things, or that I incorrectly attributed the wrong person. If you think I made a mistake, please let me know.

Turing, the Man

  • Turing was misunderstood and discriminated against. Who are the misfits now? Who should be supported?
  • Turing’s mom thought the Turing Award maybe was an award given to long-distance runners. Turing was a runner.
  • Apparently, none of the 32 Turing award laureates in the audience knew of Turing when they did their award-winning work? That is hard to believe. Knuth said he knew of Turing. Maybe I misunderstood the question.
  • Knuth: Turing was the first person with the mind of a geek.
  • Turing did things from first principles. That’s why Turing machines are more understandable than Church’s lambda calculus (says Dana Scott).

Human and Machine Intelligence

  • Jim Gray: AI should speak like a native speaker, hear like a native speaker, and see like a person.
  • Interesting definition: all humans can do that. But is this harder than playing chess or proving theorems? Interestingly, it is harder. The easy things are hard.
  • Turing: We should build a “child machine” and educate it.
  • Book: Human Problem Solving
  • Emotions used to re-prioritize goals in multi-agent systems: agents behave better with emotions when there is a lot of uncertainty.
  • Much human intelligence is stored, with fast recognition.
  • Another reference to “Thinking Fast and Slow”.
  • Raj Reddy: “When you have learned something, you store it so you can retrieve it instantly. You dedicate permanent memory to it.” Then why do we forget?
  • Creativity: Brilliant move in Deep Blue vs. Kasparov, game 3. (look up)

What Computers Do: Model, Connect, and Engage

  • Big data: physics, chemistry, biology, geology, social networks.
  • But how much of the data is actually useful? “We only use 10% of our brains” myth, “We only use 10% of our bandwidth”.
  • Connectivity, ubiquity, scaling, approximation, AI, reusable components, dependability, uncertainty: key concepts.
  • Probability distributions, parameterized over the main, like lists, as standard data type?
  • Catastrophe mode – few dependencies on a “catastrophe computing base”, similar to trusted computing base. Make tough choices, but keep your service going.
  • Swap people between security and attackers is a good idea.
  • Butler Lampson: “A new TCP connection for every mouse click? Madness!”

Systems Architecture, Design, Engineering, and Verification – The Practice in Research and Research in Practice

  • Would Turing machines have had the same impact if it had many instructions as opposed to just a few, elegant ones?
  • Biggest advances since Turing: operating systems, programming languages, networks.
  • Future? Not so rosy, says Thompson.
  • 50s: computers were accessible
  • 60s: had become inaccessible because of economic concerns and batch computing
  • Formal verification: Turing 49 paper, “Checking a Large Routine”
  • What makes research practical?
    • Thompson: right people, right time
    • synergism, backing the right people, not just concrete goals
  • “Nice theory symptom” – we often like a nice theory, ignore practical problems and needs
  • Most software (e.g. incrementally written software) is difficult to verify.
  • Airbus software is completely verifiable by design/

Extracting Energy from the Turing Tarpit

  • 67% of fossil fuels are burned to create electricity.
  • Think of our real goal. We don’t want to create electricity, we want to do something with it. Similarly: our goal is not to write millions of lines of code.
  • Alan Kay: “The easiest way to predict the future is to prevent it.” – Lots of things that barely scaled when they were invented are still around and still do not scale.

The Turing Computational Model

  • Widening gap between users and programmers. Users’ expectation and programmers accomplishments.
  • 1960s customs are a source of bugs. We don’t see them as just customs, though, we see them more as “laws”.
  • LSPACE \subset P \stackrel{?}{\subset} NP \stackrel{?}{\subset}  PSPACE
  • LSPACE \subset PSPACE \; \Rightarrow \; (P \subset NP) \; or \; (NP \subset PSPACE)
  • Big-oh does generally not take into account communication costs. What if communication costs become dominant, or if it can break down?
  • Vivek Sarkar: “What about energy? It seems like the Turing model is good to account for energy, as it takes energy to move the tape.

Computer Architecture

  • Sutherland: communication dominates logic in hardware; we must begin to use clock-free designs.
  • Fred Brooks: Turing’s ACE Pilot architecture assumed hardware is expensive and dear, and programmers are abundant and cheap.
  • Chuck Thacker: “Cutting it [knowledge about the way computers work] off at the C computer level seems limiting.”

Programming Languages – Past Achievements and Future Challenges

  • Nicklaus Wirth: “We don’t teach programming anymore. Students come to university already knowing it.” Really? IT seems like he is talking about wasteful programming.
  • Liskov:
    • programming methodology first; then maybe find some programming language features that help.
    • Software architects: “Settle on a simple memory model. If all we can do is put in fences because we can’t reason about it, we haven’t achieved much.”
    • We now teach with Python. We may create a generation of programmers who don’t understand the importance of modularity.
  • Wirth: “Vicious cycle between language used in academia and industry; can only be broken at the university.”

An Algorithmic View of the Universe

  • Valiant (?): Turing pointed out “cultural search”, how science progresses.
  • CS undergrads not interested in natural science applications. Should there be an explicit unit that introduces them to science applications?
  • Karp:
    • “In biology, form is function. Protein folding determines what the protein does.”
    • X-ray crystallography vs. computed folding:
    • Computed folding is computation; therefore, X-ray crystallography is too.
    • Figuring out folding is NP-complete ==> X-ray crystallography is NP-complete
    • How long will it take for a protein to fold? CS can tell biologists: exponential time!
  • Adleman:
    • Learned a lot about being a computer scientist in another field. Biologists don’t talk our language. It’s easy to solve the wrong problem.
    • Biologists may want a sample of not-quite-optimal solutions, but faster.
    • CS can contribute a lot with its “algorithmic lens,” but we need to meet with our “customers.”
  • Tarjan: learn with skepticism, challenge your instructors and the papers you read — that’s where you’ll find problems to solve.
  • Union set: O(inverse Ackerman) – crazy but true
  • Can another Turing come along? “Yes. It’s not so important to know everything, but to have the ability to understand everything.” And perhaps to know of everything.
  • Favorite algorithms: Shrinking blossoms algorithm (look up)
  • Hungarian algorithm for assignment problem
  • Is the strong Turing thesis enough to preclude time travel?
  • Least favorite algorithms: Adleman, genetic algorithms. “We don’t understand the problem, so we hope the computer will understand.” Genetic algorithm idea taken from biology; why assume that the problem space is the same? But if it works (well enough)? Who says genetics in biology (mutation, sexual reproduction) is the best way to evolve?

Information, Data, Security in a Networked Future

  • Shamir: “Codebreakers at Blethley Park not a victory of human brilliance over machines, but a victory of machine power (exhaustive search) over human stupidity (Enigma operator mistakes).”
  • Rivest: “Calling a string ‘secret key’ does not make it secret.”
  • Maybe we need an attitude adjustment: secret keys are secret most of the time. Users don’t make errors most of the time. That helps recover.
  • Many security problems are caused by human error. What can technology do to make humans more trustworthy and compliant?
  • Privacy/trust in social networks: needs to be an open architecture.

Again, these are my notes. In particular, all mistakes are mine. Caveat lector.

Share
Posted in Uncategorized | Leave a comment

Print This Post Print This Post  

A Work Presentation, and a Comment by a Turing Award Laureate

I gave a presentation at work today to an audience of probably 100 to 150 people, describing my project of the last week.

The project involved genetic algorithms for auto-tuning configurations, and I almost put the “Kanye – Gay Fish” song from the “South Park” episode “Fishsticks” into the presentation:


But the Auto-Tune comes in a bit too late. It was a 5-minute presentation, and I could only spare a few seconds for the Auto-Tune joke. Instead I went with Auto-Tune the News:


I think these choices further prove how cool my job is.

I’m pretty satisfied, both with my presentation, which I ended up calling “Auto-Tune the Config,” and my project in general. It’s not quite ready for production yet, but it’s going to cut down on hours of work every month.

Interestingly, when Turing Award laureate Leonard Adleman was asked on stage at the ACM Turing Centenary Celebration what his least favorite kind of algorithm was, he said genetic algorithms, exactly what I was using in my project.

Adleman said using genetic algorithms usually amounts to saying “I don’t understand the problem, but I hope the computer will.” Sure, I admit to not understanding my problem here, how one value influences all the other ones in a rapidly changing multidimensional parameter space. What I care about is finding a solution, one that involves little work on my part.

Share
Posted in Ramblings | Leave a comment

Print This Post Print This Post  

Back from the ACM Turing Centenary Celebration

I just returned from two days in San Francisco, where I attended the ACM Turing Centenary Celebration. It was a truly geeky birthday for a dead guy: 32 Turing Award laureates attended and participated in panels and talks. I ran into a few people who I knew (and who knew me), and a whole bunch of people who I also knew (but who didn’t know me).

A few talks I had already heard at other conferences, but many raised interesting points. I’ll have to get back to that later. Thanks, ACM, for organizing this and inviting me to attend.

Judea Pearl, 2012 Turing Award laureate

Judea Pearl, 2012 Turing Award laureate, speaking at the ACM Turing 100

Moshe Vardi moderating a panel

Moshe Vardi moderating a panel at the ACM Turing 100

Alcatraz

Alcatraz

Golden Gate Bridge barely visible in the glare

Golden Gate Bridge barely visible in the glare

San Francisco as seen from the airplane

San Francisco as seen from the airplane

Share
Posted in Pictures | 3 Comments

Print This Post Print This Post  

An Addiction, or Two?

I absolutely love my Kindle Touch. I’ve already read two books, which embarrassingly is as much as I read all last year. I was skeptical about how easy it is to read, but it’s just as good as reading on paper. Perhaps better. I also would have expected that I’d be more careful with an electronic device, but interestingly, it’s just the opposite: I put it in my pocket, because I’m not worried about bending or tearing pages.

I also bought Legend of Grimrock a couple of weeks ago. Tonight, I finally installed it, and it looks and plays great. I think it could turn into another addiction. You can’t imagine how big this is: It’s the first video game I’ve bought in probably 15 years.

Share
Posted in Uncategorized | Leave a comment

Print This Post Print This Post  

Three Years Left?

According to a Bloomberg article, I have about three years left before my employability as a software engineer will start to decline.

There was some discussion about this on Slashdot. I particularly liked this comment, in response to why software engineers have a relatively high starting salary:

You’ve got it right when you say “compared to normal people”. Being a (good) software engineer takes a better-than-average brain. Better-than-average as in 98% of the world population won’t ever be a good software engineer, no matter how much time and effort they put in it, because they simply don’t have the brains for it.

I have a hard time believing that my comparative skills will decline so soon. At least right now, I don’t feel like I need to be worried about losing my job to a new grad or having it outsourced. And there is still so much more to learn and master.

Share
Posted in Ramblings | Leave a comment

Print This Post Print This Post  

My First 10 km Run

Yesterday, for the first time in my life, I ran 10 km without stopping. It felt good. Last year, I had come close several times, but always decided to take it slow, maybe just run 8 km, and then something always happened that prevented me from running 10 km.

This time, after about 6 km, I still felt good. I decided to go for it.

I’m glad I did. I don’t even feel as sore as I would have expected. My average mile time was only 10:40, but I’m still elated about finishing the 10 km. When I was younger, I never would have thought this is something I could do.

Relaxing and reading after my 10 km run.

Relaxing and reading after my 10 km run.

Share
Posted in Pictures | Leave a comment

Print This Post Print This Post  

A Fantastic Dinner

On Wednesday night, I went to Chez Shea in Seattle for dinner. It was fantastic. The food was delicious, and our waitress was great: knowledgeable, polite, attentive, but not pushy.

As appetizers, we had new potatoes and braised fennel salad with tarragon creme fraiche, pickled mustard seed vinaigrette and frisee; as well as Gruyere, spring onion and mushroom tart with baby arugula and jicama salad. The new potatoes were simple, clean, and appealing, and the Gruyere tart was decadent and rich.

Because our next dishes were running a bit behind, we got to try English pea soup, which had a hint of mint in it.

As main course, we chose pan-seared sockeye salmon on green lentils, shiitake mushrooms with bacon, rapini and caper brown butter; and potato gnocchi
with parsley and arugula pesto, roasted tomatoes, parmigiano reggiano, and toasted pine nuts.

Desert chocolate mousse and vanilla creme brulee. As drinks, we had a glass of La Chablisienne, a 2010 French Sauvignon Blanc; a glass of Chateau d’Oupia, a 2010 French Carignan/Syrah/Grenache blend; as well as something called “French Connection”, which was an mandarine-orange flavored drink with green chartreuse in it (can’t find the recipe for that version).

It was a fabulous meal and a great evening. Chez Shea could easily be my favorite Seattle restaurant. Unfortunately, it is closing at the end of this month. So it goes.

Share
Posted in Uncategorized | Leave a comment

Print This Post Print This Post  

Showers, Chance of Rain, Rain

Weather forecast for Seattle:

Showers likely. Cloudy with chance of rain in the evening. Then rain likely after midnight.

I’m not even kidding. Those are the first three sentences of the current weather forecast on my phone.

Weather Forecast Seattle, 2012-03-16

Share
Posted in Uncategorized | Leave a comment

Print This Post Print This Post  

Communication

Something anyone writing a paper or doing a presentation needs to keep in mind: Communication.

Here’s the mouseOver text for the image: “Anyone who says that they’re great at communicating but ‘people are bad at listening’ is confused about how communication works.”

xkcd: Communication

Thanks, xkcd.

Share
Posted in Uncategorized | Leave a comment

Print This Post Print This Post  

Input/Output Redirection in DrJava?

On the AP Computer Science mailing list, there was a teacher who wanted to do input/output redirection and who asked why the following didn’t work:

java LetterCounter < input.txt

The Interactions Pane in DrJava is not a DOS command line or Unix-type shell, and it does not support I/O redirection.

The java MyClass arg0 arg1 arg2 thing is only "syntactic sugar" for

MyClass.main(new String[] {"arg0", "arg1", "arg2"})

While the Interactions Pane doesn't support I/O redirection and piping with <, > and |, it is a fully functional Java interpreter.

You can, therefore, create a FileInputStream and use it as System.in before starting your program.

For example, if my program is the following:

[cc lang="java"]import java.io.*;

public class ReadFromStdIn {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while((line = br.readLine()) != null) {
System.out.println(line);
}
}
}[/cc]

Then I can start it the following way in DrJava to make it read from the test.txt file on my desktop:

[cc lang="java"]Welcome to DrJava. Working directory is C:\Users\mgricken\Documents\Dev\Java
> import java.io.FileInputStream
> System.setIn(new FileInputStream("C:/Users/mgricken/Desktop/test.txt"))
> java ReadFromStdIn
Foo
Bar
Fuzz
Bam
>[/cc]

The four lines with "Foo Bar Fuzz Bam" are coming from the test.txt file.

I realize that this is different from how Java programs are started in DOS or Unix shells, but it's only because the main method is a very special method. DrJava's Interaction Pane becomes elegant because you can run any method.

I could write the program this way, for example:

[cc lang="java"]import java.io.*;

public class ReadFromStream {
public void readFromStream(InputStream is) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while((line = br.readLine()) != null) {
System.out.println(line);
}
}
}[/cc]

Then I could run the program in the following ways:

[cc lang="java"]Welcome to DrJava. Working directory is C:\Users\mgricken\Documents\Dev\Java
> import java.io.FileInputStream
>
> // read from standard in
> new ReadFromStream().readFromStream(System.in)
>
> // read from test.txt
> new ReadFromStream().readFromStream(new FileInputStream("C:/Users/mgricken/Desktop/test.txt"))[/cc]

I generally advise to do as little processing in the main method and rely as little as possible on magic like "where is my standard in coming from?", and to write as much general purpose code as possible like the [cci lang="java"]readFromStream()[/cci] method. It will make code more reusable and work better in DrJava's Interaction Pane.

I hope this helps. Thanks for using DrJava!

Share
Posted in DrJava, Uncategorized | Leave a comment

Print This Post Print This Post  

BSD License for the Reflection-Based S-Expression Parser

About a year and a half ago, I wrote a class in Java that uses reflection to create a parser for S-expressions, based on a class hierarchy.

Today, a reader had found the class and wanted to use it in a commercial product. He was kind enough to inquire about the license. I wanted people to use it, otherwise I wouldn’t have made it available, but I also wanted to avoid giving expressed or implied warranties.

I decided to make it available under the BSD license. In fact, anything on this site or my graduate school site that’s not governed by another license is now available under the BSD license.

Finally, the reader thanked me for “writing such a nice piece of well-designed software.” As you can tell, flattery gets you everywhere.

Share
Posted in Mint, Uncategorized | Leave a comment

Print This Post Print This Post  

Photography Class

I went to a “Capturing True Emotion” photography workshop today. I’ve had my Canon G12 for over a year now, and I’ve passed my trusted Canon A610 on to my mom, but I still haven’t used the G12 very much. In fact, I probably still take better pictures with the A610 than with the G12, just because I don’t know it.

I figured I needed to spend some time with it, and what better way than to pay for it? I’m frugal, so there’s no skipping out of a paid workshop.

The first four hours of the workshop weren’t so great. It was at the Museum of Flight, in movie theater-style seating, for about 200 people. The information density was incredibly low in the first hour and the half, and anyone easily could have skipped that without missing any relevant information. It was mostly the instructor talking about how cool traveling and shooting weddings was. After that, we started talking about ISO, aperture, shutter speed, and so on. That was more interesting and useful.

The last two hours, after lunch, were by far the most useful. We went outside, where it was freezing, and practiced different ways to shoot. The trick that I got down pretty well was blurring the background using aperture. I think I took some neat pictures.

I have noticed, though, that my point-and-shoot definitely has some limitations, and I almost want a DSLR now. I can’t go to a very small aperture, for example, and when I zoom, I can’t have a very large aperture anymore. A lens for my camera might help, but I’m not sure if that makes sense. I’ll see how much I use the G12 this year and then decide what to purchase.

Share
Posted in Pictures, Uncategorized | Leave a comment

Print This Post Print This Post  

Time Wasted

Today was a true Monday — not a pleasant day. Except for maybe an hour at work and two hours at the gym, it was nothing but wasted time. I took my car to the shop today to have the damage from the January 4 accident repaired, then drove a rental car directly to work. It’s a Toyota Corolla. I like the Corolla a lot, but compared to my Camry, it’s decidedly less sophisticated. At least traffic wasn’t bad. On Wednesday or Thursday, I’m supposed to get my car back. Even though the other driver’s insurance is paying, this incident is probably going to cost me about $200 and 15 hours of my spare time.

When I arrived at work, I found that construction workers had built an office around two cubes nearby, and all our computers had been unplugged. Without warning. My desktop wasn’t starting up anymore. I got it to boot with the integrated graphics again, but the dual-head on the dedicated card wasn’t working anymore.

I tried to re-position the video card, but after about four hours, I gave up and started working with just one monitor. IT support later took a look at it. The desktop must have really been knocked around. There was a big, biiig dent in the case, and the video card had to be bent back into the slot with more force than I was willing to exert. But fortunately, all is working again.

Dent in my work desktop.

Dent in my work desktop.

All in all, I probably got one hour of work in today. I’m disappointed. What turned my Monday around, though, was my visit at the gym. I swam more than I’ve probably ever swum before. It felt good.

Share
Posted in Pictures, Ramblings | Leave a comment

Print This Post Print This Post  

Fun in the Snow, Work from Home

Today is the third snow day in a row. I’m glad that my job offers me the flexibility to work from home, because the last two days, it was dangerous out there, and now it is just nasty. I can’t wait to go back to the office, though. Even though my productivity has been descent (better than I expected — maybe it’s the lack of meetings), working from home does get a bit lonely.

Sliding in the snow, January 18, 2012

Sliding in the snow, January 18, 2012

It’s been a long time since I’ve seen this much snow. Definitely an experience.

Share
Posted in Pictures | Leave a comment

Print This Post Print This Post  

Seattle, a Winter Wonderland

Before I moved to Seattle, people told me it “never snows in Seattle.” In the first few months of 2011, I had already found that to be incorrect. But today, more snow fell than I’ve seen here before. It’s really quite pretty, but it’s also Sunday, and I don’t have to go anywhere.

We’ll see how I feel about the snow tomorrow. Fortunately, my manager is great and has already said we could all work from home if necessary. I do have a meeting, though, that I don’t want to miss.

Share
Posted in Pictures, Uncategorized | Leave a comment

Print This Post Print This Post  

People Who Crash into Cars I’m in Continue to Suck

The accident last week was the second time that I was involved in a car accident (it happened more often if you count cars hitting me on a bike).

The first time, a Houston rapper rear-ended my friend’s car, with my friend and me in it, and totaled it. He had an insurance card that he handed over, but what we didn’t know was that he had canceled the policy. He had had enough money to buy his new car in cash, but then he was too stingy to have the legally-required insurance.

You suck, man.

The accident last week wasn’t nearly as bad. Some people might not even care. There is some bent metal on the fender and a bunch of long scratches. The woman gave me her insurance card and her phone number. I talked to her insurance last week, but they didn’t get anywhere, because the phone number they had wasn’t working. I tried calling her, and it was the same number. She had given me a phone number that didn’t work.

That sucks too.

I tracked her down on Google and called her at work. I’m glad she honored my request to call her insurance as soon as possible. She acknowledged she was at fault, and now I can go get an estimate. She stunned me a little, though, when she grumpily said “I’m disappointed you got the insurance involved. I wish you had just gotten an estimate, and I would have paid for the repairs.” Tough luck, missy.

A co-worker of mine had the perfect response. He asked, “Did you say ‘I’m disappointed you hit my car’?” I wish I had.

Share
Posted in Uncategorized | Leave a comment

Print This Post Print This Post  

A Grammar Change Saves the Day

At work, we deployed the latest version of our code on Wednesday night. It included a new query language. We used ANTLR to do the parsing.

We had never tested the new queries in a production setting, but the deployments to our Alpha, Gamma, and two regional clusters worked without problems. A few hours after deploying to the last clusters, a customer started using it, and that’s when all hell broke lose. I ended up rolling back to the previous version at 4 AM on Thursday.

A quick analysis by my coworkers yesterday showed that most of the time was spent doing the parsing.

The grammar that we used was essentially this one, which required backtracking by ANTLR:


E ::= ( E )
| C
C ::= ( E and E )
| ( E or E )

We never even let our test query finish, but it had been running for 45 minutes non-stop. I suggested a small change, which amounted to something like this:


E ::= ( E R
R ::= )
| and E )
| or E )

Sometimes it is helpful that I spent grad school in the programming languages group.

The parser that ANTLR generated now parsed our test query in under a second. Sure, we changed an LL(*) parser into an LL(1) parser, but I never would have thought that changing the grammar could result in an improvement by a factor of 2700.

Share
Posted in Uncategorized | Leave a comment

Print This Post Print This Post  

Happy New Year (?)

Happy new year!

I haven’t written in a while, but I’ve also been busy. You know the story. I’ve done some traveling in private matters, but mostly it was large scale designs and some important improvements for work. I took every Monday off in December, and I still think that was a genial idea. Now it’s back to work without time off. It’s a marathon of sprints.

This year has not started so well for me, though. The girl I had been dating says she “needs some time.” I don’t know what that means. I don’t know if I am single or still in a relationship. Not that that really matters, I don’t have the nerve to meet anyone new right now anyway. I’ll just bury myself in work as a distraction.

On January 4, a woman drove her car into mine when she tried to squeeze into the left turn lane as I was stopped at a red light. So unnecessary. The damage isn’t bad, but it’s annoying. My car wasn’t even a year old. And now I have to deal with insurance and repairs. The hours wasted are what annoy me the most.

And yesterday I missed my bus because I ripped my shoelace when I put on my left boot. Argh.

Makes me kind of worry about Friday, January 13.

Share
Posted in Ramblings | Leave a comment

Print This Post Print This Post  

Where Citations Come From — xkcd: Citogenesis

via xkcd: Citogenesis.

Something similar actually happened with the Karl-Theodor zu Guttenberg, who used to be the German Minister for Economics and Technology and later the Minister of Defense, before it became clear that he had plagiarized his doctoral dissertation.

Share
Posted in Uncategorized | Leave a comment

Print This Post Print This Post  

DrJava DefinitionsPaneMemoryLeakTest fails on Mac

I submitted a bugfix for a problem with the debug panel when no
debugger is available
.

I noticed that on the Mac, the DefinitionsPaneMemoryLeakTest now
fails:

[cc] [junit] DefinitionsPaneMemoryLeakTest 26.92 sec
[junit] Testsuite: edu.rice.cs.drjava.ui.DefinitionsPaneMemoryLeakTest
[junit] Tests run: 1, Failures: 1, Errors: 0
[junit] ————- Standard Error —————–
[junit] Skipped analysing class java.security.ProtectionDomain
because of java.lang.AssertionError
[junit] ————- —————- —————
[junit] Testcase:
testDocumentPaneMemoryLeak(edu.rice.cs.drjava.ui.DefinitionsPaneMemoryLeakTest): FAILED
[junit] Document 0 leaked:
[junit] private static sun.awt.AppContext
sun.awt.AppContext.mainAppContext->
[junit] sun.awt.AppContext@4998a455-table->
[junit] java.util.HashMap@7f1bfcfc-table->

[junit] [Ljava.beans.PropertyChangeListener;@67b50846-[373]->
[junit] javax.swing.JViewport$1@7ceade87-this$0->
[junit] javax.swing.JViewport@48be3a5e-component->
[junit] java.util.ArrayList@6b333f77-elementData->
[junit] [Ljava.lang.Object;@559b52d3-[0]->
[junit] edu.rice.cs.drjava.ui.DefinitionsPane@2a38d0a8-_doc->
[junit] edu.rice.cs.drjava.model.DefaultGlobalModel$ConcreteOpenDefDoc@557e5cbd
[junit] at
org.netbeans.test.MemoryTestUtils.assertGC(MemoryTestUtils.java:137)[/cc]

It passes on Windows, and I haven’t tried it on Linux. I rolled
back as far as revision 5266, which was from June 3, 2010, and it was
still failing on the Mac. I have a feeling that something must have
changed in Mac OS (Lion) or the Java version I have running
(1.6.0_29). I know I’ve successfully run the unit tests many times
since then on the Mac, even on my MacBook Pro. I even think I have run
them successfully on Mac OS Lion.

It would be great if I could still run the unit tests on an older Mac, with an older Mac OS. I’ll dig into this, but it may take some time.

Share
Posted in DrJava | 5 Comments

Print This Post Print This Post