poke-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SIGABRT on struct assignment


From: dekenevs
Subject: SIGABRT on struct assignment
Date: Fri, 21 May 2021 19:26:54 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Dear all,

I have encountered an issue while using poke 1.2.

I use the mbr.pk pickle, and I have constructed a 1KB test image using
fdisk (which can be found attached).

Attachment: test_mbr.img
Description: image with a DOS partition table and an empty Linux partition

I then ran the following script:

#!/usr/bin/poke -L
!#

if (argv'length != 1) {
     print "Usage: ./make_active.pk <image>\n";
     exit;
   }

load mbr;

var image_path = argv[0];
open (image_path);
   
var pte0_off = 0x1BE#B;
var pte0 = MBR_PTE @ pte0_off;

printf "PTE0: %v\n", pte0;

print "Trying to set active bit...\n";

pte0.attr.active = 1;

print "Successfully set active bit on PTE0!";
printf "PTE0: %v\n", pte0;
Upon running, a SIGABRT happens when trying to set the `active` field of the
anonymous `attr` struct. The error seems to happen in the PVM:

poke: ../../libpoke/pvm.jitter:1567: pvm_execute_or_initialize:
Assertion `PVM_VAL_CLS_ENV (closure) != NULL' failed.

This happens in GNU poke 1.2, using Jitter 0.9.263.

Thank you and let me know if I can help.

Kind regards,
dekenevs

reply via email to

[Prev in Thread] Current Thread [Next in Thread]