PlaneShift

  • Status Unconfirmed
  • Percent Complete
    0%
  • Task Type Bug Report
  • Category Bugtracker
  • Assigned To No-one
  • Operating System Linux
  • Severity Low
  • Priority Very Low
  • Reported Version 0.7.11 Unreal
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: PlaneShift
Opened by Haviland Tenouri - 31.07.2021
Last edited by Talad - 24.11.2022

FS#7258 - segmentation fault in hydlaa VK_ERROR_DEVICE_LOST

Not sure what causes the client to crash. But it seems reproducible when I turn around.

System is Linux 5.8.0-59
Ubuntu bullseye
mesa 20.2.6-0
NVidia GeForce GTX 970
Driver Version: 460.91.03
CUDA Version: 11.2

[2021.07.31-21.33.40:344][840]LogRHI: Timed out while waiting for GPU to catch up on occlusion results. (0.5 s)
[2021.07.31-21.33.40:420][840]LogVulkanRHI: Error: Result failed, VkResult=-4
at /home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4742
with error VK_ERROR_DEVICE_LOST
Fatal error: [File:/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 803]
Result failed, VkResult=-4
at /home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4742
with error VK_ERROR_DEVICE_LOST
Signal 11 caught.
Malloc Size=65538 LargeMemoryPoolOffset=65554
CommonUnixCrashHandler: Signal=11
[2021.07.31-21.33.40:480][840]LogCore:

Critical error:

Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0×0000000000000003

[2021.07.31-21.33.40:480][840]LogCore: Fatal error: [File:/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 803]
Result failed, VkResult=-4
at /home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4742
with error VK_ERROR_DEVICE_LOST
0x0000000004445d9b PSUnrealClient!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp:802]
0×0000000004422322 PSUnrealClient!VulkanRHI::FFenceManager::WaitForFence(VulkanRHI::FFence*, unsigned long long) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4742]
0x00000000043fe84d PSUnrealClient!FVulkanCommandBufferManager::WaitForCmdBuffer(FVulkanCmdBuffer*, float) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanCommandBuffer.cpp:457]
0x000000000446288e PSUnrealClient!FVulkanViewport::WaitForFrameEventCompletion() [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanViewport.cpp:296]
0x000000000444795c PSUnrealClient!FVulkanViewport::Present(FVulkanCommandListContext*, FVulkanCmdBuffer*, FVulkanQueue*, FVulkanQueue*, bool) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanViewport.cpp:939]
0×0000000004447098 PSUnrealClient!FVulkanCommandListContext::RHIEndDrawingViewport(FRHIViewport*, bool, bool) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanRHI.cpp:889]
0x000000000450fcd0 PSUnrealClient!FRHICommandListExecutor::ExecuteInner_DoExecute(FRHICommandListBase&) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHICommandList.cpp:373]
0x0000000004526d97 PSUnrealClient!FExecuteRHIThreadTask::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHICommandList.cpp:428]
0x0000000004526bb5 PSUnrealClient!TGraphTask<FExecuteRHIThreadTask>::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:886]
0x0000000002e8b1f6 PSUnrealClient!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:709]
0x0000000002e8ad9e PSUnrealClient!FNamedTaskThread::ProcessTasksUntilQuit(int) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:600]
0x0000000004552ab6 PSUnrealClient!FRHIThread::Run() [/home/planeshift/UnrealEngine/Engine/Source/Runtime/RenderCore/Private/RenderingThread.cpp:319]
0x0000000002ee0017 PSUnrealClient!FRunnableThreadPThread::Run() [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25]
0x0000000002ec01fc PSUnrealClient!FRunnableThreadPThread::_ThreadProc(void*) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:185]
0x00007fab15c94609 libpthread.so.0!UnknownFunction(0×9608)
0x00007fab1529a293 libc.so.6!clone(+0×42)

