Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When building under vagrant/precise32, build succeeds but some tests, examples fail #73

Closed
ngvrnd opened this issue Aug 22, 2014 · 3 comments

Comments

@ngvrnd
Copy link

ngvrnd commented Aug 22, 2014

Here's the make test output:
vagrant@precise32:~/noitop/potion$ make test
test/runtests.sh -q
running potion API tests
.............
OK (13 tests)

running GC tests
......
OK (6 tests)

running bin/potion VM tests
....................
** test/flow/except.pn: expected <TRY 1
TRY ERROR!
RESUMING
SUCCESS
TRY 2
SUCCESS
nil>, but got <TRY 1
nilTRY 2
SUCCESS
nil>
..................................................................
running bin/potion compiler tests
....................
** test/flow/except.pn: expected <TRY 1
TRY ERROR!
RESUMING
SUCCESS
TRY 2
SUCCESS
nil>, but got <TRY 1
nilTRY 2
SUCCESS
nil>
..................................................................
running bin/potion JIT tests
....................Segmentation fault

** test/flow/except.pn: expected <TRY 1
TRY ERROR!
RESUMING
SUCCESS
TRY 2
SUCCESS
nil>, but got <>
..................................................................
3 FAILS (258 tests)
vagrant@precise32:~/noitop/potion$

@ngvrnd
Copy link
Author

ngvrnd commented Aug 22, 2014

binarytrees and binarytrees-list both segfault immediately with no other output, although 99bottles runs fine.

@ngvrnd ngvrnd closed this as completed Aug 22, 2014
@ngvrnd ngvrnd reopened this Aug 22, 2014
@ngvrnd
Copy link
Author

ngvrnd commented Aug 24, 2014

Here's a gdb session showing the crash under binarytrees.pn:
(I built potion with DEBUG=1)

Script started on Sat 23 Aug 2014 10:08:34 PM UTC
vagrant@precise32:~/noitop/potion$ gdb bin/potion
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
http://bugs.launchpad.net/gdb-linaro/...
Reading symbols from /home/vagrant/noitop/potion/bin/potion...done.
(gdb) run example/binarytrees.pn
Starting program: /home/vagrant/noitop/potion/bin/potion example/binarytrees.pn

Program received signal SIGSEGV, Segmentation fault.
0x00159f73 in potion_type (obj=3086942040) at /home/vagrant/noitop/potion/core/potion.h:522
522 if (o->fwd != POTION_FWD)
(gdb) where
#0 0x00159f73 in potion_type (obj=3086942040) at /home/vagrant/noitop/potion/core/potion.h:522
#1 0x0015b616 in potion_obj_find_ivar (P=0xb7fd0040, self=3086942040, ivar=3086287064) at /home/vagrant/noitop/potion/core/objmodel.c:306
#2 0x0015b791 in potion_obj_set (P=0xb7fd0040, cl=3086286952, self=3086942040, ivar=3086287064, value=3086155784) at /home/vagrant/noitop/potion/core/objmodel.c:330
#3 0x00398236 in ?? ()
#4 0x00398217 in ?? ()
#5 0x003982e6 in ?? ()
#6 0x00398217 in ?? ()
#7 0x003982e6 in ?? ()
#8 0x003982e6 in ?? ()
#9 0x003982e6 in ?? ()
#10 0x00398217 in ?? ()
#11 0x00398217 in ?? ()
#12 0x00398217 in ?? ()
#13 0x00398217 in ?? ()
#14 0x00398217 in ?? ()
#15 0x00398217 in ?? ()
#16 0x00398217 in ?? ()
#17 0x00398217 in ?? ()
#18 0x00398217 in ?? ()
#19 0x00398217 in ?? ()
#20 0x00398217 in ?? ()
#21 0x00398217 in ?? ()
#22 0x00398217 in ?? ()
#23 0x00398217 in ?? ()
#24 0x0039a40b in ?? ()
#25 0x0804aaa8 in potion_cmd_exec (P=0xb7fd0040, buf=3086287344, filename=0xbffff8d6 "example/binarytrees.pn", compile=0x0, addcode=0x0) at /home/vagrant/noitop/potion/core/potion.c:142
#26 0x08049efc in main (argc=2, argv=0xbffff784) at /home/vagrant/noitop/potion/core/potion.c:397
(gdb) list
517 if (PN_IS_BOOL(obj)) return PN_TBOOLEAN;
518 if (PN_IS_NIL(obj)) return PN_TNIL;
519 #if 1
520 while (1) {
521 struct PNFwd *o = (struct PNFwd *)obj;
522 if (o->fwd != POTION_FWD)
523 return ((struct PNObject *)o)->vt;
524 obj = o->ptr;
525 }
526 #else
(gdb) quit
A debugging session is active.

    Inferior 1 [process 9756] will be killed.

Quit anyway? (y or n) y
vagrant@precise32:~/noitop/potion$ exit

Script done on Sat 23 Aug 2014 10:10:28 PM UTC
vagrant@precise32:~/noitop/potion$

@rurban
Copy link
Member

rurban commented Sep 10, 2014

Fixed this GC bug with commit 2bbcb2a
Author: Reini Urban [email protected]
Date: Wed Sep 10 13:20:56 2014 -0500

@rurban rurban closed this as completed Sep 10, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants