Parrot Assembler via RT writes:
> make testj hangs on string_102.pasm.  Here's the gdb backtrace. 

It looks like a really subtle, nasty problem.  If I add a noop anywhere
in the top section of code (before MAIN) it works.  It works even if I
change the filename from string_102.pasm to test.pasm!  It works if I
add a non-jit op (like print or find_type) right after MAIN.

Luke

> 
> % gdb parrot
> GNU gdb Red Hat Linux (6.0post-0.20040223.19rh)
> 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 "i386-redhat-linux-gnu"...Using host libthread_db 
> library "/lib/tls/libthread_db.so.1".
>                                                                               
>                                                  
> (gdb) run -j t/op/string_102.pasm
> Starting program: /home/fibonaci/devel/parrot/parrot -j t/op/string_102.pasm
> Error while mapping shared library sections:
> : Success.
> Error while reading shared library symbols:
> : No such file or directory.
> [Thread debugging using libthread_db enabled]
> [New Thread -150292160 (LWP 10828)]
> Error while reading shared library symbols:
> : No such file or directory.
> Error while reading shared library symbols:
> : No such file or directory.
> [New Thread -159155280 (LWP 10831)]
> [New Thread -169645136 (LWP 10832)]
>                                                                               
>                                                  
> Program received signal SIGINT, Interrupt.
> [Switching to Thread -150292160 (LWP 10828)]
> 0x00880d34 in _int_malloc () from /lib/tls/libc.so.6
> (gdb) bt
> #0  0x00880d34 in _int_malloc () from /lib/tls/libc.so.6
> #1  0x00881bbd in _int_memalign () from /lib/tls/libc.so.6
> #2  0x00880467 in memalign () from /lib/tls/libc.so.6
> #3  0x008826a6 in posix_memalign () from /lib/tls/libc.so.6
> #4  0x080ab600 in mem_realloc_executable (old=0x9f13000, newsize=4720) at 
> memexec.c:47
> #5  0x080ad3d2 in build_asm (interpreter=0x9d21008, pc=0x9f1b1c0, 
> code_start=0x9f1b1c0, code_end=0x9f1b56c, objfile=0x0)
>     at src/jit.c:1402
> #6  0x08160068 in init_jit (interpreter=0x9d21008, pc=0x9f1b1c0) at 
> src/interpreter.c:461
> #7  0x08160124 in runops_jit (interpreter=0x9d21008, pc=0x9f1b1c0) at 
> src/interpreter.c:528
> #8  0x08160495 in runops_int (interpreter=0x9d21008, offset=0) at 
> src/interpreter.c:744
> #9  0x081612d2 in runops (interpreter=0x9d21008, offs=0) at src/inter_run.c:81
> #10 0x080d6308 in Parrot_runcode (interpreter=0x9d21008, argc=1, 
> argv=0xfef6856c) at src/embed.c:762
> #11 0x080d614f in Parrot_runcode (interpreter=0x9d21008, argc=1, 
> argv=0xfef6856c) at src/embed.c:694
> #12 0x0809b4fb in main (argc=1, argv=0xfef6856c) at imcc/main.c:581
> 
> % uname -a
> Linux jabberwock 2.6.5-1.358custom #2 Mon Aug 16 05:15:44 MDT 2004 i686 
> athlon i386 GNU/Linux
> 
> % cat myconfig
> Summary of my parrot 0.1.1 configuration:
>   configdate='Mon Nov 29 03:39:43 2004'
>   Platform:
>     osname=linux, archname=i386-linux-thread-multi
>     jitcapable=1, jitarchname=i386-linux,
>     jitosname=LINUX, jitcpuarch=i386
>     execcapable=1
>     perl=/usr/bin/perl
>   Compiler:
>     cc='gcc', ccflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS 
> -DDEBUGGING  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
> -I/usr/include/gdbm',
>   Linker and Libraries:
>     ld='gcc', ldflags=' -L/usr/local/lib',
>     cc_ldflags='',
>     libs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp'
>   Dynamic Linking:
>     share_ext='.so', ld_share_flags='-shared -L/usr/local/lib -fPIC',
>     load_ext='.so', ld_load_flags='-shared -L/usr/local/lib -fPIC'
>   Types:
>     iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
>     ptrsize=4, ptr_alignment=1 byteorder=1234,
>     nv=double, numvalsize=8, doublesize=8
> 

Reply via email to