Thread: random segfault
View Single Post
  #1   Spotlight this post!  
Unread 10-12-2010, 16:10
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
random segfault

I appear to be encountering a very odd segfault. I have this method, and some odd output.
Methods:
Code:
string ZomBDashboard::GetString(string name)
{
    if (src != NULL)
    {
        debugf("Getting string.. (Deref: %p;", src);
        System451::Communication::Dashboard::ZomBTCPSource &ts = *((System451::Communication::Dashboard::ZomBTCPSource*)src);
        debugf(" deref OK, con: %d)", ts.connected);
        return ts.Get(name);//or, src->Get(name)
    }
    return "";
}
...
const char* System451::Communication::Dashboard::ZomBTCPSource::Get(string name)
{
    debugf(". in, \n");
    Synchronized sync (sink);
    return curvalues[name];
}
Output:
Code:
Getting string.. (Deref: 0xsomememoryaddressthatappearsvalid; deref OK, con: 4)

data access
(generic vxworks error info)
and sometimes
Code:
Getting string.. (Deref: 0xsomememoryaddressthatappearsvalid;

data access
(generic vxworks error info)
I tried using Debug Kernel Task, but WR just paused updating all the panels to new info, so it was essentially useless.

The robot code is attached in MyRobot.cpp and the C++ Bindings folder. The dashboard is Dashboard.exe and ZomB.dll (you might have to launch it twice), and when all is working, moving the slider on the left should move the slider on the right.

if you feel like compiling ZomB, download all the code (in the trunk) at http://firstforge.wpi.edu/integratio...ystem=exsy1002 and copy the DashboardDataHub.cs in the zip into ZomBdll\NetAndDataProcessing
Attached Files
File Type: zip debug stuff.zip (3.91 MB, 7 views)
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
Reply With Quote