[smartmontools-support] smartctl bug report

Christian Franke Christian.Franke at t-online.de
Mon Aug 25 16:09:10 CEST 2025


A followup to the smartmontools-support mailing list:

Christian Franke wrote:
> Hi,
>
> j2spring wrote:
>> I have two NVMe . One encounters errors when using version 7.4, while 
>> the other encounters errors when using version 7.5.
>>
>> But no matter it's version 7.4 or 7.5, just adding one line of code 
>> can solve the problem. I don't know why.
>>
>> // Main program
>> int main(int argc, char **argv)
>> {
>> *pout(" ");  //fix bug*
>>
>>   int status;
>>   bool badcode = false;
>> ....................
>> *
>> *
>> *
>> *
>> =====================================7.4===================================== 
>>
>> *smartctl -j -a /dev/nvme0*
>> {
>>   "json_format_version": [
>>     1,
>>     0
>>   ],
>>   "smartctl": {
>>     "version": [
>>       7,
>>       4
>>     ],
>> ...
>>   "local_time": {
>>     "time_t": 1755910276,
>>     "asctime": "Sat Aug 23 08:51:16 2025 CST"
>>   },
>>   "device": {
>>     Smartctl: Exception: json.cpp(535): Assertion failed: is_obj == 
>> !p2->key.empty()
>> Please inform smartmontools-support at listi.jpberlin.de 
>> <mailto:smartmontools-support at listi.jpberlin.de>, including output of 
>> smartctl -V.
>> free(): invalid pointer
>> Aborted (core dumped)
>>
>>
>> *smartctl -V -j -a /dev/nvme0*
>> smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.8.0-71-generic] (local 
>> build)
>> ...
>> smartmontools release 7.4 dated 2023-08-01 at 10:59:45 UTC
>> smartmontools SVN rev 5530 dated 2023-08-01 at 11:00:21
>> smartmontools build host: x86_64-pc-linux-gnu
>> smartmontools build with: C++11, GCC 13.2.0
>> smartmontools configure arguments: [hidden in reproducible builds]
>> reproducible build SOURCE_DATE_EPOCH: 1712593173 (2024-04-09 00:19:33)
>>
>>
>> =====================================7.5===================================== 
>>
>> ./smartctl -j -a /dev/nvme1
>> Fatal glibc error: malloc.c:2599 (sysmalloc): assertion failed: 
>> (old_top == initial_top (av) && old_size == 0) || ((unsigned long) 
>> (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) 
>> old_end & (pagesize - 1)) == 0)
>> Aborted (core dumped)
>>
>> smartctl 7.5 2025-04-30 r5714 [x86_64-linux-6.8.0-71-generic] (local 
>> build)
>> ...
>> smartmontools release 7.5 dated 2025-04-30 at 07:42:55 UTC
>> smartmontools SVN rev 5714 dated 2025-04-30 at 07:43:44
>> smartmontools build host: x86_64-pc-linux-gnu
>> smartmontools build with: C++11, GCC 13.3.0
>> smartmontools configure arguments: [no arguments given]
>>
>>
>
> Thanks for the report. I could not reproduce this and do not remember 
> any similar report.
> ...

Further info received by private mail suggests that the above is similar 
to this issue:
https://github.com/smartmontools/smartmontools/issues/193

Workaround: Add option `-l error,64` to read the full error log instead 
of only the most recent 16 entries.

The root of the problem (firmware, driver, smartctl, ...) is still unknown.

-- 
Regards,
Christian



More information about the Smartmontools-support mailing list