I've seen this problem all around the internet and have yet to find a reasonable solution yet. I've truncated the core_url_rewrite table, set my permissions properly, etc.
It seems there is an issue when actually performing the query, duplicate data is being inserted into the table, and no exception is thrown, causing the script to hang indefinitely. All other indexes work fine. The table has about 300,000+ records. So any number of these could be causing an issue.
I've pruned the database to make sure products do not share the same SKU, as that was also one of the recommended solutions. I'm not exactly sure what the indexer is doing specifically that would cause this conflict. Any suggestions are greatly appreciated!