fu7mu4’s diary

はてなダイアリーから移転しました。

macOS being rebooted

suddenly macOS being rebooted

macOSLibreOffice とか、Firefox とかをつかっていたら突然黒画面になって再起動した。再起動後にファイルを回復したので特に被害はなかったもよう。

以下は再起動後に Apple に送信したログの一部

panic(cpu 0 caller 0xffffff801eba3da0): "compressed PTE 0xfffffe9d8c223620 0xc010000000000000 has extra bits 0x8000000000000000: corrupted? Adjacent PTEs: 0x80000001cc7c7067@0xfffffe9d8c223618, 0x4000000000000000@0xfffffe9d8c223628"@/System/Volumes/Data/SWE/macOS/BuildRoots/d7e177bcf5/Library/Caches/com.apple.xbs/Sources/xnu/xnu-7195.141.2/osfmk/i386/pmap_internal.h:869
Backtrace (CPU 0), Frame : Return Address
0xffffffb0c7103750 : 0xffffff801ea8e04d 
0xffffffb0c71037a0 : 0xffffff801ebd4e13 
0xffffffb0c71037e0 : 0xffffff801ebc540a 
0xffffffb0c7103830 : 0xffffff801ea32a2f 
0xffffffb0c7103850 : 0xffffff801ea8d86d 
0xffffffb0c7103970 : 0xffffff801ea8db63 
0xffffffb0c71039e0 : 0xffffff801f29dc0a 
0xffffffb0c7103a50 : 0xffffff801eba3da0 
0xffffffb0c7103b80 : 0xffffff801eb240db 
0xffffffb0c7103c00 : 0xffffff801eb22b4c 
0xffffffb0c7103c80 : 0xffffff801eb2689a 
0xffffffb0c7103f00 : 0xffffff801ebc5a20 
0xffffffb0c7103fa0 : 0xffffff801ea3291f 

Process name corresponding to current thread: soffice
Boot args: chunklist-security-epoch=0 -chunklist-no-rev2-dev

Mac OS version:
20G80

Kernel version:
Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:31 PDT 2021; root:xnu-7195.141.2~5/RELEASE_X86_64
Kernel UUID: FECBF22B-FBBE-36DE-9664-F12A7DD41D3D
KernelCache slide: 0x000000001e800000
KernelCache base:  0xffffff801ea00000
Kernel slide:      0x000000001e810000
Kernel text base:  0xffffff801ea10000
__HIB  text base: 0xffffff801e900000
System model name: MacBookPro16,2 (Mac-5F9802EFE386AA28)
System shutdown begun: NO
Hibernation exit count: 0

System uptime in nanoseconds: 677813363453169
Last Sleep:           absolute           base_tsc          base_nano
  Uptime  : 0x00026877b8c0b127
  Sleep   : 0x0001a28aca2f5c41 0x00036df8756d35a5 0x0001a286e38e79eb
  Wake    : 0x0001a28acd3255cc 0x00036e25c0f6da5d 0x0001a28acb72bb9a
