Hello, I am trying to debug assertion failure while building OOo 2.3.1 OOG680_m9 on FreeBSD 7.0 amd64 platform.
I have managed this to limit to a simple case with only one C header from the "sal" project, autodoc is apparently unable to start parsing any file at all: Starting program: /usr/obj/usr/ports/editors/openoffice.org-2/work/OOG680_m9/solver/680/unxfbsdx.pro/bin/autodoc -html ~/openoffice/autodoc/ref -name "UDK 3.2.7 C/C++ API Reference" -lg c++ -p sal ~/openoffice/autodoc/inc -t sal [New LWP 100309] [New Thread 0x806120 (LWP 100309)] Autodoc version 2.2.5 --------------------- Parsing the repository UDK 3.2.7 C/C++ API Reference ... ..1 files found to parse in project sal. assertion failed: i > 0 ? i_pTokTypeArray[i] > i_pTokTypeArray[i-1] : true in file: ../inc/semantic/callf.hxx at line: 186 Program exited with code 03. This is most probably some FreeBSD porting issue, as users have reported that using FreeBSD binary build Java 1.5.0 instead of source build (1.5 or 1.6) helps to workaround this. (http://thread.gmane.org/gmane.os.freebsd.devel.ports/71688/focus=71754) I wanted to have a look into this, but apparently I cannot tell gdb to see C++ line numbers correctly: (gdb) break 'autodoc::command::run::Parser::Perform()' Note: breakpoint 1 also set at pc 0x4bbb04. Breakpoint 2 at 0x4bbb04 (gdb) run Starting program: /usr/obj/usr/ports/editors/openoffice.org-2/work/OOG680_m9/solver/680/unxfbsdx.pro/bin/autodoc -html ~/openoffice/autodoc/ref -name "UDK 3.2.7 C/C++ API Reference" -lg c++ -p sal ~/openoffice/autodoc/inc -t sal [New LWP 100275] [New Thread 0x806120 (LWP 100275)] Autodoc version 2.2.5 --------------------- [Switching to Thread 0x806120 (LWP 100275)] Breakpoint 1, 0x00000000004bbb04 in autodoc::command::run::Parser::Perform () (gdb) bt #0 0x00000000004bbb04 in autodoc::command::run::Parser::Perform () #1 0x00000000004b60f3 in autodoc::command::Parse::do_Run () #2 0x00000000004b2b30 in autodoc::command::Command::Run () #3 0x00000000004b2167 in autodoc::CommandLine::Run () #4 0x00000000004b0241 in main () (gdb) list 1 in <<C++-namespaces>> (gdb) I am unable to see source code or local variables as well. Tried using GNU gdb 6.1.1 bundled with the system as well as extra compiled 6.6 I have added "-ggdb" to CFLAGSDEBUG in the solenv/inc/unxfbsd.mk file and rebuilt the autodoc, with no effect. I've had a look at the "autodoc" binary with the readelf utility and it seems to have all the necessary info inside (source files and line numbers). An abridged compilation and debugging session log is here: http://akson.sgh.waw.pl/~saper/FreeBSD/openoffice/autodoc/session_brief.log Any ideas how to make gdb see C++ symbols properly? Unfortunately I have only C experience with gdb. Also hints about the assertion itself are welcome. Thanks in advance! --Marcin --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
