Wednesday, May 23, 2007

Getting Moving Again

I'm back!

After putting Pyd away for a couple weeks back in February, I returned to it to find that the latest version of DMD was suddenly unable to compile it. DMD wasn't merely emitting some arcane error message, it was using up the whole CPU while eating more and more RAM, while printing nothing. Yikes.

I had figured that the only things which had changed were DMD's various new features and some of the new stuff I had crammed into Pyd. However, systematically commenting out my new code didn't change anything. Then simhau made a post to the Pyd forum which clarified things. He was running into these problems, too, when he said:

Tested some more, and [if] I set with_st=False it compiles and works.

Hell. StackThreads. I would never have thought of that. I flipped around CeleriD to set with_st to False by default, and things started working much more readily.

The next step is to figure out whether it's StackThreads or Pyd's iteration wrapping code that's causing DMD to freak out. I don't expect this to be hard. If it's StackThreads, I'll have to rely on Mikola to fix it. If it's my code, fixing it should be easy.

Expect me to commit something new to the svn repo in the near future reflecting all of this.

In other news! I have been invited to speak at the D Conference 2007 about Pyd. So that should be fun.