Windows error 0x000002C8, 712

Detailed Error Information

CHECKING_FILE_SYSTEM[1]

MessageChecking file system on %wZ
Declared inwinerror.h

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

HRESULT analysis[2]

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[2][1]
DescriptionThe default facility code.[2][1]
Error Code712 (0x02c8)

Possible solutions

7

CUDA memcheck address - how to determine location in code?

cuda
gpgpu
gpu-programming

Download the CUDA Toolkit 4.0 from the NVIDIA Developer Zone. Use the new cuobjdump that supports 2.x cubins.

cuobjdump -sass /path/to/your/cubin > /path/to/dump.txt.

Example output (tested on a sm_20 cubin, code version 2.3)

    ...
/*6018*/     /*0xe00100075003ff9a*/     CAL 0x46d8;
/*6020*/     /*0x10001de428000000*/     MOV R0, R4;
/*6028*/     /*0x00001de428000000*/     MOV R0, R0;
/*6030*/     /*0x40011de428000000*/     MOV R4, R16;
    ...
answered on Stack Overflow Jun 24, 2011 by user703016
4

CUDA memcheck address - how to determine location in code?

cuda
gpgpu
gpu-programming

This kind of errors within a kernel is tied to a memory access which is not only based upon the thread identifier.

Considering that every memory area you use has been correctly allocated for the GPU, access based only upon something like threadIdx.x shouldn't cause any problem. Thus:

  • either you have a wrong index calculation (it is frequent with expressions like data[blockDim.y * blockDim.x * threadIdx.z + blockDim.x * threadIdx.y + threadIdx.x] for instance)
  • or you use another variable in your index calculation which make it exceed your array bounds (for example data[threadIdx.x + offset])

---- edit (following comments) ----
See @Cicada's answer for the complement on cuobjdump for device > 2.x

answered on Stack Overflow Jun 23, 2011 by jopasserat • edited Jun 24, 2011 by jopasserat
1

Why is the string specified in `LD_PRELOAD` loaded on the memory of setuid executables in RedHat 6.2?

linux
security
memory
ld-preload

On Linux, all environment variables are visible to a program via a special third argument to main() traditionally called envp: http://crasseux.com/books/ctutorial/Environment-variables.html

If envp is part of your main() signature, it will point to an array containing all the environment variables. Even if it's not, it makes sense that the array might still exist in your program's address space.

None of this means that the loader actually respects LD_PRELOAD in any specific scenario--it is free to ignore it, e.g. under setuid, but the variable will still exist.

answered on Stack Overflow Jan 26, 2017 by John Zwinck
0

Why is the string specified in `LD_PRELOAD` loaded on the memory of setuid executables in RedHat 6.2?

linux
security
memory
ld-preload

To elaborate a bit on John's answer, some env. variables are removed completely from setuid environment i.e. not passed to insecure subprocesses (e.g. LD_DEBUG) and some are plain ignored but passed to subprocesses (e.g. LD_PRELOAD).

answered on Stack Overflow Jan 26, 2017 by yugr

Comments

Leave a comment

(plain text only)

Sources

  1. winerror.h from Windows SDK 10.0.14393.0
  2. https://msdn.microsoft.com/en-us/library/cc231198.aspx

User contributions licensed under CC BY-SA 3.0