Skip to content

Instantly share code, notes, and snippets.

@ykubota
ykubota / core.2832 (bt)
Last active July 6, 2017 02:23
TBB crash log
(gdb) bt
#0 0x00007f523e4741d7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f523e4758c8 in __GI_abort () at abort.c:90
#2 0x00007f523dda7c89 in os::abort (dump_core=<optimized out>)
at /usr/src/debug/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:1513
#3 0x00007f523df496d6 in VMError::report_and_die (this=this@entry=0x7f51f31f5150)
at /usr/src/debug/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/openjdk/hotspot/src/share/vm/utilities/vmError.cpp:1060
#4 0x00007f523ddb1347 in JVM_handle_linux_signal (sig=11, info=0x7f51f31f53f0, ucVoid=0x7f51f31f52c0,
abort_if_unrecognized=<optimized out>)
at /usr/src/debug/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp:541
@ykubota
ykubota / GCLimit.java
Last active October 18, 2016 09:50
reproduce sample: java.lang.OutOfMemoryError: GC overhead limit exceeded
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class GCLimit {
static public void main(String[] args) {
Random random = new Random();
List<String> interned = new ArrayList<>();
while(true) {
int length = random.nextInt(100);
@ykubota
ykubota / sample.gdb
Created July 26, 2016 07:33
check address of counter and its member
set logging on
set logging file /path/to/file
f 7
p/x counter
p/x counter->objData
p/x (TObjectData *)counter->objData
p/x counter->objData->klassOop
@ykubota
ykubota / ClassHistrogram.groovy
Created December 9, 2013 18:38
ClassHistrogram集計用クラス。 クラスヒストグラムを1回以上出力させたログを読み込ませると、[クラス名][クラスヒストグラムインデックス] = [ランク, インスタンス, バイト数] となる二次元配列を取得する。
def static calc(filename){
def sheet = [:];
def h=[:];
def time = 0;
def seek = false
// ファイル読み込み
new File(filename).eachLine {
// 正規表現
if (it ==~ /^num\s+#instances\s+#bytes\s+class\sname/){
// Start of ClassHistogram
@ykubota
ykubota / new_gist_file
Created June 21, 2013 02:33
glassfish redmine
$ jruby -v
jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on OpenJDK 64-Bit Server VM 1.7.0_25-mockbuild_2013_06_19_07_21-b00 [linux-amd64]
org.jruby.exceptions.RaiseException: (LoadError) load error: openssl -- java.lang.NoClassDefFoundError: Could not initialize class org.jruby.ext.openssl.ASN1
|A')?
$ vim Gemfile
32 # jruby-openssl is bundled with JRuby 1.7.0
33 gem "jruby-openssl" if Object.const_defined?(:JRUBY_VERSION) && JRUBY_VERS ION < '1.7.0'
|A')<usotuki-
@ykubota
ykubota / setup.sh
Created June 19, 2013 02:23
GlassFish for Redmine
sudo yum install jruby
gem install warbler
cd redmine
gem install activerecord-jdbc-adapter -v '1.2.5'
warble config
vim config/warble.rb
warble war
@ykubota
ykubota / mysql.sh
Created June 18, 2013 07:12
Setup MySQL@Fedora18 for redmine
#sudo yum install -y gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
sudo yum install -y mysql mysql-server
sudo vim /etc/my.cnf
---
# nihongo mojibake taisaku
character-set-server = utf8
---
@ykubota
ykubota / execute.md
Last active October 27, 2015 17:10
Jigsaw jdeps/jlink demo's command
  • jdeps -M -s lib/*

  • jdeps -genmoduleinfo msrc lib/*

    • msrc//module-info.java
    • requires / exports / provides 修飾子
  • jdeps -R -cp lib/* lib/(what_you_want).jar

  • jdeps -s -R -cp lib/* lib/(what_you_want).jar

  • jdeps -s -ct -R -cp lib/* lib/(what_you_want).jar

  • jlink --help

  • jlink --modulepath $JMODS --addmods java.base --output yimage --exclude-files *.diz

@ykubota
ykubota / spec_2.0.patch
Created October 20, 2015 13:51
Bump to 2.0. (agent/mbean)
This file has been truncated, but you can view the full file.
diff -r d284ec1e1226 Makefile.am
--- a/Makefile.am Wed Oct 14 10:43:58 2015 +0900
+++ b/Makefile.am Tue Oct 20 16:54:18 2015 +0900
@@ -26,14 +26,14 @@
install-exec-local:
$(mkdir_p) $(DESTDIR)/$(libexecdir)
$(mkdir_p) $(DESTDIR)/$(libexecdir)/lib
- $(INSTALL_DATA) $(ANALYZER_DIR)/THIRD_PARTY_README $(DESTDIR)/$(libexecdir)
- $(INSTALL_DATA) $(ANALYZER_DIR)/heapstats-analyzer.jar $(DESTDIR)/$(libexecdir)
- $(INSTALL_DATA) $(ANALYZER_DIR)/filterDefine.xsd $(DESTDIR)/$(libexecdir)
@ykubota
ykubota / make.sh
Last active October 19, 2015 12:45
ThreadRecorder + DeadLock 検知を試してみる
sudo dnf install -y --enablerepo="*debug*" hg net-snmp net-snmp-devel gcc gcc-c++ binutils binutils-devel maven ant java-1.8.0-openjdk java-1.8.0-openjdk-devel java-1.8.0-openjdk-debuginfo
hg clone http://icedtea.classpath.org/hg/heapstats
cd heapstats/
./configure; make agent
sed -e "s/thread_record_enable=false/thread_record_enable=true/" agent/heapstats.conf > agent/heapstats_threadrecorder.conf
cd agent/test/deadlock
javac DLSample.java
java -agentpath:../../src/libheapstats.so=../../heapstats_threadrecorder.conf DLSample 5