Windows error 0x00000058, 88

Detailed Error Information

NET_WRITE_FAULT[1]

MessageA write fault occurred on the network.
Declared inwinerror.h

This appears to be a raw Win32 error. More information may be available in error 0x80070058.

FTDISK_INTERNAL_ERROR[2]

This is a Blue Screen of Death stop code. More information is available in the Knowledge Base article Bug Check 0x58: FTDISK_INTERNAL_ERROR.

HRESULT analysis[3]

This is probably not the correct interpretation of this error. The Win32 error above is more likely to indicate the actual problem.
FlagsSeveritySuccess

This code indicates success, rather than an error. This may not be the correct interpretation of this code, or possibly the program is handling errors incorrectly.

Reserved (R)false
OriginMicrosoft
NTSTATUSfalse
Reserved (X)false
FacilityCode0 (0x000)
NameFACILITY_NULL[3][1]
DescriptionThe default facility code.[3][1]
Error Code88 (0x0058)

Possible solutions

11

Decoding the parameters of a thrown C++ exception (0xE06D7363)

c++
debugging
visual-c++
windbg
crash-dumps

There're many technical details involved. I can give you the direction.

The 2nd exception parameter (0052ccd8) is a pointer to a _s__ThrowInfo structure, which describes the thrown type. The 3rd parameter (564099d8) is a pointer to the thrown object.

First let's discuss the thrown object type. The _s__ThrowInfo points to a constant structure (generated at the compile-time), which resides within your executable (EXE or DLL), which is mapped into the process address space.

If the global memory is included in your crash dump - then you can find it there. Otherwise you may deduce it from the executable. Subtract the "base" address from your executable (assuming it was loaded at its preferred address), and you'll get the offset of this structure within your executable.

