-
Notifications
You must be signed in to change notification settings - Fork 0
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
Crashes #19
Comments
The ones i was running at home that tried to prevent any double deletes both crashed as well. |
On windows, the program still gives the follow error message: warning: HEAP[Comp 524 Project.exe]: the bt at this point is: after calling step twice the bt is this: |
I'm not sure what to say. It seems the range code is most likely the
|
I'm not sure if the range set is the problem, I think we may have had some heap corruption errors for a while now but I don't remember if it was before or after range set. I think I may try commenting it out or looking at an older commit to see if it still breaks. I have to fix my 512 program first though, the demo today went very bad... I will add more after class. |
I'm using valgrind now and it's finding some things. I'm still getting the
|
I think I fixed the big problem, as suspected we were in fact overrunning the usesArray in ranges. See the commit I just made for details. Edit: This has now been merged into master |
Here's the errors I'm still getting with the TestCase() constructor. See my latest commit in the tyingToFixThings branch to see what I've already tried. ==27540== HEAP SUMMARY: |
Valgrind is pretty cool, I'll have to keep it in mind next time im debugging c++. |
All three programs have crashed, I'll post the output for one of the crashes at the end of this. It was optimized and without debug symbols so the backtrace is not very helpful. The crash error was this: "*** glibc detected *** ./research1Comp524: double free or corruption (!prev): "
From what I have read there are two likely causes for this. Calling delete or free on something twice or overrunning an array.
The backtrace in gdb lends credence to the overrunning theory. idk if you have noticed it but somtimes the backtrace has ?? symbols or weird address for functions or just far fewer functions then there should be in the backtrace. This is generally cause by the stack getting corrupted, which can be caused by buffer overflows.
I just pushed a commit to help catch additional delete calls. I'm running it in debug mode on my home comp but it could take away to crash, so I still don't know if it helped. If they have not crashed by tomorrow morning I will incororate the change into the version we are running on fermat.
We have several options open to us in terms of getting the data we need and finishing the program
At a certain point though, we may have to ask is an 'A' or 'A-' worth what seems to be an exponential amount of work-hours.
Let me know what you think.
*** glibc detected *** ./research1Comp524: double free or corruption (!prev): 0x0000000106f97aa0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7db26)[0x7f27b3755b26]
./research1Comp524[0x4129f9]
./research1Comp524[0x413ce7]
./research1Comp524[0x413f97]
./research1Comp524[0x415b1b]
./research1Comp524[0x402708]
./research1Comp524[0x402ce1]
./research1Comp524[0x4019ea]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7f27b36f976d]
./research1Comp524[0x401f91]
======= Memory map: ========
00400000-00420000 r-xp 00000000 00:1c 45293714 /home/rvh5220/git/Comp-524-program/Comp 524 Project/src/research1Comp524
0061f000-00620000 r--p 0001f000 00:1c 45293714 /home/rvh5220/git/Comp-524-program/Comp 524 Project/src/research1Comp524
00620000-00621000 rw-p 00020000 00:1c 45293714 /home/rvh5220/git/Comp-524-program/Comp 524 Project/src/research1Comp524
00621000-00622000 rw-p 00000000 00:00 0
01a71000-10935b000 rw-p 00000000 00:00 0 [heap]
7f27b36d8000-7f27b388c000 r-xp 00000000 08:01 34869821 /lib/x86_64-linux-gnu/libc-2.15.so
7f27b388c000-7f27b3a8b000 ---p 001b4000 08:01 34869821 /lib/x86_64-linux-gnu/libc-2.15.so
7f27b3a8b000-7f27b3a8f000 r--p 001b3000 08:01 34869821 /lib/x86_64-linux-gnu/libc-2.15.so
7f27b3a8f000-7f27b3a91000 rw-p 001b7000 08:01 34869821 /lib/x86_64-linux-gnu/libc-2.15.so
7f27b3a91000-7f27b3a96000 rw-p 00000000 00:00 0
7f27b3a96000-7f27b3aac000 r-xp 00000000 08:01 34865174 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f27b3aac000-7f27b3cab000 ---p 00016000 08:01 34865174 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f27b3cab000-7f27b3cac000 r--p 00015000 08:01 34865174 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f27b3cac000-7f27b3cad000 rw-p 00016000 08:01 34865174 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f27b3cad000-7f27b3da8000 r-xp 00000000 08:01 34869772 /lib/x86_64-linux-gnu/libm-2.15.so
7f27b3da8000-7f27b3fa7000 ---p 000fb000 08:01 34869772 /lib/x86_64-linux-gnu/libm-2.15.so
7f27b3fa7000-7f27b3fa8000 r--p 000fa000 08:01 34869772 /lib/x86_64-linux-gnu/libm-2.15.so
7f27b3fa8000-7f27b3fa9000 rw-p 000fb000 08:01 34869772 /lib/x86_64-linux-gnu/libm-2.15.so
7f27b3fa9000-7f27b4096000 r-xp 00000000 08:01 39716397 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7f27b4096000-7f27b4295000 ---p 000ed000 08:01 39716397 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7f27b4295000-7f27b429e000 r--p 000ec000 08:01 39716397 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7f27b429e000-7f27b42a0000 rw-p 000f5000 08:01 39716397 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7f27b42a0000-7f27b42b5000 rw-p 00000000 00:00 0
7f27b42b5000-7f27b42d7000 r-xp 00000000 08:01 34869812 /lib/x86_64-linux-gnu/ld-2.15.so
7f27b4438000-7f27b44bd000 rw-p 00000000 00:00 0
7f27b44d4000-7f27b44d7000 rw-p 00000000 00:00 0
7f27b44d7000-7f27b44d8000 r--p 00022000 08:01 34869812 /lib/x86_64-linux-gnu/ld-2.15.so
7f27b44d8000-7f27b44da000 rw-p 00023000 08:01 34869812 /lib/x86_64-linux-gnu/ld-2.15.so
7ffc1bcf1000-7ffc1bd12000 rw-p 00000000 00:00 0 [stack]
7ffc1bd2a000-7ffc1bd2c000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
The text was updated successfully, but these errors were encountered: