Windows error 0x00000134, 308

Detailed Error Information

IMAGE_SUBSYSTEM_NOT_PRESENT[1]

MessageThe subsystem needed to support the image type is not present.
Declared inwinerror.h

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

DRIVE_EXTENDER[2]

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

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 Code308 (0x0134)

Possible solutions

12

Why do I get in gdb "Cannot access memory at address 0x..." while inspecting a core dump?

c++
memory-management
assembly
gdb
coredump

that looks like an in-kernel memory reference to me (above 0xc0000000, assuming Linux and 32-bit process). To find out, check out /proc/{yourpid}/maps

Shouldn't the core dump contain a snapshot of all the allocated memory?

It should, but if something has corrupted your process' memory, you've got a snapshot of corrupted program state, and thus some garbage may be found where valid pointers are expected.

What are the possible causes for this? Am I missing some info from the core dump?

I note that when running a 32-bit executable on a 64-bit system, the full 4GB address space can be used by the process. e.g.

ia32kernel# pmap `pidof cat` 
004e8000    108K r-x--  /lib/ld-2.11.1.so
00503000      4K r----  /lib/ld-2.11.1.so
00504000      4K rw---  /lib/ld-2.11.1.so
006d3000   1380K r-x--  /lib/tls/i686/cmov/libc-2.11.1.so
0082c000      8K r----  /lib/tls/i686/cmov/libc-2.11.1.so
0082e000      4K rw---  /lib/tls/i686/cmov/libc-2.11.1.so
0082f000     12K rw---    [ anon ]
00f64000      4K r-x--    [ anon ]
08048000     48K r-x--  /bin/cat
08054000      4K r----  /bin/cat
08055000      4K rw---  /bin/cat

vs.

amd64kernel# pmap `pidof cat` 
0000000008048000     48K r-x--  /home/martin/cat
0000000008054000      4K r----  /home/martin/cat
0000000008055000      4K rw---  /home/martin/cat
0000000009e1d000    132K rw---    [ anon ]
00000000f766c000      4K rw---    [ anon ]
00000000f766d000   1280K r-x--  /lib32/libc-2.11.3.so
00000000f77ad000      4K -----  /lib32/libc-2.11.3.so
00000000f77ae000      8K r----  /lib32/libc-2.11.3.so
00000000f77b0000      4K rw---  /lib32/libc-2.11.3.so
00000000f77b1000     12K rw---    [ anon ]
00000000f77c0000      8K rw---    [ anon ]
00000000f77c2000      4K r-x--    [ anon ]
00000000f77c3000    112K r-x--  /lib32/ld-2.11.3.so
00000000f77df000      4K r----  /lib32/ld-2.11.3.so
00000000f77e0000      4K rw---  /lib32/ld-2.11.3.so

So if you're trying to inspect on a 32-bit machine a coredump that was captured on a 64-bit machine, those high-addresses libraries such as libc.so can't be mapped as expected even though the same 32-bit binary is used on both systems.

answered on Stack Overflow Feb 15, 2013 by PypeBros • edited Aug 29, 2016 by PypeBros
3

MP4 / MOV H.264 - determine bytestream standard (Annex B or AVC)

video
format
h.264

"Annex B" looks usually like this:

(AUD)(SPS)(PPS)(I-Slice)(PPS)(P-Slice)(PPS)(P-Slice) ... (AUD)(SPS)(PPS)(I-Slice)

"AVC" or "MP4" has usually the (AUD)(SPS)(PPS) removed. Annex B should start 00 00 00 01 09 00 00 00 01 x8.

So you could look for the start code prefix AUDs, SPSs and PPSs.

For "AVC" you can read the size field than verify that the next byte consists of a valid NAL unit type and than seek past the NAL and do the same a few time.

answered on Stack Overflow Nov 19, 2015 by Markus Schumann
2

MP4 / MOV H.264 - determine bytestream standard (Annex B or AVC)

video
format
h.264

AnnexB is not supported at all in mp4/mov.

answered on Stack Overflow Nov 19, 2015 by szatmary
1

Memory mapped through gpio in beaglebone black

android
c
android-ndk
beagleboneblack
beagleboard

Shouldn't this :

reg = mapGPIO[1][GPIO_OE_REG / 4];

Be :

reg = mapGPIO[j][GPIO_OE_REG / 4];

?

answered on Stack Overflow May 12, 2016 by sheham • edited May 12, 2016 by LPs
1

Watchguard Firewall SSLVPN

vpn
watchguard

I realized that this question was still open, although I resolved it (with the original hardware vendor's help) a long time ago.

The issue was that I was trying to connect to firewall (VPN) from outside the network on port 443 (SSL), which was already reserved on the firewall for something else (web traffic at one point was coming through for email purposes - later on down the road, I'll look into closing that down completely).

When we configured the firewall (and the VPN client) to communicate on port 444, it worked just fine.

answered on Server Fault Jan 31, 2014 by David W
1

Seg Fault in ARM Assembly

c
assembly
beagleboneblack

The answer to my question was actually really simple. Since ldr r0, =beagle_bone_0 loads the address of beagle_bone_0 into register 0 I can just manipulate beagle_bone_0 with that address.

Working test code:

    .syntax unified

    .data

beagle_bone_0:  .ascii  "Hello, world\n"

    .text

    .global main

main:
    push    {ip, lr}

    ldr     r0, =beagle_bone_0
    mov     r1, #0x65
    strb    r1, [r0]

    bl      printf

    pop     {ip, pc}
answered on Stack Overflow Dec 7, 2014 by schmidt73
0

Avoid having $ match end of buffer with boost regex partial_match

c++
regex
boost

http://www.boost.org/doc/libs/1_55_0/libs/regex/doc/html/boost_regex/ref/match_flag_type.html

on here I finally figured out that

match_not_eob

does not apply to '$'. I needed to instead use

match_not_eol
answered on Stack Overflow Aug 1, 2014 by Joseph
0

Seg Fault in ARM Assembly

c
assembly
beagleboneblack

I ran and debugged your code. The line mov r0, beagle_bone_0 didn't even compile (on my compiler, at least). You want to load in r0 the address of beagle_bone. For this, you should use the adr pseudo-instruction, that is translated by the compiler in a pc-relative move (something like mov r0, [pc, #8]. You cannot use it this way. Probably your compiler translated it into something different.

So, to fix it, just replace the line mov r0, beagle_bone_0 by adr r0, beagle_bone_0.

Also the string was in the .text section which we cannot edit. So, I put beagle_bone_0 in the .data section.

answered on Stack Overflow Dec 7, 2014 by Paul92 • edited Dec 7, 2014 by user61382

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