Opened 11 years ago

Closed 11 years ago

#344 closed defect (fixed)

error when calling a generic function with >45 eql-specialized methods

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

Description

Found this working with r10913 Linuxx8664:

value #<recursive-lock [ptr @ #x6D51C0] #x3000448438ED> is not of the expected type
ccl:read-write-lock.

A full backtrace.

This only happens with at least 46 eql-specialized methods; the test code and results of running. That trial shows it also on r10956.

Only eql-specialized methods with the same preceding specializers count; commenting out the loop that adds methods specialized on another class has no effect on the test results; it's still 46.

Setting ccl::*lock-free-hash-table-default* to NIL before calling the generic function fixes the problem (found while browsing r10867).

Change History (2)

comment:1 Changed 11 years ago by gz

  • Component changed from Infrastructure and Support to Runtime (threads, GC)
  • Owner changed from gb to gz

This should be fixed in r10978

comment:2 Changed 11 years ago by S11001001

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

Works also in the original blob of LIFT tests where I first encountered this; thanks!

Note: See TracTickets for help on using tickets.