summaryrefslogtreecommitdiffstats
path: root/results/classifier/118/none/1459
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-06-16 16:59:00 +0000
committerChristian Krinitsin <mail@krinitsin.com>2025-06-16 16:59:33 +0000
commit9aba81d8eb048db908c94a3c40c25a5fde0caee6 (patch)
treeb765e7fb5e9a3c2143c68b0414e0055adb70e785 /results/classifier/118/none/1459
parentb89a938452613061c0f1f23e710281cf5c83cb29 (diff)
downloademulator-bug-study-9aba81d8eb048db908c94a3c40c25a5fde0caee6.tar.gz
emulator-bug-study-9aba81d8eb048db908c94a3c40c25a5fde0caee6.zip
add 18th iteration of classifier
Diffstat (limited to 'results/classifier/118/none/1459')
-rw-r--r--results/classifier/118/none/145965
1 files changed, 65 insertions, 0 deletions
diff --git a/results/classifier/118/none/1459 b/results/classifier/118/none/1459
new file mode 100644
index 00000000..9cd5d3bd
--- /dev/null
+++ b/results/classifier/118/none/1459
@@ -0,0 +1,65 @@
+device: 0.792
+graphic: 0.690
+performance: 0.687
+PID: 0.635
+vnc: 0.594
+ppc: 0.583
+mistranslation: 0.539
+kernel: 0.501
+network: 0.489
+arm: 0.459
+architecture: 0.456
+socket: 0.439
+semantic: 0.433
+risc-v: 0.389
+files: 0.378
+permissions: 0.364
+VMM: 0.347
+x86: 0.336
+register: 0.332
+TCG: 0.331
+i386: 0.283
+debug: 0.266
+user-level: 0.245
+peripherals: 0.231
+boot: 0.227
+hypervisor: 0.207
+KVM: 0.156
+virtual: 0.133
+assembly: 0.083
+
+analyze-migration.py doesn't account for saved blocks
+Description of problem:
+
+Steps to reproduce:
+1. Make a migration snapshot that includes incremental block device (from HMP: `migrate -i "exec: cat > snap"`)
+2. Load the snapshot: `scripts/analyze-migration.py -f snap`
+
+
+```
+Traceback (most recent call last):
+ File "scripts/analyze-migration.py", line 605, in <module>
+ dump.read(dump_memory = args.memory)
+ File "scripts/analyze-migration.py", line 539, in read
+ classdesc = self.section_classes[section_key]
+KeyError: ('block', 0)
+```
+Additional information:
+Here's pseudocode derived from `block_load` in `migration/block.c`:
+
+```
+N blocks of the following:
+
+ read 64 bits: sector number and flags
+ (blk->sector << BDRV_SECTOR_BITS) | flags
+
+ if flags & BLK_MIG_FLAG_EOS:
+ break
+ if flags & BLK_MIG_FLAG_PROGRESS
+ continue
+ if flags & BLK_MIG_FLAG_DEVICE_BLOCK
+ byte: name length
+ length bytes: device name string
+ if not flags & BLK_MIG_FLAG_ZERO_BLOCK:
+ read (1 << 20) bytes
+```