Details
- 
    
Bug
 - 
    Status: Closed (View Workflow)
 - 
    
Blocker
 - 
    Resolution: Fixed
 - 
    22.08.7
 - 
    None
 
- 
        10.0.20
 
Description
There is a case reported by a customer. 3 queries with GROUP_CONCAT on top were going to produce a relatively long strings. This causes some memory allocation related log messages and eventually causes SEGV signal in PP. Here are the log messages:
					Jan  5 16:02:04 vm-uks-edf-maria-slave threadpool[1724863]: 04.186263 |0|0|0| E 22 CAL0005: ThreadPool: Caught exception during execution:  boost::thread_resource_error: Resource temporarily unavailable [generic:11]
			 | 
		
					Jan  5 16:02:04 vm-uks-edf-maria-slave joblist[1724863]: 04.185910 |701574|0|0| C 05 CAL0000: TupleAggregateStep::doThreadedAggregate() caught std::bad_alloc         %%10%%
			 | 
		
Here is the crash trace itself:
					Date/time: 2023-01-05 16:02:04
			 | 
		
					Signal: 11
			 | 
		
					/usr/bin/PrimProc(+0xc012a)[0x55f6d483812a]
			 | 
		
					/lib/x86_64-linux-gnu/libpthread.so.0(+0x14420)[0x7f66c51bd420]
			 | 
		
					/usr/lib/x86_64-linux-gnu/libjoblist.so(_ZN7joblist8TupleBPS23processByteStreamVectorERSt6vectorIN5boost10shared_ptrIN11messageqcpp10ByteStreamEEESaIS6_EEjjRS1_INS_7_CPInfoESaISA_EEPNS_4FIFOIN8rowgroup6RGDataEEEj+0xe9)[0x7f66c6347769]
			 | 
		
					/usr/lib/x86_64-linux-gnu/libjoblist.so(_ZN5boost6detail8function26void_function_obj_invoker0IN7joblist19ByteStreamProcessorEvE6invokeERNS1_15function_bufferE+0x3e)[0x7f66c635543e]
			 | 
		
					/usr/lib/x86_64-linux-gnu/libthreadpool.so(_ZN10threadpool10ThreadPool11beginThreadEv+0x5df)[0x7f66c513c1cf]
			 | 
		
					/usr/bin/PrimProc(+0xc142b)[0x55f6d483942b]
			 | 
		
					/lib/x86_64-linux-gnu/libpthread.so.0(+0x8609)[0x7f66c51b1609]
			 | 
		
					/lib/x86_64-linux-gnu/libc.so.6(clone+0x43)[0x7f66c4c9c133]
			 | 
		
Internally GROUP_CONCAT(GroupConcatNoOrder::getResult()) code allocates a buffer on heap and doesn't account the RAM allocated b/c code threats the buffer as a temporary one.