Skip to content

Problems with showing the symbol table for some class files #113

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mgudemann opened this issue Jun 17, 2016 · 4 comments
Closed

Problems with showing the symbol table for some class files #113

mgudemann opened this issue Jun 17, 2016 · 4 comments

Comments

@mgudemann
Copy link
Contributor

mgudemann commented Jun 17, 2016

For some class files, --show-symbol-table fails with identifier java::java.lang.Object not found

For example for the class file of the inner class Responses$Authenticate generated from: https://github.com/v-l-a-d/java-driver/blob/2.1/driver-core/src/main/java/com/datastax/driver/core/Responses.java

the whole result is:

CBMC version 5.4 64-bit x86_64 linux
Parsing com/datastax/driver/core/Responses$Authenticate.class
Java main class: com.datastax.driver.core.Responses$Authenticate
failed to load class `com.datastax.driver.core.Message'
failed to load class `com.datastax.driver.core.Responses'
failed to load class `com.datastax.driver.core.Message$Decoder'
failed to load class `com.datastax.driver.core.Responses$Authenticate$1'
failed to load class `java.lang.StringBuilder'
failed to load class `java.lang.String'
failed to load class `com.datastax.driver.core.Message$Response'
failed to load class `com.datastax.driver.core.Message$Response$Type'
Converting

Symbols:

Symbol......: __CPROVER_malloc_object
Pretty name.: 
Module......: 
Base name...: __CPROVER_malloc_object
Mode........: C
Type........: void *
Value.......: 
Flags.......: lvalue thread_local state_var
Location....: 

Symbol......: __CPROVER_rounding_mode
Pretty name.: 
Module......: 
Base name...: __CPROVER_rounding_mode
Mode........: C
Type........: signed int
Value.......: 
Flags.......: lvalue thread_local state_var
Location....: 

identifier java::java.lang.Object not found
@smowton
Copy link
Contributor

smowton commented Aug 3, 2016

Unable to reproduce for that class; may be fixed by unrelated progress in the meantime. I'd seen this before and the core problem was that some classes that never make any Object references could lead to java.lang.Object not getting introduced into the symtab, then the array classes would try to get its symbol regardless.

Suggest this can be closed for now unless we find another case where Object is used without being introduced first.

@smowton
Copy link
Contributor

smowton commented Aug 3, 2016

Aha, it happens when classes are derived from some non-Object opaque type. Addressed in smowton@d849b3e

@smowton
Copy link
Contributor

smowton commented Aug 4, 2016

Fixed in Cristina's test_gen branch

smowton pushed a commit to smowton/cbmc that referenced this issue May 9, 2018
…e-nondet-in-lvsa

Added NONDET handling in taint domain's init
@peterschrammel
Copy link
Member

Likely fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants