Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8269277
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T06:10:24+00:00 2026-06-08T06:10:24+00:00

I am working on debugging a crash in the native C library part of

  • 0

I am working on debugging a crash in the native C library part of our application, which is called from the Java side through JNI.

I’ve found this part of the crash file that Java left for me:

# JRE version: 6.0_16-b01
# Java VM: Java HotSpot(TM) 64-Bit Server VM (14.2-b01 mixed mode linux-amd64 )
# Problematic frame:
# C  [binaryname.so+0x2760]  functionname+0x59

I’ve decompiled this:

[richg@SVR-LRH-ES-2A]$ gdb binaryname.so
...
(gdb) disas 0x275e 0x2768
Dump of assembler code from 0x275e to 0x2768:
0x000000000000275e <functionname+87>:  rex.RB clc
0x0000000000002760 <functionname+89>:  movzbl 0x230(%rax),%eax
0x0000000000002767 <functionname+96>:  test   %al,%al

Looking at my stack trace, again, and the register section, I can see:

RAX=0xffffffffffffffff, RBX=0x00002aab6cdf46c8, RCX=0x00002b70e0f15d73, RDX=0x000000005d5ffbe0
RSP=0x00000000463f9710, RBP=0x00000000463f9770, RSI=0x00002b70e0f27820, RDI=0x00000000463f9748
R8 =0x00002b70e0f27838, R9 =0x000000005cfa9828, R10=0x000000005cfa9478, R11=0x000000005cfa9440
R12=0x00002aab84654000, R13=0x00002aab6cdf46c8, R14=0x00000000463f9808, R15=0x00002aab84654000
RIP=0x00002aab79316760, EFL=0x0000000000010206, CSGSFS=0x0000000000000033, ERR=0x0000000000000004
TRAPNO=0x000000000000000e

So %rax is 0xffffffffffffffff. That look suspicious to me.

I exhausted my knowledge of x86 some time ago, though. I’ve done some reading about movz and I understand what it does (casts from an 8 bit integer up to a 32-bit one by padding the low 24 bits with zeros), but I still have questions:

1) What’s the significance of the 0x230 part in the call? I can see other uses of movzbl in the code which have different numbers in there.

2) Am I right in thinking that if the input register has a value larger than 8 bits (which %rax does, here), then this will crash with an overflow? (Which will be the root cause of my crash, if so.)

3) Why isn’t %eax in the register dump Java has given me?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T06:10:26+00:00Added an answer on June 8, 2026 at 6:10 am

    The 0x230 is an offset, 0x230(%rax) means [rax+0x230] in the normal world.

    So movzbl 0x230(%rax),%eax ends up meaning movzx eax, byte ptr [rax+0x230].

    There is no actual input register here, rax is supposed to hold an address. -1 doesn’t look very valid as an address. That’s probably the problem.

    eax is in the register dump of course – just look at the lower half of rax.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am working on an old .NET 1.1 windows application. In the debugging configuration
So part of the application I'm working on is still written in classic ASP.
I'm working on debugging Django from the command-line. I'm working with django_extensions , and
I am trying to get remote debugging working with Java on Solaris OS. Following
Debugging a complex jQuery-based application that wasn't working in Opera browser, I traced back
I am working on an Android program which calls in to native code. That
I am working on debugging an application that seems to leak memory like crazy;
I am trying to get crash dump debugging working with 2010, but it keeps
I was working on debugging an issue today related to mixing mod_proxy and mod_rewrite
Im trying to get debugging working without an app.config. I have the following code:

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.