0x0000000002ea96ee PSUnrealClient!FGenericPlatformMisc::RaiseException(unsigned int) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/GenericPlatform/GenericPlatformMisc.cpp:472]
0x0000000002fccd9b PSUnrealClient!FOutputDevice::LogfImpl(char16_t const*, …) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/Misc/OutputDevice.cpp:61]
0x0000000004445d9b PSUnrealClient!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp:802]
0×0000000004422322 PSUnrealClient!VulkanRHI::FFenceManager::WaitForFence(VulkanRHI::FFence*, unsigned long long) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4742]
0x00000000043fe84d PSUnrealClient!FVulkanCommandBufferManager::WaitForCmdBuffer(FVulkanCmdBuffer*, float) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanCommandBuffer.cpp:457]
0x000000000446288e PSUnrealClient!FVulkanViewport::WaitForFrameEventCompletion() [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanViewport.cpp:296]
0x000000000444795c PSUnrealClient!FVulkanViewport::Present(FVulkanCommandListContext*, FVulkanCmdBuffer*, FVulkanQueue*, FVulkanQueue*, bool) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanViewport.cpp:939]
0×0000000004447098 PSUnrealClient!FVulkanCommandListContext::RHIEndDrawingViewport(FRHIViewport*, bool, bool) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanRHI.cpp:889]
0x000000000450fcd0 PSUnrealClient!FRHICommandListExecutor::ExecuteInner_DoExecute(FRHICommandListBase&) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHICommandList.cpp:373]
0x0000000004526d97 PSUnrealClient!FExecuteRHIThreadTask::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHICommandList.cpp:428]
0x0000000004526bb5 PSUnrealClient!TGraphTask<FExecuteRHIThreadTask>::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:886]
0x0000000002e8b1f6 PSUnrealClient!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:709]
0x0000000002e8ad9e PSUnrealClient!FNamedTaskThread::ProcessTasksUntilQuit(int) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:600]
0x0000000004552ab6 PSUnrealClient!FRHIThread::Run() [/home/planeshift/UnrealEngine/Engine/Source/Runtime/RenderCore/Private/RenderingThread.cpp:319]
0x0000000002ee0017 PSUnrealClient!FRunnableThreadPThread::Run() [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25]
0x0000000002ec01fc PSUnrealClient!FRunnableThreadPThread::_ThreadProc(void*) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:185]
0x00007fab15c94609 libpthread.so.0!UnknownFunction(0×9608)
0x00007fab1529a293 libc.so.6!clone(+0×42)

[2021.07.31-21.33.40:490][840]LogAudioMixer: Display: Audio Buffer Underrun (starvation) detected.
[2021.07.31-21.33.40:490][840]LogExit: Executing StaticShutdownAfterError
Malloc Size=131160 LargeMemoryPoolOffset=196744
Malloc Size=131160 LargeMemoryPoolOffset=327928
Malloc Size=259466 LargeMemoryPoolOffset=587418
Engine crash handling finished; re-raising signal 11 for the default handler. Good bye.
Segmentation fault (core dumped)

Haviland Tenouri commented on 10.03.2022 15:26

The bug still exists, but there is a workaround:
Edit ~/.config/Epic/PSUnreal/Saved/Config/LinuxClient/Engine.ini

Under the section [SystemSettings] add the line
r.AllowStaticLighting=0

Haviland Tenouri commented on 12.06.2022 07:12

I found a spot where the client imediatly crashes on startup, so the log is not polluted by thousand of unrelated lines. Pos: 203540.08 -326088.16 10547.43 0 angle: 0.000000 (0.000000)

The relevant log lines are (I can provide full logs if you want):
[2022.06.12-06.26.00:952][728]LogStreaming: Display: FlushAsyncLoading: 1 QueuedPackages, 1647 AsyncPackages^M
[2022.06.12-06.26.01:341][728]LogPakFile: New pak file ../../../PSUnreal/Content/Paks/pakchunk9-LinuxClient.pak added to pak precacher.^M
[2022.06.12-06.26.01:369][728]LogTemp: ApsCharacter::OnRep_SetBaseTexture: grendol2^M
[2022.06.12-06.26.01:373][728]LogTemp: ApsCharacter::OnRep_SetBaseTexture: rat2^M
[2022.06.12-06.26.01:379][728]LogTemp: ApsCharacter::OnRep_SetTraits: 8^M
[2022.06.12-06.26.01:382][728]LogTemp: Item not initialized yet changed his material to 260^M
[2022.06.12-06.26.01:382][728]LogTemp: Setting material to: skins01_Mat^M
[2022.06.12-06.26.01:382][728]LogTemp: Item not initialized yet changed his material to 260^M
[2022.06.12-06.26.01:382][728]LogTemp: Setting material to: skins01_Mat^M
[2022.06.12-06.26.01:382][728]LogTemp: Item not initialized yet changed his material to 260^M
[2022.06.12-06.26.01:382][728]LogTemp: Setting material to: skins01_Mat^M
[2022.06.12-06.26.01:382][728]LogTemp: Item not initialized yet changed his material to 260^M
[2022.06.12-06.26.01:382][728]LogTemp: Setting material to: skins01_Mat^M
[2022.06.12-06.26.02:922][731]LogVulkanRHI: Error: Result failed, VkResult=-4
at /home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4789
with error VK_ERROR_DEVICE_LOST^M
[2022.06.12-06.26.03:048][731]LogCore: Error: appError called: Fatal error: [File:/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 958]
Result failed, VkResult=-4
at /home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4789
with error VK_ERROR_DEVICE_LOST

