Bugs item #1649124, was opened at 2007-01-31 20:07
Message generated for change (Comment added) made by teubner
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1649124&group_id=56967

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: PF/compiler
Group: Pathfinder CVS Head
>Status: Closed
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: Ying Zhang (yingying)
Assigned to: Jens Teubner (teubner)
Summary: XQ: Unable to print a PFpnode_t with PFabssyn_pretty

Initial Comment:
While debugging with GDB, I discovered that when I try to print a variable of 
the type PFpnode_t with PFabssyn_pretty, it triggers an assertion in array.c:

$ cat a04.xq 
let $i := "abc"
let $j := "def"
return ($i, $j)
$ gdb --args pf a04.xq 
...
(gdb) b compile.c :301 
Breakpoint 1 at 0x40696b: file ../../compiler/compile.c, line 301.
(gdb) r
Starting program: 
/net/andorea/export/scratch1/zhang/monet/current/G.64.64.d.debug/bin/pf a04.xq
[Thread debugging using libthread_db enabled]
[New Thread 46912496328256 (LWP 13886)]
[Switching to Thread 46912496328256 (LWP 13886)]

Breakpoint 1, PFcompile (url=0x7fffffde9fb9 "a04.xq", pfout=0x3a05f318c0, 
    status=0x720820) at ../../compiler/compile.c:302
302         tm_first = tm = PFtimer_start ();
(gdb) n
303         (void) PFparse (xquery, &proot);
(gdb) 
304         tm = PFtimer_stop (tm);
(gdb) 
306         if (status->timing)
(gdb) p PFabssyn_pretty (pfout , proot)
pf: ../../../compiler/mem/array.c:120: PFarray_at: Assertion `a' failed.

Program received signal SIGABRT, Aborted.
0x0000003a05d2f250 in raise () from /lib64/libc.so.6
The program being debugged was signaled while in a function called from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use "set unwindonsignal on"
Evaluation of the expression containing the function (PFabssyn_pretty) will be 
abandoned.


This happens with most of the queries, but not all:

$ cat a03.xq 
1+1

[Wed Jan 31 20:05:09 CET 2007]
[andorea:/ufs/zhang/input]
$ gdb --args pf a03.xq 
GNU gdb Red Hat Linux (6.3.0.0-1.84rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu"...Using host libthread_db 
library "/lib64/libthread_db.so.1".

(gdb) b compile.c :301 
Breakpoint 1 at 0x40696b: file ../../compiler/compile.c, line 301.
(gdb) r
Starting program: 
/net/andorea/export/scratch1/zhang/monet/current/G.64.64.d.debug/bin/pf a03.xq
[Thread debugging using libthread_db enabled]
[New Thread 46912496328256 (LWP 13974)]
[Switching to Thread 46912496328256 (LWP 13974)]

Breakpoint 1, PFcompile (url=0x7fffff801fb9 "a03.xq", pfout=0x3a05f318c0, 
    status=0x720820) at ../../compiler/compile.c:302
302         tm_first = tm = PFtimer_start ();
(gdb) n
303         (void) PFparse (xquery, &proot);
(gdb) 
304         tm = PFtimer_stop (tm);
(gdb) p PFabssyn_pretty (pfout , proot)
main_mod (decl_imps (nil (), decl_imps (nil (), nil ())),
  exprseq (plus (lit_int (1), lit_int (1)), empty-seq ()))
$1 = void


This problem does not show up in the stable branch

----------------------------------------------------------------------

>Comment By: Jens Teubner (teubner)
Date: 2007-02-01 13:57

Message:
Logged In: YES 
user_id=731390
Originator: NO

Fixed in CVS.

This was actually a known problem. It affected debugging
functionality, only. No explicit tests required.

----------------------------------------------------------------------

Comment By: Jan Rittinger (tsheyar)
Date: 2007-01-31 21:54

Message:
Logged In: YES 
user_id=993208
Originator: NO

The problem is that qnames are only resolved after phase -s4 and thus
variables cannot be printed before namespace resolution is done. Perhaps
Jens might add a switch that can print both qnames before and after
namespace resolution.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1649124&group_id=56967

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Monetdb-bugs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-bugs

Reply via email to