last started kext at 627837699295207: >!UAudio   405.39 (addr 0xffffff7fb95ac000, size 315392)
last stopped kext at 627897720245425: >!UAudio   405.39 (addr 0xffffff7fb95ac000, size 315392)
loaded kexts:
fi.dungeon.driver.SATSMARTDriver    0.10.2
org.virtualbox.kext.VBoxNetAdp  6.1.22
org.virtualbox.kext.VBoxNetFlt  6.1.22
org.virtualbox.kext.VBoxUSB 6.1.22
org.virtualbox.kext.VBoxDrv 6.1.22
com.Cycling74.driver.Soundflower    2
|IO!BSerialManager  8.0.5d7
>AGPM    122.1
>X86PlatformShim 1.0.0
>!APlatformEnabler   2.7.0d0
@filesystems.autofs 3.0
@fileutil   20.036.15
>!ATopCaseHIDEventDriver 4050.1
>!AHIDALSService 1
>!AUpstreamUserClient    3.6.8
>!AGraphicsDevicePolicy  6.3.5
@AGDCPluginDisplayMetrics   6.3.5
>!A!IICLGraphics 16.0.5
>pmtelemetry 1
|IOUserEthernet 1.0.1
>usb.!UUserHCI   1
@Dont_Steal_Mac_OS_X    7.0.0
>!AHV    1
>!ADiskImages2   1
>!AGFXHDA    100.1.433
>!A!IPCHPMC  2.0.1
>!ABacklight 180.3
>!AMCCSControl   1.14
>!ABridgeAudio!C 140.4
>!AThunderboltIP 4.0.3
>!A!IICLLPGraphicsFramebuffer    16.0.5
>BridgeAudioCommunication    140.4
>!AAVEBridge 6.1
>!A!ISlowAdaptiveClocking    4.0.0
|SCSITaskUserClient 436.140.1
>BCMWLANFirmware4378.Hashstore   1
>BCMWLANFirmware4377.Hashstore   1
>BCMWLANFirmware4364.Hashstore   1
>BCMWLANFirmware4355.Hashstore   1
>!AFileSystemDriver  3.0.1
@filesystems.tmpfs  1
@filesystems.hfs.kext   556.100.11
@BootCache  40
@!AFSCompression.!AFSCompressionTypeZlib    1.0.0
@!AFSCompression.!AFSCompressionTypeDataless    1.0.0d1
@filesystems.apfs   1677.141.1
>!ABCMWLANBusInterfacePCIeMac    1
@private.KextAudit  1.0
>!ASmartBatteryManager   161.0.0
>!AACPIButtons   6.1
>!ASMBIOS    2.1
>!AACPIEC    6.1
>!AAPIC  1.7
@!ASystemPolicy 2.0.0
@nke.applicationfirewall    311
|IOKitRegistryCompatibility 1
|EndpointSecurity   1
>!UMergeNub  900.4.2
|IOUSBUserClient    900.4.2
|IOAVB!F    940.4
@plugin.IOgPTPPlugin    985.2
|IOEthernetAVB!C    1.1.0
@kext.triggers  1.0
>!AHIDKeyboard   224
>!AHS!BDriver    4050.1
>IO!BHIDDriver   8.0.5d7
>!AActuatorDriver    4440.3
>!AMultitouchDriver  4440.3
>!AInputDeviceSupport    4400.35
>!AGraphicsControl   6.3.5
|IO!BHost!CUARTTransport    8.0.5d7
|IO!BHost!CTransport    8.0.5d7
>!ABacklightExpert   1.1.0
|IONDRVSupport  585.1
>!ASMBus!C   1.0.18d1
|IOAudio!F  300.6.1
@vecLib.kext    1.2.0
>!AThunderboltDPOutAdapter   8.1.4
|IOAccelerator!F2   442.9
>!A!ILpssUARTv1  3.0.60
>!A!ILpssUARTCommon  3.0.60
>!AOnboardSerial 1.0
@!AGPUWrangler  6.3.5
@!AGraphicsDeviceControl    6.3.5
|IOGraphics!F   585.1
|IOSlowAdaptiveClocking!F   1.0.0
>X86PlatformPlugin   1.0.0
>IOPlatformPlugin!F  6.0.0d8
>usb.ethernet.asix   5.0.0
>usb.!UHub   1.2
>usb.IOUSBHostHIDDevice  1.2
>usb.cdc.ncm 5.0.0
>usb.cdc.ecm 5.0.0
>usb.cdc 5.0.0
>usb.networking  5.0.0
>usb.!UHostCompositeDevice   1.2
>!AThunderboltPCIDownAdapter 4.1.1
>!AThunderboltDPInAdapter    8.1.4
>!AThunderboltDPAdapter!F    8.1.4
>!AHPM   3.4.4
>!A!ILpssI2C!C   3.0.60
>!A!ILpssI2C 3.0.60
>!A!ILpssDmac    3.0.60
>!ABSDKextStarter    3
|IOSurface  290.8.1
@filesystems.hfs.encodings.kext 1
>!AXsanScheme    3
>usb.!UVHCIBCE   1.2
>usb.!UVHCICommonBCE 1.0
>usb.!UVHCI  1.2
>usb.!UVHCICommon    1.0
>!AEffaceableNOR 1.0
|IOBufferCopy!C 1.1.0
|IOBufferCopyEngine!F   1
|IONVMe!F   2.1.0
>!ABCMWLANCoreMac    1.0.0
|IOSerial!F 11
|IO80211!FV2    1200.12.2b1
|IOSkywalk!F    1
>mDNSOffloadUserClient   1.0.1b8
>IOImageLoader   1.0.0
>corecapture 1.0.4
>usb.!UHostPacketFilter  1.0
|IOUSB!F    900.4.2
>!AThunderboltNHI    7.2.8
|IOThunderbolt!F    9.3.2
>usb.!UXHCIPCI   1.2
>usb.!UXHCI  1.2
>!AEFINVRAM  2.1
>!AEFIRuntime    2.1
>!ASMCRTC    1.0
|IOSMBus!F  1.1
|IOHID!F    2.0.0
$!AImage4   3.0.0
|IOTimeSync!F   985.2
|IONetworking!F 3.4
>DiskImages  493.0.0
|IO!B!F 8.0.5d7
|IOReport!F 47
|IO!BPacketLogger   8.0.5d7
$quarantine 4
$sandbox    300.0
@kext.!AMatch   1.0.0d1
|CoreAnalytics!F    1
>!ASSE   1.0
>!AKeyStore  2
>!UTDM   511.141.1
|IOUSBMass!SDriver  184.140.2
|IOSCSIBlockCommandsDevice  436.140.1
|IO!S!F 2.1
|IOSCSIArchitectureModel!F  436.140.1
>!AMobileFileIntegrity   1.0.5
@kext.CoreTrust 1
>!AFDEKeyStore   28.30
>!AEffaceable!S  1.0
>!ACredentialManager 1.0
>KernelRelayHost 1
|IOUSBHost!F    1.2
>!UHostMergeProperties   1.2
>usb.!UCommon    1.0
>!ABusPower!C    1.0
>!ASEPManager    1.0.1
>IOSlaveProcessor    1
>!AACPIPlatform  6.1
>!ASMC   3.1.9
|IOPCI!F    2.9
|IOACPI!F   1.4
>watchdog    1
@kec.pthread    1
@kec.corecrypto 11.1
@kec.Libm   1

