How large is your database? It's not uncommon for rollback transactions to take considerably longer than the operations they are trying to do, especially if affected objects have dependencies.
Another important question is what environment are you running this on? I'm assuming you're not running it on live, which leads to a couple more questions, specifically:
-How long can you afford to wait for it?
-Can you kill the database and restore a backup?
If you can't wait for an long or potentially unknown amount of time, your best bet might be simply restoring a backup. If you don't want to do that, you might want to wait for a while longer. You can use the
sys.dm_exec_requests DMV to get information on wait times and whether or not it's being blocked, and on what might be blocking it.
After you find columns you might find useful, you can revise the select statement to get rid of the spam.
For more information, see this post by Paul Randal (SQL MVP and author) on the shrink command: http://www.sqlskills.com/blogs/paul/why-lob-data-makes-shrink-run-slooooowly-t-sql-tuesday-006/