So it seems, PSU tries to modify an unintialised material.

There are a few load errors at startup which may be related:
[2022.06.12-06.24.47:664][ 0]LogInit: Error: Failed to load cursor '../../../PSUnreal/Content/None'
[2022.06.12-06.24.58:422][241]LogStreaming: Error: Couldn't find file for package /Script/GameplayDebugger requested by async loading code. NameToLoad: /Script/GameplayDebugger
[2022.06.12-06.24.58:422][241]LogStreaming: Error: This will hitch streaming because it ends up searching the disk instead of finding the file in the pak file.
[2022.06.12-06.24.58:422][241]LogStreaming: Error: Found 0 dependent packages… [2022.06.12-06.24.58:422][241]LogNetPackageMap: Error: GetObjectFromNetGUID: Failed to resolve path. FullNetGUIDPath: [37]/Script/GameplayDebugger
[2022.06.12-06.24.58:422][241]LogNetPackageMap: Error: GetObjectFromNetGUID: Outer is broken. FullNetGUIDPath: [37]/Script/GameplayDebugger.[35]DefaultGameplayDebuggerCategoryReplicator
[2022.06.12-06.24.58:422][241]LogNetPackageMap: Error: UPackageMapClient::SerializeNewActor. Unresolved Archetype GUID. Path: Default
GameplayDebuggerCategoryReplicator, NetGUID: 35.
[2022.06.12-06.24.58:422][241]LogNetPackageMap: Error: UPackageMapClient::SerializeNewActor Unable to read Archetype for NetGUID 34352 / 35
[2022.06.12-06.24.59:578][361]LogStreaming: Error: Couldn't find file for package /Game/Things/Containers/sack00 requested by async loading code. NameToLoad: /Game/Things/Containers/sack00
[2022.06.12-06.24.59:578][361]LogStreaming: Error: This will hitch streaming because it ends up searching the disk instead of finding the file in the pak file.
[2022.06.12-06.24.59:578][361]LogStreaming: Error: Found 0 dependent packages… [2022.06.12-06.26.00:870][718]LogTemp: Error: No XML root in /home/oliver/.config/Epic/PSUnreal/Saved//questnotes_Haviland_Tenouri.xml
[2022.06.12-06.26.02:922][731]LogVulkanRHI: Error: Result failed, VkResult=-4
[2022.06.12-06.26.03:048][731]LogCore: Error: appError called: Fatal error: [File:/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 958]
[2022.06.12-06.26.03:115][731]LogExit: Executing StaticShutdownAfterError

Haviland Tenouri commented on 12.06.2022 10:42

Same at another spot (near gug): 152871.14 -429476.03 9665.19 0 angle: 0.920001 (52.712151)

