Failed to Start the HTCondor Service on the Kunpeng 920
Symptom
HTCondor service failed to start on the Kunpeng 920.
Procedure
- Modify the daemon_core.cpp file.
- Open daemon_core.cpp.
vi condor-8.9.2/src/condor_daemon_core.V6/daemon_core.cpp
- Press i to enter the insert mode and modify lines 5856 to 5880 as follows:
if( daemonCore->UseCloneToCreateProcesses() ) { dprintf(D_FULLDEBUG,"Create_Process: using fast clone() " "to create child process.\n"); // The stack size must be big enough for everything that // happens in CreateProcessForkit::clone_fn(). In some // environments, some extra steps may need to be taken to // make a stack on the heap (to mark it as executable), so // we just do it using the parent's stack space and we use // CLONE_VFORK to ensure the child is done with the stack // before the parent throws it away. //const int stack_size = 16384; const int stack_size = 64*1024*2; //const int stack_size = 64*1024*16; char child_stack[stack_size] ; // Beginning of stack is at end on all processors that run // Linux, except for HP PA. Here we just detect at run-time // which way it goes. char *child_stack_ptr = child_stack; if( stack_direction() == STACK_GROWS_DOWN ) { child_stack_ptr += stack_size; } child_stack_ptr = (char *)((std::uintptr_t)child_stack_ptr & ~(std::uintptr_t)0<<4); - Press Esc, type :wq!, and press Enter to save the file and exit.
- Open daemon_core.cpp.
Parent topic: Troubleshooting