Windows error 0x0000015A, 346

Detailed Error Information

BLOCKED_BY_PARENTAL_CONTROLS[1]

MessageThe operation was blocked by parental controls.
Declared inwinerror.h

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

SDBUS_INTERNAL_ERROR[2]

This is a Blue Screen of Death stop code. More information is available in the Knowledge Base article Bug Check 0x15A: SDBUS_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 Code346 (0x015a)

Possible solutions

1

gcc does not produce debugging symbols for local variable-length arrays (or gdb doesn't find them)

gcc

Ooooooopppsssssss....
I just found out that on my machine (os x 10.7.5) gcc is not gcc!
It's just a link /usr/bin/gcc@ -> llvm-gcc-4.2

I did the same experiment on a machine with a genuine gcc and everything works as is should! The symbol for "array" is... lo and behold... "array".

So it's a llvm thing. Sorry guys. As far as gcc is concerned, case closed. If I compile with clang it's even worse. No symbol at all is produced for "array".

I shuold repost the question under the llvm-ggc tag with a different title.

answered on Stack Overflow Aug 6, 2014 by brian0
0

gcc does not produce debugging symbols for local variable-length arrays (or gdb doesn't find them)

gcc

gdb 7.8 should now support this:

Tue, 29 Jul 2014

GDB 7.8 brings new targets, features and improvements, including:

...

  • ISO C99 variable length automatic arrays support.

http://lwn.net/Articles/607108/

and indeed on ubuntu 14.10 utopic it works for me:

# gcc -g3 test.c -O0
# gdb ./a.out
GNU gdb (Ubuntu 7.8-0ubuntu1) 7.8
(gdb) break main
Breakpoint 1 at 0x4005be: file test.c, line 4.
(gdb) r
Starting program: /a.out 

Breakpoint 1, main (argc=1, argv=0x7fffffffe2d8) at test.c:4
4   int main( int argc, char **argv ) { 
(gdb) n
6       n = random() & 0xf;
(gdb) 
7       int array[n];
(gdb) 
8       int *array_pt = array;
(gdb) p array
$1 = {-136403536, 32767, -134225464, 1804289383, 3, 0, 4195800}
(gdb) 
answered on Stack Overflow Aug 6, 2014 by jtaylor • edited Aug 6, 2014 by jtaylor

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