We get gazillions of dupes for this crash:
#0 0x00007fc4138ce4e5 in raise () from /lib/libc.so.6 #1 0x00007fc4138d1f80 in abort () from /lib/libc.so.6 #2 0x00007fc4138c74a1 in __assert_fail () from /lib/libc.so.6 #3 0x00007fc413c0d199 in sk_disk_set_blob (d=0x0, blob=<value optimized out>, size=<value optimized out>) at atasmart.c:2701 p = <value optimized out> left = <value optimized out> idv = <value optimized out> sdv = <value optimized out> stv = <value optimized out> bssv = <value optimized out> __PRETTY_FUNCTION__ = "sk_disk_set_blob" #4 0x000000000040e99a in drive_ata_smart_refresh_data_completed_cb ( context=0x0, device=0x1f25c50, job_was_cancelled=<value optimized out>, status=<value optimized out>, stderr=<value optimized out>, stdout=<value optimized out>, user_data=0x1f674e0) at devkit-disks-device.c:7912 rc = <value optimized out> good = <value optimized out> num_bad_sectors = <value optimized out> temperature_mkelvin = <value optimized out> power_on_mseconds = <value optimized out> asd = <value optimized out> d = (SkDisk *) 0x1f280c0 blob = (guchar *) 0x0 blob_size = 1 time_collected = <value optimized out> is_failing = <value optimized out> is_failing_valid = <value optimized out> collect_attrs_data = {attributes = 0x0, has_bad_attributes = 1} db = <value optimized out> #5 0x000000000040cb5b in job_child_watch_cb (pid=<value optimized out>,
(full trace at http://launchpadlibrarian.net/30901828/Stacktrace.txt, but that's the interesting bit).
The full assertion message is:
devkit-disks-daemon: atasmart.c:2701: sk_disk_set_blob: Assertion `blob' failed.
This crashes in this code in src/devkit-disks-device.c:
blob = (gchar *) g_base64_decode (stdout, &blob_size);
if (sk_disk_open (NULL, &d) != 0) { if (context != NULL) { throw_error (context, DEVKIT_DISKS_ERROR_FAILED, "unable to open a SkDisk"); } goto out; }
if (sk_disk_set_blob (d, blob, blob_size) != 0) {
as the stack frame #4 shows, blob == NULL (which triggers the assertion in libatasmart).
We get gazillions of dupes for this crash:
#0 0x00007fc4138ce4e5 in raise () from /lib/libc.so.6 FUNCTION_ _ = "sk_disk_set_blob" smart_refresh_ data_completed_ cb ( cancelled= <value optimized out>, 0x1f674e0) disks-device. c:7912 mkelvin = <value optimized out>
#1 0x00007fc4138d1f80 in abort () from /lib/libc.so.6
#2 0x00007fc4138c74a1 in __assert_fail () from /lib/libc.so.6
#3 0x00007fc413c0d199 in sk_disk_set_blob (d=0x0,
blob=<value optimized out>, size=<value optimized out>) at atasmart.c:2701
p = <value optimized out>
left = <value optimized out>
idv = <value optimized out>
sdv = <value optimized out>
stv = <value optimized out>
bssv = <value optimized out>
__PRETTY_
#4 0x000000000040e99a in drive_ata_
context=0x0, device=0x1f25c50, job_was_
status=<value optimized out>, stderr=<value optimized out>,
stdout=<value optimized out>, user_data=
at devkit-
rc = <value optimized out>
good = <value optimized out>
num_bad_sectors = <value optimized out>
temperature_
power_on_mseconds = <value optimized out>
asd = <value optimized out>
d = (SkDisk *) 0x1f280c0
blob = (guchar *) 0x0
blob_size = 1
time_collected = <value optimized out>
is_failing = <value optimized out>
is_failing_valid = <value optimized out>
collect_attrs_data = {attributes = 0x0, has_bad_attributes = 1}
db = <value optimized out>
#5 0x000000000040cb5b in job_child_watch_cb (pid=<value optimized out>,
(full trace at http:// launchpadlibrar ian.net/ 30901828/ Stacktrace. txt, but that's the interesting bit).
The full assertion message is:
devkit- disks-daemon: atasmart.c:2701: sk_disk_set_blob: Assertion `blob' failed.
This crashes in this code in src/devkit- disks-device. c:
blob = (gchar *) g_base64_decode (stdout, &blob_size);
if (sk_disk_open (NULL, &d) != 0) {
throw_ error (context,
DEVKIT_ DISKS_ERROR_ FAILED,
"unable to open a SkDisk");
goto out;
if (context != NULL) {
}
}
if (sk_disk_set_blob (d, blob, blob_size) != 0) {
as the stack frame #4 shows, blob == NULL (which triggers the assertion in libatasmart).