I am aware that calling dispatch_async in the current queue will cause a deadlock, however, experiencing a deadlock in a completely different queue:
-(void) deadlock{
    // we reach this point in the main queue
    dispatch_sync(dispatch_queue_create("lucas", 0), ^{
        NSLog(@"Doing something in the bakcgound...");
        // We reach this point in another queue, but it deadlocks!
        dispatch_sync(dispatch_get_main_queue(), ^{
            NSLog(@"Will I ever get here?????");
        });
    });
}
Any idea of what I'm doing wrong??
                        
Yes, it's a deadlock. Just like you have been creating an example of one
So, dependently on your task, you should change one of this dispatch_sync() to dispatch_async().