I'm getting messages like:

Idle Service Error semantic-idle-local-symbol-highlight-idle-function: "#<buffer ex14.c> - Wrong type argument: arrayp, nil"

M-x semantic-analyze-debug-assist gives:

Unable to find datatype for: "class PETSCTS_DLLEXPORT TSCreate (class MPI_Comm comm,class TS ts)".
Declared type is: "class PETSCTS_DLLEXPORT {}"
Raw data type is: ("PETSCTS_DLLEXPORT" type (:type "class") nil nil)

Semantic could not find this data type in any of its global tables.

Of course other semantic functionality does not work properly either.  An included header has

#if !defined(PETSCTS_DLLEXPORT)
#define PETSCTS_DLLEXPORT
#endif

(it is only needed on Windows).  M-x semanticdb-typecache-dump gives:

]#<semanticdb-typecache /home/jed/petsc/src/ts/examples/tutorials/ex14.c>
   ] Name: "/home/jed/petsc/src/ts/examples/tutorials/ex14.c"
   ] Class: #'semanticdb-typecache
   ] filestream : nil
   ] includestream : nil
   ] stream : nil
   ] dependants #<list o' stuff: 1 entries>


I went looking for a way to rebuild the cache, but M-x semanticdb-typecache-complete-flush produces:

Debugger entered--Lisp error: (invalid-slot-name "#<semanticdb-table-global GNU Global Search Table>" pointmax)
  signal(invalid-slot-name ("#<semanticdb-table-global GNU Global Search Table>" pointmax))
  eieio-default-superclass([object semanticdb-table-global "GNU Global Search Table" [object semanticdb-project-database-global "global" unbound semanticdb-table nil (#0)] nil nil unbound nil] pointmax oset nil)
  apply(eieio-default-superclass ([object semanticdb-table-global "GNU Global Search Table" [object semanticdb-project-database-global "global" unbound semanticdb-table nil (#1)] nil nil unbound nil] pointmax oset nil))
  eieio-generic-call-primary-only(slot-missing ([object semanticdb-table-global "GNU Global Search Table" [object semanticdb-project-database-global "global" unbound semanticdb-table nil (#1)] nil nil unbound nil] pointmax oset nil))
  slot-missing([object semanticdb-table-global "GNU Global Search Table" [object semanticdb-project-database-global "global" unbound semanticdb-table nil (#0)] nil nil unbound nil] pointmax oset nil)
  eieio-oset([object semanticdb-table-global "GNU Global Search Table" [object semanticdb-project-database-global "global" unbound semanticdb-table nil (#0)] nil nil unbound nil] pointmax nil)
  semanticdb-typecache-complete-flush()
  call-interactively(semanticdb-typecache-complete-flush t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)


If I try to semantic-ia-fast-jump to the symbol (TSCreate), I get

Debugger entered--Lisp error: (error "Tag TSCreate has no buffer information")
  signal(error ("Tag TSCreate has no buffer information"))
  error("Tag %s has no buffer information" "TSCreate")
  semantic-ia--fast-jump-helper(("TSCreate" function (:arguments (("comm" variable (:type ("MPI_Comm" type (:type "class") nil nil)) (reparse-symbol arg-sub-list) #<overlay from 761 to 775 in tscreate.c>) ("ts" variable (:pointer 1 :type ("TS" type (:type "class") nil nil)) (reparse-symbol arg-sub-list) #<overlay from 776 to 783 in tscreate.c>)) :type ("PETSCTS_DLLEXPORT" type (:type "class") nil nil)) (:hit (34)) [734 2304]))
  semantic-ia-fast-jump(62304)
  call-interactively(semantic-ia-fast-jump nil nil)

The declaration is

extern PetscErrorCode PETSCTS_DLLEXPORT  TSCreate(MPI_Comm,TS*);

and the definition is correctly indexed by Global, gtags-find-tag jumps to it.


Any suggestions on debugging this?  I'm working with current emacs 24.0.50.1 and cedet-bzr (8013).

Jed