On Mon, Apr 6, 2009 at 9:00 PM, Eric M. Ludlam <eric@siege-engine.com> wrote:
CEDET is likely writing out the data structure at this time.  If you
toggle debug on error and then call

M-x semanticdb-save-all-db

You may be able to find the buffer " *tmp object write*" (with a space
in front) while the stack is up, and see what the last thing inserted
into the buffer is.

I can't find buffer with " *tmp object writer", instead of this there're a lot of contents in "*Backtrace*" Buffer. The infos are too much to be pasted here and here's the truncated version below:

Debugger entered--Lisp error: (error "\"listp\"")
  signal(error ("\"listp\""))
  error("%S" "listp")
semanticdb-project-database-file([object semanticdb-project-database-file "generators/" ....)
apply(semanticdb-project-database-file [object semanticdb-project-database-file "generators/"...)
eieio-generic-call-primary-only(semanticdb-save-db ([object semanticdb-project-database-file "generators/"...)
semanticdb-save-db([object semanticdb-project-database-file "generators/"...)
  call-interactively(semanticdb-save-all-db t nil)
  call-interactively(execute-extended-command nil nil)

I'd guess the stack is in the preprocessor table, as that is where
this error seems to come from a lot.  You can check that out by
putting itg_basic_traffic_generator.h into a buffer, and running:

M-x semantic-lex-spp-write-test RET

which will attempt to go through that code.

I followed this and found this error"semantic-lex-spp-write-test: Wrong type argument: listp, symbol", while i've got these in "*SPP Write Test*" buffer.

        '(("add_sequence" (spp-arg-list ("a" "b...") 5525 . 5533) . ((symbol "add_sequence" 5534 . 5546) (semantic-list "(a, __FILE__, __LINE__,##b)" 5546 . 5573)))

And i guess it's related to this line in the source:

#define add_sequence(a,b...) add_sequence(a, __FILE__, __LINE__,##b)


Zhiqiu Kong (孔直秋)