Failure is Success

Failure is Success

作業がうまく評価できない会社では失敗しないと成功できないのではないだろうか?

Worse is better ではなく Failure is Success.

どういうことかというと、作業をそのままうまくすすめると評価できない。 ただ失敗して損失か損害がでると、この作業にはこれだけの価値があったのだなと理解される。 そして失敗時のリカバリーの苦労している作業をみて、ああ、仕事していると、困りごとを解消していると評価されるのである。 つまり最初から問題がおきない作業は、よくわからないが彼には簡単な作業だろうからたいした仕事ではないと低くみられてしまうのである。 このような会社では何事も誰かが失敗しないと重要な仕事だと認識されない。誰かが失敗したあとリカバリーに成功した人だけが評価される。

いやぁ、怖い。こんな会社はないよね。ないよね。

macOS に OpenJDK の Java をインストールする

macOS に OpenJDK の Java をインストールする

adoptopenjdk にいけば OpenJDK のバイナリが無料で手にはいる。

  • OpenJDK 8
  • OpenJDK 11
  • OpenJDK 15

macOS の場合、pkg インストーラーを使用すると、file://Library/Java/JavaVirtualMachines/AdoptOpenJDK-.jdk/ 以下にインストールされるもよう。

java_home コマンドでどんなJava がインストールされているか確認できる(ただしXML形式)

/usr/libexec/java_home -X
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>JVMArch</key>
        <string>x86_64</string>
        <key>JVMBundleID</key>
        <string>net.adoptopenjdk.11.jdk</string>
        <key>JVMEnabled</key>
        <true/>
        <key>JVMHomePath</key>
        <string>/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home</string>
        <key>JVMName</key>
        <string>AdoptOpenJDK 11</string>
        <key>JVMPlatformVersion</key>
        <string>11.0.10+9</string>
        <key>JVMVendor</key>
        <string>AdoptOpenJDK</string>
        <key>JVMVersion</key>
        <string>11.0.10</string>
    </dict>
    <dict>
        <key>JVMArch</key>
        <string>x86_64</string>
        <key>JVMBundleID</key>
        <string>net.java.openjdk.11.0.2.jdk</string>
        <key>JVMEnabled</key>
        <true/>
        <key>JVMHomePath</key>
        <string>/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home</string>
        <key>JVMName</key>
        <string>OpenJDK 11.0.2</string>
        <key>JVMPlatformVersion</key>
        <string>11.0</string>
        <key>JVMVendor</key>
        <string>Oracle Corporation</string>
        <key>JVMVersion</key>
        <string>11.0.2</string>
    </dict>
    <dict>
        <key>JVMArch</key>
        <string>x86_64</string>
        <key>JVMBundleID</key>
        <string>net.adoptopenjdk.8.jdk</string>
        <key>JVMEnabled</key>
        <true/>
        <key>JVMHomePath</key>
        <string>/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home</string>
        <key>JVMName</key>
        <string>AdoptOpenJDK 8</string>
        <key>JVMPlatformVersion</key>
        <string>1.8.0_212-b03</string>
        <key>JVMVendor</key>
        <string>AdoptOpenJDK</string>
        <key>JVMVersion</key>
        <string>1.8.0_212</string>
    </dict>
</array>
</plist>

あとは java_home コマンドで JAVA_HOME 環境変数を設定して切り替えればいいらしい。

export JAVA_HOME=$(/usr/bin/java_hone -v 11)

Version upgrade

macOS Version upgrade

Version upgrade on some software

いくつかのソフトを更新した

  1. macOS
  2. Command Line Tools
  3. OmegaT
  4. Racket

このうち Command Line Tools の更新は macOS の更新があったときに同時に表示されていたので、macOSの更新と同時にできていると期待していたのにできてなかった。そんなものなのかなと、個別に更新

Solved: VirtualBox on macOS big sur does not work well

Solved: VirtualBox on macOS big sur does not work well

macOS Big SurでVirtualBoxが動かないので対応した話を読んでそのとおりにした。

sudo kmutil load -b org.virtualbox.kext.VBoxDrv

これを実行したあとシステム環境設定→ セキュリティとプライバシー→一般 を開くと再起動を求められた。

再起動の後、VirtualBox を起動して Linux イメージを起動すると、アクセス許可を設定するよう指示がでた。

アクセス許可は二種類あったかもしれない。

Big Sur でも Qt Linguist がつかいたい

Big Sur でも Qt Linguist がつかいたい

TLDR; Qt 公式のインストーラ

私は、CppCheck のGUI部分の日本語翻訳を担当している。そのGUI部分は Qtなので、Qt Linguist が使いたいのである。さてどうしよう。macOS を Big Surにアップグレードしてしまったぞ。

  1. macport を使う
  2. homebrew を使う
  3. 誰かの野良ビルドを使う
  4. Qt 公式のを使う

1. macport を使う

brew じゃなくて port なのに特に意味はなかった。強いていえば、以前から macport を使っていたから。

たぶんできるだろうとたかをくくってトライしてみたものの macport では qtlinguist はなんというport なのかがわからない。適当にqt5-qtbase かと インストールにチャレンジすると、インストールできなかった。Big Sur は 11.0 なのに 10.16 って検出されてエラー吐いて死 ぬみたい。もうすでに検討中の もよう。5.15.2 ならできそうという情報だけがわかった。

2. homebrew を使う

はいはい、最初っから brew/cask 一択じゃん?と思うだろ。違うよ、 Qt-Creator ならこれで正解だよ。みんな好きなんかな。

brew install --cask qt-creator

でも、これじゃあ qt-creator ははいるけど、qt-linguist はいらないよね、 たぶん。でもダメ元でインストールしてみるか。やっぱりはいらないじゃん。 そうだよね。はは、cask に qt-linguist ないのか。ないのか。

3. 誰かの野良ビルドを使う

えー、じゃあ、 lelegard/qtlinguist-installer いっとく?うん、とりあえずインストールして使うならそれでいいのかな?ま、 インストールしてみたら動作はするね。うん。でも野良ビルドいれたくない なぁ。

公式に macOS 用にビルドしてくれないかなぁ。チラっ

4. Qt 公式のを使う

というわけで、公式いっておきますか。Supported Platform に 11.0 ないけど、これは更新が遅れているだけだよね。そうであってください。

さて、Open Source Qt Use のページにいくと、一番下にDownload the Qt Online Installer ってあるね。ははーこれかな。

4.1 Qt Online Installer

Qt Online Installer を起動すると、おしゃれなインストーラーがでてくる。ぽちぽちとすすめればいいんかなと思っていたら、Qt アカウント作成してよといわれる。

4.2 Qt アカウント

よしよしと Qt アカウントを作成して、オープンソースとして利用とか個人として開発とかにポチポチするだけだったよしよし。

4.3 Qt Online Installer

あとはダウンロードが終るのを待つだけだった。最初から Qt Online Installer を選べばよかった。

4.4 更新

$QtInstallDir/5.15.2/clang_64/bin に Linuguist がインストールできていた。これだよね。起動確認と。 あとは、$QtInstallDir/5.15.2/clang_64/bin に Linuguist がインストールできていた。これだよね。起動確認OK。

更新は $QtInstallDir/MaintananceTool.app からできるもよう。よかったよかった。