Nicholas Clark <[EMAIL PROTECTED]> wrote:

> +$(LIBNCI_SO): $(SRC)/nci_test$(O)
>       $(LD) $(LD_SHARED) $(LDFLAGS) \
>           $(LD_OUT)$@ $(SRC)/nci_test$(O)

Win32 additionally needs the libnci.def thingy. (Except when we put in
the proposed dll_export macros).

> (gdb) print *obj
> $1 = {
>   obj = {
>     u = {
>       _b = {
>         _bufstart = 0x7c0802a6,
                      ^^^^^^^^^^
>         _buflen = 3217162232
                    ^^^^^^^^^^^
>       },
>     },
>     flags = 2415984648,
>     _pobj_version = 2485256112
                      ^^^^^^^^^^

That's not a 'real' object. It's the outcome of some memory destruction.
Is that before it called into libnci or after?

  $ parrot -t xxx.pasm

will it tell you.

> which is now confusing me mightily, because I can change the value of flags
> inside gdb with a set command. Yet attempting to restart the process will
> fail with the EXC_BAD_ACCESS signal straight away.

If ARENA_DOD_FLAGS is on this flag isn't used for "live". See
include/parrot/pobj.h but ...

> Am I confusing what EXC_BAD_ACCESS means? Error is here:

> (gdb) where
> #0  0x0002e354 in pobject_lives (interpreter=0x1000200, obj=0xd13a68) at 
> src/dod.c:194

Oops. No ARENA_DOD_FLAGS. But anyway, the object is corrupted.

Which architecture? 64bit?

> Nicholas Clark

leo

Reply via email to