2022.06.12-10.40.19:551][350]LogStreaming: Display: FlushAsyncLoading: 1 QueuedPackages, 2345 AsyncPackages^M
[2022.06.12-10.40.19:965][350]LogPakFile: New pak file ../../../PSUnreal/Content/Paks/pakchunk9-LinuxClient.pak added to pak precacher.^M
[2022.06.12-10.40.19:995][350]LogTemp: ApsCharacter::OnRep_SetBaseTexture: clacker3^M
[2022.06.12-10.40.19:997][350]LogTemp: Item not initialized yet changed his material to 285^M
[2022.06.12-10.40.19:997][350]LogTemp: Setting material to: campfire01a_Mat^M
[2022.06.12-10.40.19:997][350]LogTemp: Item not initialized yet changed his material to 188^M
[2022.06.12-10.40.19:998][350]LogUObjectGlobals: Warning: Failed to find object 'MaterialInstance /Game/Things/glyphs/glyph_dark_01.glyph_dark_01'^M
[2022.06.12-10.40.19:998][350]LogTemp: Item not initialized yet changed his material to 188^M
[2022.06.12-10.40.19:998][350]LogTemp: Item not initialized yet changed his material to 285^M
[2022.06.12-10.40.19:998][350]LogTemp: Setting material to: campfire01a_Mat^M
[2022.06.12-10.40.19:998][350]LogTemp: Item not initialized yet changed his material to 188^M
[2022.06.12-10.40.20:436][350]LogUObjectHash: Compacting FUObjectHashTables data took 2.55ms^M
[2022.06.12-10.40.20:768][371]LogStreaming: Display: FlushAsyncLoading: 1 QueuedPackages, 0 AsyncPackages^M
[2022.06.12-10.40.21:062][394]LogStreaming: Display: FlushAsyncLoading: 1 QueuedPackages, 0 AsyncPackages^M
[2022.06.12-10.40.21:085][394]LogTemp: Warning: GetStreamingLevels /Game/Maps/MainWorld/Yliakum/BD_road1_X08_Y03 should be loaded: true ^M
[2022.06.12-10.40.21:085][394]LogTemp: Warning: GetStreamingLevels /Game/Maps/MainWorld/Yliakum/Gugrontid_X07_Y03 should be loaded: true ^M
[2022.06.12-10.40.21:085][394]LogTemp: Warning: GetStreamingLevels /Game/Maps/MainWorld/Yliakum/Hydlaa_X08_Y04 should be loaded: true ^M
[2022.06.12-10.40.23:066][531]LogNetPlayerMovement: Warning: CreateSavedMove: Hit limit of 96 saved moves (timing out or very bad ping?)^M
[2022.06.12-10.40.23:978][595]LogViewport: Display: Viewport MouseLockMode Changed, DoNotLock → LockOnCapture^M
[2022.06.12-10.40.23:978][595]LogViewport: Display: Viewport MouseCaptureMode Changed, CaptureDuringMouseDown → CapturePermanently^M
[2022.06.12-10.40.25:377][640]LogVulkanRHI: Error: Result failed, VkResult=-4
at /home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4789
with error VK_ERROR_DEVICE_LOST^M
[2022.06.12-10.40.25:395][640]LogCore: Error: appError called: Fatal error: [File:/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 958]
Result failed, VkResult=-4
at /home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4789
with error VK_ERROR_DEVICE_LOST
0x0000000004c749cb PSUnrealClient!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp:957]
0x0000000004c50552 PSUnrealClient!VulkanRHI::FFenceManager::WaitForFence(VulkanRHI::FFence*, unsigned long long) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4789]
0x0000000004c2c0ed PSUnrealClient!FVulkanCommandBufferManager::WaitForCmdBuffer(FVulkanCmdBuffer*, float) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanCommandBuffer.cpp:473]
0x0000000004c8e899 PSUnrealClient!FVulkanGPUTiming::GetTiming(bool) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp:346]
0x0000000004c63b32 PSUnrealClient!FVulkanCommandListContext::ReadAndCalculateGPUFrameTime() [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanQuery.cpp:405]
0x0000000004c767da PSUnrealClient!FVulkanCommandListContext::RHIEndFrame() [/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanRHI.cpp:942]
0x0000000004d49a40 PSUnrealClient!FRHICommandListExecutor::ExecuteInner_DoExecute(FRHICommandListBase&) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHICommandList.cpp:372]
0x0000000004d616f4 PSUnrealClient!FExecuteRHIThreadTask::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHICommandList.cpp:427]
0x0000000004d61505 PSUnrealClient!TGraphTask<FExecuteRHIThreadTask>::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:886]
0x00000000033e32c6 PSUnrealClient!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:710]
0x00000000033e2e5e PSUnrealClient!FNamedTaskThread::ProcessTasksUntilQuit(int) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:601]
0x0000000004d96016 PSUnrealClient!FRHIThread::Run() [/home/planeshift/UnrealEngine/Engine/Source/Runtime/RenderCore/Private/RenderingThread.cpp:319]
0x0000000003439727 PSUnrealClient!FRunnableThreadPThread::Run() [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25]
0x0000000003418d5c PSUnrealClient!FRunnableThreadPThread::_ThreadProc(void*) [/home/planeshift/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:185]
0x00007fdc675d8609 libpthread.so.0!UnknownFunction(0x8608)
0x00007fdc66bdd133 libc.so.6!clone(+0x42)

[2022.06.12-10.40.25:438][640]LogAudioMixer: Display: Audio Buffer Underrun (starvation) detected.^M
[2022.06.12-10.40.25:438][640]LogCore:

Critical error:

Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0x0000000000000003

[2022.06.12-10.40.25:438][640]LogCore: Fatal error: [File:/home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 958]
Result failed, VkResult=-4
at /home/planeshift/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanMemory.cpp:4789
with error VK_ERROR_DEVICE_LOST

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing