Opened 9 years ago

Closed 9 years ago

#855 closed defect (fixed)

ARM port pc-lusering fails to recognize allocation sequence

Reported by: gb Owned by:
Priority: major Milestone:
Component: Runtime (threads, GC) Version: trunk
Keywords: Cc:

Description

Running the simple test case from ticket:717 results in a trip to the kernel debugger with the complaint:

unexpected instruction preceding alloc trap.

The unexpected instruction is the (relatively new) branch around an unconditional uuo_alloc_trap. If pc_luser_xp() notes that a thread is at the alloc_trap, it expects the immediately preceding instruction to be a comparison, and that's now an instruction earlier.

Change History (1)

comment:1 Changed 9 years ago by gb

  • Resolution set to fixed
  • Status changed from new to closed

(In [14754]) In pc_luser_xp(), recognize that the alloc_trap is now immediately preceded by a branch around it; the COMPARE_ALLOCPTR_TO_RM that we're looking for precedes the branch. Note that the LinuxARM heap image in the trunk currently does things this way; older images may not.

This seems to fix ticket:855 (the test case from ticket:717 runs to completion, and other things that cons hysterically while creating threads for no apparent reason - like SLIME - will hopefully not be affected by this.)

Note: See TracTickets for help on using tickets.