Decoding the actual type from this structure is kind tricky. It includes the information about types it may be cast to (C++ polymorphism), plus the d'tor (destructor) in case it's a non-trivial type (with non-trivial d'tor) and it was thrown by-value. The table of types it may be cast to contain pointers to the appropriate structures describing those types. Among other things there are textual "encodings" of those types.

Information about layout of those structures may be found here:

Next, the thrown object. Its address usually belongs to the stack memory (strictly speaking this is not mandatory, one may throw either global or dynamically-allocated(on-heap) object. But this is usually not the case). If you have the stack included in your crash dump - you'll see the object layout. Coupled with the type you'll (hopefully) realize what it means.

If you don't have the stack memory included in your crash dump - you'll not be able to recover the object.

In addition your object may contain members that are pointer to other things (like strings or other objects) which may not necessarily be allocated on the stack. Most probably you'll fail to realize those members, unless you have the full-memory dump.

answered on Stack Overflow Feb 1, 2012 by valdo
4

unable to run RTSP link through Vitamio on Android

android
video-streaming
rtsp
mms
vitamio

I have the same problem, I found that if I comment the code

mMediaPlayer.getMetadata();

in source file MediaPlayerDemo_Video.java, the demo will runs OK.

I think maybe there is something wrong about get metadata from live stream in Vitamio's lib.

Hope this info may help u.

answered on Stack Overflow Oct 21, 2013 by pxd
3

What's wrong with this Windows API call WaitForSingleObject?

c++
windows
exception
windbg
activation-context-api

This looks a lot like the 0xC015000f exception encountered in MFC applications ("The activation context being deactivated is not the most recently activated one.")

In all cases where I have encountered this exception, the exception is not the primary issue. It is a side effect of an earlier exception, usually an access violation, where the stack is not unwound properly. Somewhere a call frame that used a macro such as the AFX_MANAGE_STATE macro is missed in the exception handling. The result is that the next time the activation context is manipulated, say by another routine that results in a call to something like AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2, the system detects a cookie mismatch and throws the exception.

In your case you may either be causing an exception (most likely an AV) in one piece of code that then is manifested by the context exception. To trap the root cause, run the debugger with first chance exception handling enabled. That way the AV that is being trapped elsewhere up the call frame by someone perhaps using a try/catch(...) will be exposed. Since you appear to be threading, you may simply have a race condition on a memory access that causes the primary exception (if that is indeed what is happening).

I see in a previous post: "In fact, this problem comes from porting the program from 64-bit Win XP to 64-bit Win7. The compiler is switched therefore from VC6 to VC9. "

This is not a bug in MFC. MFC 6 did not include the activation context switching code (which is cookie based) that was added, I think, in Visual Studio 2005. So you would not encounter this exception. We too thought the newer MFC had issues but in every case we have encountered, it was our code that caused the problem. The original problems are masked by code flows that started with a try/catch (usually ...) that eventually called code that used one of the MFC manage state macros that then called more code where eventually the AV would occur. Since the catch was way up the stack, and depending on the corruption, not all frames are unwound properly, the back side of the MFC macros are missed (some destructor failed to pop its context). To make matters worse (for debugging), the eventual context crash can occur anywhere in your code (we experienced a lot of them in CWnd's base window message processing routing method). We eventually created another tool for a user to run that would attach itself as a debugger to our (release target) executable that trapped first chance exceptions and created a dmp file so we could find the inital point where the exception occurred since a dump of the context exception almost never was useful since the original source of the problem was long since past execution.

answered on Stack Overflow Aug 10, 2012 by R.D. Holland • edited Aug 10, 2012 by R.D. Holland
3

Sending commands from custom made Bluetooth device to android phone to control music player

bluetooth
arduino
headset

Question is if your board supports AVRCP controller BT profile?

If it does you "only" need to connect against your phones AVRCP target BT profile. When you have a AVRCP BT connection there is specified commands how to pause and skip songs.

This is how the "plug and play" headset does.

Read more about Bluetooth profiles. http://en.wikipedia.org/wiki/Bluetooth_profile

Looking at your code you have set up a serial link towards a phone. This link uses SPP profile and you will only be able to send raw data over that link. If this is the only profile that your BT stack on your Arduino Uno board have you will be forced to create an application on the phone side to be able to read the raw data and do something with it e.g. pause music.

Hope this cleared things little for you.

answered on Stack Overflow Apr 23, 2014 by harsmar
2

What's wrong with this Windows API call WaitForSingleObject?

c++
windows
exception
windbg
activation-context-api

The only way that call can fail in that manner is if

pChannel->hMutex

is invalid. Either pChannel itself is invaild, or hMutex. Most likely the former.

answered on Stack Overflow May 23, 2012 by David Heffernan • edited May 23, 2012 by David Heffernan
2

unable to run RTSP link through Vitamio on Android

android
video-streaming
rtsp
mms
vitamio

Open VideoView.java file And replace this code

  Metadata data = mp.getMetadata();

  if (data != null) {
      mCanPause = !data.has(Metadata.PAUSE_AVAILABLE)
              || data.getBoolean(Metadata.PAUSE_AVAILABLE);
      mCanSeekBack = !data.has(Metadata.SEEK_BACKWARD_AVAILABLE)
              || data.getBoolean(Metadata.SEEK_BACKWARD_AVAILABLE);
      mCanSeekForward = !data.has(Metadata.SEEK_FORWARD_AVAILABLE)
              || data.getBoolean(Metadata.SEEK_FORWARD_AVAILABLE);
  } else {
      mCanPause = mCanSeekBack = mCanSeekForward = true;
  } 

By this

  mCanPause = mCanSeekBack = mCanSeekForward = true;
answered on Stack Overflow Nov 4, 2013 by Rusty • edited Nov 20, 2013 by Rusty
1

What's wrong with this Windows API call WaitForSingleObject?

c++
windows
exception
windbg
activation-context-api

You should be checking if the handle is invalid not simply not NULL like:

if (myHandle != INVALID_HANDLE_VALUE)
{
    // do something
}

Usually the create handle function will return this value if there is an error.

answered on Stack Overflow May 23, 2012 by EdChum • edited May 23, 2012 by EdChum
1

What's wrong with this Windows API call WaitForSingleObject?

c++
windows
exception
windbg
activation-context-api

looks like problem in context deactivation (thoughts based on windbg dump). Refer to http://blogs.msdn.com/b/junfeng/archive/2006/03/19/sxs-activation-context-activate-and-deactivate.aspx article.

answered on Stack Overflow May 23, 2012 by Evgenii Gostiukhin
1

Decoding the parameters of a thrown C++ exception (0xE06D7363)

c++
debugging
visual-c++
windbg
crash-dumps

old question and a very late answer (question popped up in active list so replying)

the gist of raymond chen and valdos answer in a consice script

0:000> dt _s_throwinfo pCatchableTypeArray[0]->arrayOfCatchableTypes->pType->name  @@c++(( (ntdll!_EXCEPTION_RECORD *) @@masm(@esp+4) )->ExceptionInformation[2])
cppexept!_s_ThrowInfo
   +0x00c pCatchableTypeArray                                        : [0] 
      +0x004 arrayOfCatchableTypes                                      : [0] 
         +0x004 pType                                                      : 
            +0x008 name                                                       : [0]  ".PAD"
answered on Stack Overflow Jul 15, 2015 by blabb
1

cuda copy array from global memory to shared memory

cuda
shared-memory

From what I can see, the memory allocated to the device pointers (px, py) is 32*sizeof(double), however the number of blocks you have is 10000. Device memory is global and all blocks share it, only the shared memory is defined for each block. Therefore for blockId.x = 1, you should get an invalid memory access. Moreover, in the kernel call, it should be d_px, d_py.

answered on Stack Overflow Jan 12, 2013 by Bharat
1

WinDbg Help Pls

wpf
debugging
clr
windbg

You may want to use this article as a starting point: SOS: It's Not Just an ABBA Song Anymore

It looks like your application is a .NET application, make sure you've got the right .NET Framework installed. When you load the sos.dll file into windbg, you may have to provide a full path. Also, you can set up access to the public microsoft symbol servers to help with some of your stack tracing. This article may help: Debugging Tools and Symbols: Getting Started. Make sure you've got the latest version of the debugging tools.

!analyze will give you some information about the fault, but not too much else. You should look at the first article to see what else is going on.

Posting some information about your application will also help people see if you are having a similar issue.

It looks like the fault is happening in your ViewModelBase.cs file. You may want to add some logging (using log4net or similar tool) to catch the exception and print out the stack trace. You can also hook into AppDomain.CurrentDomain.UnhandledException event (or the Application.DispatcherUnhandledException event for WPF applications) to catch anything that's getting thrown and printing out something to a log file. In this case, you won't need to resort to WinDbg to figure out what's going on.

answered on Stack Overflow Apr 29, 2011 by Garo Yeriazarian
1

WinDbg Help Pls

wpf
debugging
clr
windbg

Well after several weeks of searching (maybe more), it turns out that when using Trend Micro Corporate, XP to Server 2003 is fine, Vista and Windows 7 to 2003 is fine, and even XP/Vista to server 2008 is fine, but (and I have no idea why), when using Windows 7 and trying to run a network application using a UNC path in the shortcut, it blocks certain pieces of the network traffic for that application, and it does so sporadically and what seems to be without any sound logic. I can't say why as we never quite figured out what exactly the catalyst was for setting off Trend, but I do know that when we disabled Trend, all was back to normal (something I wished we tried sooner). We found that by mapping a drive to our share and changing our shortcuts on our users workstations to use the mapped drive rather than a UNC path, the issue was averted.

Hopefully no one else runs into this problem, but if they do, this will perhaps shed some light on the issue.

Thank you! Aj

answered on Stack Overflow Jun 2, 2011 by Aaj
1

Sending commands from custom made Bluetooth device to android phone to control music player

bluetooth
arduino
headset

Probably it is to late for you, but maybe I can help someone else.

Firstly, Bluetooth devices like BT headphones, keyboards etc, are known as HID (Human Interface devices). HC05 are not one of this out of the box, but there is a solution introduced by Evan Kale (link: https://www.youtube.com/watch?v=BBqsVKMYz1I) how to update one of this using serial port connection.

Other solution is to buy BT HID module, but they are more expensive (about 10 times)

answered on Stack Overflow Feb 16, 2018 by Przemysław Gęsieniec • edited Feb 16, 2018 by Haroldo Gondim
0

Ad Hoc Builds Crashing on Device Only - ASIHTTPRequest

ios5
xcode4.3
ad-hoc-distribution
testflight

I had this exact same problem, it worked flawlessly when built directly from XCode but, when deployed through AD Hoc, it'd crash every time. I'm not sure why but as it turns out the problem is with the blocks of ASIHTTPRequest completion and failure. Here is how I worked around it.

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
        [request setDidFinishSelector:@selector(completedImg:)];
        [request setDidFailSelector:@selector(failedImg:)];
        [request setDelegate:self];
        [request startAsynchronous];

Note* I only had this crash when downloading videos (it works fine with documents and images for some reason).

answered on Stack Overflow Oct 3, 2012 by ohr
0

Stream from IP Camera very jittery on VLC

c++
algorithm
h.264
live555

Because read is a blocking call, you should either manage non-blocking read or use a thread. But your kernel module doesn't seems to implement select/poll callback.

Then a first step could be to call the read outside from the live555 mainloop using an additionnal thread like this :

#include "DeviceSource.hh"
#include <GroupsockHelper.hh> // for "gettimeofday()"
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>

static uint8_t buf[131072];
int upp_stream; 
EventTriggerId DeviceSource::eventTriggerId = 0;
unsigned DeviceSource::referenceCount = 0;
pthread_t thid;
bool stop = false;

static void* thread(void* clientData) 
{
    DeviceSource* This = ((DeviceSource*)clientData);
    while (!stop) 
    {
        if (This->isCurrentlyAwaitingData())
        {
            ::read(upp_stream, buf, sizeof(buf));
            This->envir().taskScheduler().triggerEvent(DeviceSource::eventTriggerId, This);
        }
    }
    return NULL;
}

DeviceSource* DeviceSource::createNew(UsageEnvironment& env) { return new DeviceSource(env); }
DeviceSource::DeviceSource(UsageEnvironment& env):FramedSource(env) 
{ 
    if (referenceCount == 0) 
    {
        upp_stream = open("/dev/upp",O_RDWR);
        pthread_create(&thid, NULL, thread, this);
        eventTriggerId = envir().taskScheduler().createEventTrigger(deliverFrame0);
    }
    ++referenceCount;
}

DeviceSource::~DeviceSource(void) {
    --referenceCount;
    if (referenceCount == 0) 
    {
        stop=true;
        pthread_join(thid, NULL);

        envir().taskScheduler().deleteEventTrigger(eventTriggerId);
        eventTriggerId = 0;
        ::close(upp_stream);
    }
}

void DeviceSource::doGetNextFrame() {}

void DeviceSource::deliverFrame0(void* clientData) { ((DeviceSource*)clientData)->deliverFrame(); }
void DeviceSource::deliverFrame() 
{
    if (!isCurrentlyAwaitingData()) return; // we're not ready for the data yet
    //Bitwise Shift hex from buf[12] to buf[15] to get data count  
    unsigned int data_count2 = (buf[12] << 24)|(buf[13]<<16)|(buf[14]<<8)|buf[15];

    u_int8_t* newFrameDataStart = (uint8_t*)buf;
    unsigned newFrameSize = sizeof(buf);//f_size; 
    // Deliver the data here:
    if (newFrameSize > fMaxSize) 
    {
        fFrameSize = fMaxSize;
        fNumTruncatedBytes = newFrameSize - fMaxSize;
    }   
    else 
    {
        fFrameSize = newFrameSize;
    }
    gettimeofday(&fPresentationTime, NULL); //chk this 
    memmove(fTo, newFrameDataStart, fFrameSize);
    FramedSource::afterGetting(this);
}

As you notice this simple sample doesnot read frame in background. This needs to implement a FIFO between the two threads.

UPDATE
It could be build using :

CPPFLAGS=-pthread LDFLAGS=-pthread make
answered on Stack Overflow Feb 1, 2015 by mpromonet • edited Feb 15, 2015 by mpromonet
0

uPP Device Driver is dropping data from buffer

c
multithreading
arm
linux-device-driver
omap

In case you would like to submit the driver to upstream (which actually a right way to go), you probably may contact with TI guys who are working with DaVinci boards. I assume you already googled the link DaVinci Wiki.

Regarding to your driver it's hard to check due to its code style. Moreover you may check modern kernel APIs for stuff you are trying to program manually (voltage regulators, clocks, pin control, and so on). For many basic devices there are already drivers and setup. Also you have to describe you board configuration in device tree. Usually it means to create an additional (to the common) piece of configuration and put it under arch/arm/boot/dts/. There you may find da850 predefined data bases.

answered on Stack Overflow Jan 7, 2015 by 0andriy

Comments

Leave a comment

(plain text only)

Sources

  1. winerror.h from Windows SDK 10.0.14393.0
  2. https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-code-reference2
  3. https://msdn.microsoft.com/en-us/library/cc231198.aspx

User contributions licensed under CC BY-SA 3.0