Tuesday night's Candidates Gone Wild featured mayhem and embarrassment: political hopefuls belted show tunes, answered questions on Portland history, and built a mini-Columbia River Crossing for a dog.

But with the three mayoral candidates locked in a tight race, the show was more tense and barbed than in past years.

Jefferson Smith and Charlie Hales both took pointed jabs at a "$4 tomato"—a not-especially-veiled reference to New Seasons Market, the supermarket chain at the center of Eileen Brady's resume.

Brady gave as good as she got at the Bagdad Theater, poking at "Willamette Weekly" and confronting the pro-Smith crowd at an event organized by The Bus Project (which Smith founded) and WW.

"How did Jefferson get all the good seats?" she asked.

But tensions boiled over backstage, after Smith told the audience that he was the only candidate to hire a person of color on his staff. Brady then berated Smith in the theater wings.

"It was a shit-storm backstage," says Byron Beck, who moderated the panel on equity. "There was finger pointing, accusations and very hot tempers." 

Then Brady's outfit for her song-and-dance number went missing—stolen, perhaps. But surprise guest star Storm Large loaned her another.

Brady's talent-show performance, a medley of disco and dance numbers featuring Occupy Portland's mayoral candidate Cameron Whitten, was followed by Smith belting "Old Man River" a capella. Charlie Hales paved a pothole.

The opponents in the other City Council race also stuck to crooning—and brought in ringers. Commissioner Amanda Fritz sang an ABBA duet with Large ("Fernando" became "Amanda"), while Mary Nolan mostly let indie rockers Dave Depper and Nick Jaina carry the tune.

Mayor Sam Adams made his own guest appearance, opening the show by reading aloud some of the crackpot voice mails he's received in office. ("I don't like the new packaging on the Fig Newtons from Nabisco.")

Many of the lesser-known mayoral candidates joined in an opening procession, wearing sashes smeared with glitter paint that had not fully dried.

Much of the crowd already had a rooting interest, helpfully color-coded in T-shirts: green for Brady, red for Hales, orange for Smith. Nolan had a contingent from the International Association of Fire Fighters, wearing yellow tees that said "Firefighters for Nolan."

She gave them a pep talk at the Back Stage Bar before the show. "Laugh when I'm funny," Nolan instructed the firefighter's union, "and heckle!"

The band Radiation City opened the show, and Live Wire! Radio's Courtenay Hameister hosted. Her promise that "We're laughing with the candidates, not at them" drew derisive snorts backstage.

Here's video from our news partners at KATU: