Kos Cycling – Day 1
PlantronicsHub – major memory leak?
I’ve noticed that process SpokesUpdateService is promoted to the top of my Memory list. Here an example which I captured today (just 24hrs after my last reboot) but on the other day I’ve seen 2.4 GB wasted:
It turned out to be part of PlantronicsHub software. I will disable to for a while an see how it will behave.
1 2 |
bash-4.4$ sudo launchctl remove com.PlantronicsUpdateService bash-4.4$ |
Note: need to find out how to prevent starting this after every reboot.
References to other guys reporting very same:
- http://forums.macresource.com/read.php?1,2266926
- https://arstechnica.com/civis/viewtopic.php?f=19&t=1430655
- I’ve opened Plantronics Case 06390520: ref:_00D507IyW._50038xj5MQ:ref
Update 2018-08-21
This message I got from Plantronics Support:
Dear Jaroslaw,
Please update the hub to 3.11.2 this should solve the issue you were experiencing.
Please let me know how it goes.
The case number for your reference is 06390520. If you need any further assistance, please let us know.
Kind regards
Angela
Technical Support
I’ve upgraded to 3.11.2, will see 😀
New home virtualisation lab
Intro
It’s been a while since I’ve built my current home lab. It’s based on Lenovo M910t. In general, I’m quite happy but it’s lacking expansion flexibility.
So I’m looking for a replacement. Below my notes from research and calculations of total cost.
New system components
Cost estimation.
Component | Description | Price [PLN] |
---|---|---|
Total [PLN] / [USD] | 7307 [PLN] 1964 [USD] |
|
Case | - Fractal Design Define R5 👍 - be quiet! Silent Base 800 - Phanteks Enthoo Pro | 439 |
CPU | AMD Ryzen Threadripper 1950X | 3365 |
Motherboard | MSI X399 SLI PLUS | 1290 |
RAM | - 48GB from old PC - 16GB - Crucial 2400 Total: 64 GB (with option for expansion up to 128 GB) | 630 |
PSU | SeaSonic Focus Plus Platinum 650W (SSR-650PX) | 478 |
HDD | PC - 2x 2TB from the old (ZFS root, RAID1) - 1x 4TB from the old + 2x 4TB new (ZFS storage1, RAID5) Total: 2+8 = 10 GB HDD On-demand backups - 1x 2TB from the old (backup, via old USB dock) | 880 |
SSD | - 256GB from the old (zfs storage2-ssd) | 0 |
M.2 | - 256GB from the old (ZFS cache) | 0 |
CPU Cooler | - Noctua NH-U12S TR4-SP3 - Arcetic Freezer 33 TR 👍 | 170 |
Video card | Used one from ebay or Allegro | 35 |
Delivery | 20 |
Considerations
- Do I really need 16-cores/32-threads AMD 1950X? Perhaps 12-cores/24-threads 1920X for 2699 PLN (1k less!) would be sufficient?
- CPU cooling fans may not have enough clearance to populate all 8 RAM sockets? Answer here.
- Is it possible to use 6 RAM DIMMs? User guide says that allowed configurations are 1, 2, 4 & 8. This forum thread advises that any even number of DIMMs is perfectly supported.
- Cases
- 8x 3.5” HDD case or 6x 3.5” HDD + 3x 5.25” bays for my old Icy Docks bay?
- What’s the min width to fit 155mm-high CPU cooling? Phanteks Enthoo Pro can fit max 193 mm cooling -> OK
References
- Cases
- PSU
- https://outervision.com/b/PoX7fi – PSU calculations, min 500 W
- https://en.wikipedia.org/wiki/80_Plus
- Cases
Does the CPU cooler has enough clearance for all RAM DIMMs?
Tech It Out was kind enough to provide this response and the photo on the MoBo I’m interested (MSI X399):
And how does it look on the picture:
Sample quotations
From Morele.net
From x-kom.pl
Summary
After deeper deliberations (it’s hell lot of money! And I’m completely self-funded… Also Threadripper 2 is about to be released on August) I decided:
- Immediately buy 2x 4 TB WD Blue disks and replace my Storage1 pool 3x 2 TB → 3x 4 TB which should give me enough disk space
- Wait till August and see how (and if) release of new CPUs and MB chipset X399 change the situation.
Regardless of all, this was quite interesting exercise!
My current Home Virtualisation Lab “Wieloryb”
Wieloryb as a home lab
My current home server which I use many for virtualisation, serving also some net services is reaching memory and disk-space limits. I named this server Wieloryb which in Polish means The Whale.
Hardware
So far I have:
- Lenovo M910t server
- 64 GB RAM
- 1x 1 TB SATA HDD (3.5”) – configured root ZFS Pool (RAID1)
- 3x 2 TB SATA HDD (3.5”) – storage1 ZFS Pool (RAID5)
- 1x 254 GB SATA SDD (2.5”) – storage2 ZFS Pool
- 1x 254 GB (M.2) – cache for ZFS pools (Cache and L2ARC). I know, L2ARC should be mirrored but I decided that I will take the risk
- PCI-e 4x SATA board to provide 4 + 4 SATA connectors (M’board + PCI-e board)
- The three 2 TB HDD disks and 254 GB SSD disks are stored in Icy Dock 4-disks cage. The disk cage allows to connect all 4 disks through 4 SATA connectors
- The disk cage is powered by an external PSU (as the PC’s PSU is not strong enough)
- On-demand backups are made to a 4 TB SATA HDD using i-tec USB HDD dock
- Remote management is possible thanks to Belkin Net KVM
- Sending critical alarms via SMSes as well as forwarding of SMSes from my old mobile SIM are done thanks to Nokia USB stick and Gammu software
- And finally – a small UPS
Picture of the lab
Software
For greater flexibility and separation between different tasks I decided to use Proxmox as virtualisation manager. No issues with that: it does what it should, small issues can be justified by a very attractive price (0 USD…).
How to workaround MacBook Pro 2017 scroll lag
Another embarrassing problem with my MBP: when scrolling in e.g. Chrome, Safari or actually – any other window, there is annoying lag. When you scroll continuously, it’s more or less fine, but when you pause to read and then want to scroll, it stutters.
After a bit checking here and there, it turned out that if I increased keyboard backlight timeout from 5 seconds to 1 minute, the problem has been worked around!
Well done Apple, well done‼
MacOS QuckLook Plugin for Java class
Quick Look at Java classes!
This Quick Look plugin allows you to decompile Java class and look at the content.
Chef resources failing with wrong constant name
When trying to add a custom resource, no matter what, I always got a wrong constant name error, for example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
resolving cookbooks for run list: ["01_test-cookbook"] Synchronizing Cookbooks: - test-cookbook (0.1.0) Installing Cookbook Gems: Compiling Cookbooks... ================================================================================ Recipe Compile Error in /home/jhartman/.chef/local-mode-cache/cache/cookbooks/test-cookbook/resources/append_line.rb ================================================================================ NameError --------- wrong constant name 01TestCookbookAppendLine Platform: --------- x86_64-linux-gnu |
It turned out to be an issue with my cookbook name: it’s not allowed to have a cookbook name starting with a number (as later, it’s converted into a class name).
So my cookbooks as below are causing the problems:
1 2 3 4 |
drwxrwxr-x 8 jhartman jhartman 15 Apr 22 21:45 1_PreRequisites drwxrwxr-x 7 jhartman jhartman 14 Apr 22 23:38 2_OracleDB drwxrwxr-x 9 jhartman jhartman 16 May 3 18:12 3_NCC drwxrwxr-x 6 jhartman jhartman 13 Apr 22 22:22 4_PostInstallation |
They should be renamed into something else, for example:
1 2 3 4 |
drwxrwxr-x 8 jhartman jhartman 15 Apr 22 21:45 A_PreRequisites drwxrwxr-x 7 jhartman jhartman 14 Apr 22 23:38 B_OracleDB drwxrwxr-x 9 jhartman jhartman 16 May 3 18:12 C_NCC drwxrwxr-x 6 jhartman jhartman 13 Apr 22 22:22 D_PostInstallation |
Note, inside the files, there are references to the names, so you may need to update them accordingly, for example using:
1 |
$ find . -type f -print0 | xargs -0 sed -i 's/2_OracleDB/B_OracleDB/g' |
After this, no more strange errors after adding resources.
PS: When you work on MacOS, you may face another problem with your resources: MacOS trash files (._*
or .DS_Store
) are causing another (similarly looking) error. Take a look at this web page.
Prevent Mac hidden files being written to a shared storage
MacOS tends to trash mounted disks with number of useless hidden files (e.g. ._* or .DS_Store ). There were number of recipes in the Internet, some of them were working at some of time but are not anymore.
Below notes from my fights (at a moment of writing, on MacOS High Sierra 10.13.4 (17E199).
Removing the files when they are created
I used to apply a find . -name ... -print0 | xargs rm -0 combo but found that there is an built-in command to deal with these files:
1 |
$ dot_clean . |
From the man:
1 2 3 4 5 6 7 8 |
NAME dot_clean -- Merge ._* files with corresponding native files. SYNOPSIS dot_clean [-fmnsv] [--keep=[mostrecent|dotbar|native]] [dir ...] DESCRIPTION For each dir, dot_clean recursively merges all ._* files with their corresponding native files according to the rules specified with the given arguments. By default, if there is an attribute on the native file that is also present in the ._ file, the most recent attribute will be used. |
Preventing creating the files
On the MacOS side
NOTE: None of these solutions worked for me!
1 2 |
$ defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true $ killall Finder |
As I wrote, this didn’t work at all to me.
On the SMB server side
It actually turned the only working solution for me. Just add to the share configuration section a veto file parameter, e.g.:
1 |
$ sudo vi /etc/samba/smb.conf |
1 2 3 4 |
[jhartman] path = /home/jhartman ..... veto files = /._*/.DS_Store/ |
And restart:
1 |
$ sudo service smbd restart |
Note, after applying this change you will not be able anymore to use dot_clean command from your Mac as any requests towards these files (including deletion) will be silently ignored by your SMB server hence files will remain untouched!
Oracle 12c 32-bit client and direct GOT relocation R_386_GOT32 against `lxecerr’
Edit 12/09/2018
As Ivan commented below:
with binutils release 27.28 it seems to be solved.
But see the workaround below in case it’s not…
When trying to install Oracle 12c 32-bit Client (12.1 or 12.2) on Oracle Linux 7.3 or 7.5, it throws error during linking static libraries:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
INFO: Start output from spawned process: INFO: ---------------------------------- INFO: INFO: /u01/app/oracle/product/12.2.0_client32/bin/genclntsh INFO: /bin/ld: /u01/app/oracle/product/12.2.0_client32/lib/libnls12.a(lxecg2e.o): direct GOT relocation R_386_GOT32 against `lxecerr' without base register can not be used when making a shared object /bin/ld: final link failed: Bad value INFO: collect2: error: ld returned 1 exit status INFO: genclntsh: Failed to link libclntshcore.so.12.1 INFO: make: *** [client_sharedlib] Error 1 |
Not very specific, I found only one reference in Oracle KM Doc ID 2246237.1.
Rootcause and resolution in there was:
REASON
SLES 12 SP2 ships with binutils 2.26 which breaks compatibility for certain shared library links.
SOLUTION
01) Update binutils package to version binutils-2.26.1-9.15.1 or later.
But in fact, I do have in my server binutils-2.27-27.base.el7.x86_64 .
Workaround is to downgrade the binutils:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
jhartman@sms.jhartman.pl:/home/jhartman$ sudo yum downgrade binutils* Loaded plugins: ulninfo Resolving Dependencies --> Running transaction check ---> Package binutils.x86_64 0:2.25.1-32.base.el7_4.2 will be a downgrade ---> Package binutils.x86_64 0:2.27-27.base.el7 will be erased ---> Package binutils-devel.x86_64 0:2.25.1-32.base.el7_4.2 will be a downgrade ---> Package binutils-devel.x86_64 0:2.27-27.base.el7 will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================================================================================================ Package Arch Version Repository Size ================================================================================================================================================================================================================================================================================ Downgrading: binutils x86_64 2.25.1-32.base.el7_4.2 ol7_latest 5.4 M binutils-devel x86_64 2.25.1-32.base.el7_4.2 ol7_latest 845 k Transaction Summary |
After this, the libs can be compiled and linked:
1 2 3 |
oracle$ export ORACLE_HOME=/u01/app/oracle/product/12.2.0_client32 oracle$ /u01/app/oracle/product/12.2.0_client32/bin/genclntsh oracle$ |
I do believe that after finishing the installation, binutils can be upgraded again to the latest version (but not forget about this problem in case of installing the RSU).
PS: I’ve raised SR 3-17356002141 : Error when installing Oracle 32-bit client (direct GOT relocation R_386_GOT32 against `ipp_zcalloc’)