Comments (7)
Hi @akhilerm
A few questions:
-
Does the container have root privilege? I assume it does but just doing some sanity checking.
-
Does it work on SCSI/ATA devices and fail only for NVMe?
-
Does a compiled binary of openSeaChest work with the -i command line option on /dev/nvme1n1? Trying to figure out if this is a cgo binding issue.
from openseachest.
- Yes the container is running in privileged mode
- Yes, it works for SCSI/ATA devices and fail only for NVMe. That too for NVMe on AWS. On another machine with NVMe device from intel it is working as expected
- It doesn't crash, but I think the info given is only partial
admin@ip-10-1-38-168:~$ sudo ./openSeaChest_NVMe -d /dev/nvme1n1 -i
==========================================================================================
openSeaChest_NVMe - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_NVMe Version: 1.0.0-1_19_23 X86_64
Build Date: Jul 17 2019
Today: Wed Jul 17 15:40:46 2019
==========================================================================================
/dev/nvme1n1 - Amazon EC2 NVMe Instance Storage - AWS206F4D15810744582 - NVMe
admin@ip-10-1-38-168:~$ sudo ./openSeaChest_NVMe -d /dev/nvme0n1 -i
==========================================================================================
openSeaChest_NVMe - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_NVMe Version: 1.0.0-1_19_23 X86_64
Build Date: Jul 17 2019
Today: Wed Jul 17 15:41:00 2019
==========================================================================================
/dev/nvme0n1 - Amazon Elastic Block Store - vol0502987d85b866574 - NVMe
from openseachest.
Also @xahmad , when I built it on my local system running Ubuntu 18.04 LTS, it was working as expected. But using Ubuntu 18 in our CI build did not solve the problem.
Are there any packages that are linked to seachest which are os speciifc. ?
from openseachest.
The "/dev/nvme0n1 - Amazon Elastic Block Store - vol0502987d85b866574 - NVMe" is a virtual NVMe device that the EC2 instance is providing you, not an actual physical one, like the one you have in your Intel example.
The fact that when you run openSeaChest from the command line in the EC2 instance, it only show the banner + some initial stuff...means that the utility is actually crashing the same way the library is crashing within the container. You can probably test my theory by running a "strace -f" and the trace will likely show a seg fault.
From the logs the crash happens when we are in scsi_Report_Supported_Operation_Codes function, which is a SCSI operation. In most cases, the get_Device function assumes the device to be SCSI before figuring out if it is actually ATA or NVMe. This part of the code can certainly be improved.
I believe the crash is happening because the logical NVMe device, emulating the NVMe command set, can't seem to handle one of the SCSI op-codes. A physical one (like Intel's NVMe) does.
Let me see if we can find a way to recreate this on our end & debug it a little further. It might be a while before get to this...just setting the expectations here.
from openseachest.
@xahmad . I did a make release
on a different machine
akhil@MayaData:~$ uname -a
Linux MayaData 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
akhil@MayaData:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.2 LTS"
VERSION_ID="18.04"
and executed it on the AWS machine and it is working as expected.
/dev/nvme0n1 - Amazon Elastic Block Store - vol0502987d85b866574 - NVMe
NVMe Controller Information:
Model Number: Amazon Elastic Block Store
Serial Number: vol0502987d85b866574
Firmware Revision: 1.0
IEEE OUI: DC02A0
PCI Vendor ID: 1D0F
PCI Subsystem Vendor ID: 1D0F
Controller ID: Not Supported
NVMe Version: Not reported (NVMe 1.1 or older)
FGUID: Not Supported
Write Cache: Disabled
Maximum Number Of Namespaces: 1
Read-Only Medium: False
SMART Status: Good
Composite Temperature (K): 273
Percent Used (%): 0
Available Spare (%): 100
Power On Time:
Power On Hours (hours): 0
Last DST information:
Not supported
Long Drive Self Test Time: Not Supported
Annualized Workload Rate (TB/yr): inf
Total Bytes Read (MB): 250.88
Total Bytes Written (GB): 5.28
Encryption Support: Not Supported
Number of Firmware Slots: 1
Controller Features:
NVMe Namespace Information:
Namespace Size (GB/GiB): 137.44/128.00
Namespace Size (LBAs): 268435455
Namespace Capacity (GB/GiB): 137.44/128.00
Namespace Capacity (LBAs): 268435456
Namespace Utilization (B/B): 0.00/0.00
Namespace Utilization (LBAs): 0
Logical Block Size (B): 512
Logical Block Size Relative Performance: Best Performance
NGUID: Not Supported
EUI64: Not Supported
Namespace Features:
I was able to get all the details, which means the possibility of missing op-code is less.
I tried again building on the first(our CI setup, a travis VM) machine, the binary is crashing. Are there any os specific library or header files that seachest uses while compilation?
from openseachest.
The issue happened in device with write cache support. Have raised a PR in opensea-transport
from openseachest.
Hi @akhilerm,
Thanks for the PR! I have merged it into opensea-transport master and develop branches.
I also updated openSeaChest and added a new tag called Release-19.06.02
that has the fix in place. I reviewed other sections of the SNTL code and made one other change to help ensure there aren't other crashes in the report supported operation codes translation going forward either.
from openseachest.
Related Issues (20)
- Exos X16 fails to change sector size on a Supermicro server HOT 5
- tracking "unkown command" HOT 7
- Prebuilt EFI binaries? HOT 3
- Firmware update failing - Firmware Download Failed - Download Microcode returning: ABORTED HOT 30
- I have got dual ST8000NM000A-2KE101 - they have 0 bad sectors and errors but Raid 1 keep getting degraded - Intel® Optane™ Memory HOT 26
- How do we scan, find new firmware and update it? I am on windows HOT 3
- Make Package for ESXi HOT 2
- EPC timers no longer working after long SMART test HOT 15
- openSeaChest_Format: unknown option --showSupportedSectorSizes HOT 1
- Linux openSeaChest reports drive in `standby_z` state regardless of the actual state. HOT 13
- issue HOT 2
- Settings do not take effect HOT 5
- Some detailed changelog HOT 2
- openSeaChest .deb package misses export PATH variable HOT 3
- multiple ST20000NM007D EXOS X20 20TB firmware SC03 fails warranty claim HOT 2
- openSeaChest_PowerControl standby time ignored HOT 3
- Add option to ignore drives in standby HOT 2
- Code Security Report: 6 high severity findings, 16 total findings HOT 1
- Support QNAP TR-004 4-bay enclosure HOT 1
- Issue with Setting Sector Size on Seagate ST24000NM002H after Interruption, Drive Bricked HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openseachest.