Esp32 dual core multi task and priorities

task1 : webServerTask,
task2 : guiTask (use mutex)
I assigned task1 to cpu0 and task2 to cpu1 using the xTaskCreatePinnedToCore function in esp32. Then I expected task1 and task2 to run concurrently on each other’s cpu regardless of their respective priorities, isn’t that right?
If I increase the priority of task1 over task2, task2 will not run. If I set the priorities to be the same, both tasks will run. Even if I assign tasks to different CPUs, does the execution of the tasks differ according to their priority? Or is it related to the use of semaphore in task2?

case 1: webServerTask run, guiTask does not work (w/ mutex)
  xTaskCreatePinnedToCore(webServerTask, "webServer",  4096,       NULL,  2, NULL, 0); 
  xTaskCreatePinnedToCore(guiTask,             "gui",  4096 * 2,   NULL,  1, NULL, 1);   

case 2: both webServerTask and guiTask run (w/ mutex)
  xTaskCreatePinnedToCore(webServerTask, "webServer",  4096,       NULL,  1, NULL, 0);  
  xTaskCreatePinnedToCore(guiTask,             "gui",  4096 * 2,   NULL,  1, NULL, 1);  

case 3: both webServerTask and guiTask run (w/o mutex)
  xTaskCreatePinnedToCore(webServerTask, "webServer",  4096,       NULL,  2, NULL, 0);  
  xTaskCreatePinnedToCore(guiTask,             "gui",  4096 * 2,   NULL,  1, NULL, 1);  

I think both tasks are created and started (early logging in the task function to confirm this) but one is then quickly blocked or starved.

In general the docs are at https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/freertos-smp.html.