When using the libjvmti_oprofile.so java agent library to profile a Java app, a <pid>.dump file is created that stores information about the JITed code. The opjitconv program is supposed to use that <pid>.dump file to create an ELF-like file named <pid>.jo, which is the binary file against which samples are attributed by opreport. But if the process ID is greater than the Linux default of 32768, opjitconv fails to create the <pid>.jo, so all samples are attributed to the java anon memory mappings, and there is no visibility to the java methods (symbols) that were JITed.
The find_anon_dir_match() function in opjitconv/opjitconv.c should create a larger char array for holding the match filter. The array should be large enough to hold the largest possible process ID, plus the rest of the match filter.