The document presents Magiclock, a technique for detecting potential deadlocks in large multithreaded programs. Magiclock analyzes execution traces without any actual deadlocks occurring. It iteratively eliminates unnecessary lock dependencies and partitions lock dependencies by thread to efficiently detect potential deadlock chains without examining duplicate permutations. The experimental results showed Magiclock is more scalable and efficient than existing dynamic detectors.