Thu, 17 Oct 2019 13:48:07 +0100
Merge
.hgtags | file | annotate | diff | comparison | revisions |
1.1 --- a/.hgtags Tue Sep 10 19:58:22 2019 +0200 1.2 +++ b/.hgtags Thu Oct 17 13:48:07 2019 +0100 1.3 @@ -1280,3 +1280,8 @@ 1.4 921c5ee7965fdfde75f578ddda24d5cd16f124dc jdk8u232-b04 1.5 b13d7942036329f64c77a93cffc25e1b52523a3c jdk8u232-b05 1.6 760b28d871785cd508239a5f635cfb45451f9202 jdk8u242-b00 1.7 +fea2c7f50ce8e6aee1e946eaec7b834193747d82 jdk8u232-b06 1.8 +c751303497d539aa85c6373aa0fa85580d3f3044 jdk8u232-b07 1.9 +4170228e11e6313e948e6ddcae9af3eed06b1fbe jdk8u232-b08 1.10 +12177d88b89c12c14daa5ad681030d7551e8a5a0 jdk8u232-b09 1.11 +12177d88b89c12c14daa5ad681030d7551e8a5a0 jdk8u232-ga
2.1 --- a/THIRD_PARTY_README Tue Sep 10 19:58:22 2019 +0200 2.2 +++ b/THIRD_PARTY_README Thu Oct 17 13:48:07 2019 +0100 2.3 @@ -2130,13 +2130,13 @@ 2.4 2.5 ------------------------------------------------------------------------------- 2.6 2.7 -%% This notice is provided with respect to PC/SC Lite for Suse Linux v.1.1.1, 2.8 +%% This notice is provided with respect to PC/SC Lite v1.8.24, 2.9 which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. 2.10 2.11 --- begin of LICENSE --- 2.12 2.13 -Copyright (c) 1999-2004 David Corcoran <corcoran@linuxnet.com> 2.14 -Copyright (c) 1999-2004 Ludovic Rousseau <ludovic.rousseau (at) free.fr> 2.15 +Copyright (c) 1999-2003 David Corcoran <corcoran@linuxnet.com> 2.16 +Copyright (c) 2001-2011 Ludovic Rousseau <ludovic.rousseau@free.fr> 2.17 All rights reserved. 2.18 2.19 Redistribution and use in source and binary forms, with or without 2.20 @@ -2148,15 +2148,10 @@ 2.21 2. Redistributions in binary form must reproduce the above copyright 2.22 notice, this list of conditions and the following disclaimer in the 2.23 documentation and/or other materials provided with the distribution. 2.24 -3. All advertising materials mentioning features or use of this software 2.25 - must display the following acknowledgement: 2.26 - This product includes software developed by: 2.27 - David Corcoran <corcoran@linuxnet.com> 2.28 - http://www.linuxnet.com (MUSCLE) 2.29 -4. The name of the author may not be used to endorse or promote products 2.30 +3. The name of the author may not be used to endorse or promote products 2.31 derived from this software without specific prior written permission. 2.32 2.33 -Changes to this license can be made only by the copyright author with 2.34 +Changes to this license can be made only by the copyright author with 2.35 explicit written consent. 2.36 2.37 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
3.1 --- a/agent/src/os/linux/ps_proc.c Tue Sep 10 19:58:22 2019 +0200 3.2 +++ b/agent/src/os/linux/ps_proc.c Thu Oct 17 13:48:07 2019 +0100 3.3 @@ -345,7 +345,7 @@ 3.4 3.5 static bool read_lib_info(struct ps_prochandle* ph) { 3.6 char fname[32]; 3.7 - char buf[256]; 3.8 + char buf[PATH_MAX]; 3.9 FILE *fp = NULL; 3.10 3.11 sprintf(fname, "/proc/%d/maps", ph->pid); 3.12 @@ -355,10 +355,41 @@ 3.13 return false; 3.14 } 3.15 3.16 - while(fgets_no_cr(buf, 256, fp)){ 3.17 - char * word[6]; 3.18 - int nwords = split_n_str(buf, 6, word, ' ', '\0'); 3.19 - if (nwords > 5 && find_lib(ph, word[5]) == false) { 3.20 + while(fgets_no_cr(buf, PATH_MAX, fp)){ 3.21 + char * word[7]; 3.22 + int nwords = split_n_str(buf, 7, word, ' ', '\0'); 3.23 + 3.24 + if (nwords < 6) { 3.25 + // not a shared library entry. ignore. 3.26 + continue; 3.27 + } 3.28 + 3.29 + // SA does not handle the lines with patterns: 3.30 + // "[stack]", "[heap]", "[vdso]", "[vsyscall]", etc. 3.31 + if (word[5][0] == '[') { 3.32 + // not a shared library entry. ignore. 3.33 + continue; 3.34 + } 3.35 + 3.36 + if (nwords > 6) { 3.37 + // prelink altered mapfile when the program is running. 3.38 + // Entries like one below have to be skipped 3.39 + // /lib64/libc-2.15.so (deleted) 3.40 + // SO name in entries like one below have to be stripped. 3.41 + // /lib64/libpthread-2.15.so.#prelink#.EECVts 3.42 + char *s = strstr(word[5],".#prelink#"); 3.43 + if (s == NULL) { 3.44 + // No prelink keyword. skip deleted library 3.45 + print_debug("skip shared object %s deleted by prelink\n", word[5]); 3.46 + continue; 3.47 + } 3.48 + 3.49 + // Fall through 3.50 + print_debug("rectifying shared object name %s changed by prelink\n", word[5]); 3.51 + *s = 0; 3.52 + } 3.53 + 3.54 + if (find_lib(ph, word[5]) == false) { 3.55 intptr_t base; 3.56 lib_info* lib; 3.57 #ifdef _LP64
4.1 --- a/test/runtime/RedefineTests/RedefineDoubleDelete.java Tue Sep 10 19:58:22 2019 +0200 4.2 +++ b/test/runtime/RedefineTests/RedefineDoubleDelete.java Thu Oct 17 13:48:07 2019 +0100 4.3 @@ -24,7 +24,11 @@ 4.4 /* 4.5 * @test 4.6 * @bug 8178870 4.7 + * @library /testlibrary 4.8 * @summary Redefine class with CFLH twice to test deleting the cached_class_file 4.9 + * @build RedefineClassHelper 4.10 + * @run main RedefineClassHelper 4.11 + * @run main/othervm -javaagent:redefineagent.jar RedefineDoubleDelete 4.12 */ 4.13 4.14 public class RedefineDoubleDelete {