Skip to content

Bug: internal error, Failure("int_of_big_int") with certain Blob value #5021

Open
@Gekctek

Description

@Gekctek

I have been working on misc blob -> crypto keys and i created a random key, put it in my tests as a blob, then it just breaks down with internal error, Failure("int_of_big_int")
But if i generate a new key its fine

Code:

let a = "\04\aa\67\ec\33\3f\1b\73\74\3a\95\7c\7b\aa\ed\41\ad\73\08\4a\a0\c0\e6\4d\a6\0e\54\e8\9e\03\5d\6d\06\4e\f5\73\9b\56\a4\25\0c\70\4c\d5\b3\ec\ec\a6\44\49\f9\17\d5\de\d6\87\b9\b9\9b\b0\28\7c\4e\a7\ac" : Blob;
let b = a.vals();
...

Full Error:

 FAIL prim:276:3: internal error, Failure("int_of_big_int")

Last environment:
@ManagementCanister = {}
@add_cycles = <func>
@blob_size = <func>
@blob_vals = <func>
@call_error = <func>
@call_raw = <func>
@call_succeeded = <func>
@cancelTimer = <func>
@cleanup = <func>
@create_actor_helper = <func>
@cycles = 0
@digits_dec = <func>
@digits_hex = <func>
@equal_array = <func>
@getSystemRefund = <func>
@ic00 = ""
@immut_array_get = <func>
@immut_array_keys = <func>
@immut_array_size = <func>
@immut_array_vals = <func>
@install_actor_helper = <func>
@int16ToInt = <func>
@int32ToInt = <func>
@int64ToInt = <func>
@int8ToInt = <func>
@lastTimerId = 0
@left_pad = <func>
@mut_array_get = <func>
@mut_array_keys = <func>
@mut_array_put = <func>
@mut_array_size = <func>
@mut_array_vals = <func>
@nat16ToNat = <func>
@nat32ToNat = <func>
@nat64ToNat = <func>
@nat8ToNat = <func>
@new_async = <func>
@nextExpiration = <func>
@prune = <func>
@refund = 0
@reset_cycles = <func>
@reset_refund = <func>
@setTimer = <func>
@set_global_timer = <func>
@text_chars = <func>
@text_has_parens = <func>
@text_needs_parens = <func>
@text_of_Blob = <func>
@text_of_Bool = <func>
@text_of_Char = <func>
@text_of_Float = <func>
@text_of_Int = <func>
@text_of_Int16 = <func>
@text_of_Int32 = <func>
@text_of_Int64 = <func>
@text_of_Int8 = <func>
@text_of_Nat = <func>
@text_of_Nat16 = <func>
@text_of_Nat32 = <func>
@text_of_Nat64 = <func>
@text_of_Nat8 = <func>
@text_of_Text = <func>
@text_of_array = <func>
@text_of_array_mut = <func>
@text_of_num = <func>
@text_of_option = <func>
@text_of_variant = <func>
@text_size = <func>
@timer_helper = <func>
@timers = null
Array_init = <func>
Array_tabulate = <func>
Ret = <func>
Types = {}
abs = <func>
arccos = <func>
arcsin = <func>
arctan = <func>
arctan2 = <func>
arrayMutToBlob = <func>
arrayToBlob = <func>
blobCompare = <func>
blobOfPrincipal = <func>
blobToArray = <func>
blobToArrayMut = <func>
btstInt16 = <func>
btstInt32 = <func>
btstInt64 = <func>
btstInt8 = <func>
btstNat16 = <func>
btstNat32 = <func>
btstNat64 = <func>
btstNat8 = <func>
call_raw = <func>
cancelTimer = <func>
canisterVersion = <func>
charIsAlphabetic = <func>
charIsLowercase = <func>
charIsUppercase = <func>
charIsWhitespace = <func>
charToLower = <func>
charToNat32 = <func>
charToText = <func>
charToUpper = <func>
clzInt16 = <func>
clzInt32 = <func>
clzInt64 = <func>
clzInt8 = <func>
clzNat16 = <func>
clzNat32 = <func>
clzNat64 = <func>
clzNat8 = <func>
cos = <func>
createActor = <func>
ctzInt16 = <func>
ctzInt32 = <func>
ctzInt64 = <func>
ctzInt8 = <func>
ctzNat16 = <func>
ctzNat32 = <func>
ctzNat64 = <func>
ctzNat8 = <func>
cyclesAccept = <func>
cyclesAdd = <func>
cyclesAvailable = <func>
cyclesBalance = <func>
cyclesBurn = <func>
cyclesRefunded = <func>
debugPrint = <func>
debugPrintChar = <func>
debugPrintInt = <func>
debugPrintNat = <func>
decodeUtf8 = <func>
encodeUtf8 = <func>
error = <func>
errorCode = <func>
errorMessage = <func>
exists = <func>
exp = <func>
floatAbs = <func>
floatCeil = <func>
floatCopySign = <func>
floatFloor = <func>
floatMax = <func>
floatMin = <func>
floatNearest = <func>
floatSqrt = <func>
floatToFormattedText = <func>
floatToInt = <func>
floatToInt64 = <func>
floatToText = <func>
floatTrunc = <func>
forall = <func>
getCandidLimits = <func>
getCertificate = <func>
hashBlob = <func>
idlHash = <func>
int16ToInt = <func>
int16ToInt32 = <func>
int16ToInt8 = <func>
int16ToNat16 = <func>
int32ToInt = <func>
int32ToInt16 = <func>
int32ToInt64 = <func>
int32ToNat32 = <func>
int64ToFloat = <func>
int64ToInt = <func>
int64ToInt32 = <func>
int64ToNat64 = <func>
int8ToInt = <func>
int8ToInt16 = <func>
int8ToNat8 = <func>
intToFloat = <func>
intToInt16 = <func>
intToInt16Wrap = <func>
intToInt32 = <func>
intToInt32Wrap = <func>
intToInt64 = <func>
intToInt64Wrap = <func>
intToInt8 = <func>
intToInt8Wrap = <func>
intToNat16Wrap = <func>
intToNat32Wrap = <func>
intToNat64Wrap = <func>
intToNat8Wrap = <func>
isController = <func>
len = 56_826_226_689_134_384_522_414_786_984_063_862_152_134_445_742_959_271_191_219_411_078_992_252_084_151_362_008_937_457_761_129_614_549
log = <func>
nat16ToInt16 = <func>
nat16ToNat = <func>
nat16ToNat32 = <func>
nat16ToNat8 = <func>
nat32ToChar = <func>
nat32ToInt32 = <func>
nat32ToNat = <func>
nat32ToNat16 = <func>
nat32ToNat64 = <func>
nat64ToInt64 = <func>
nat64ToNat = <func>
nat64ToNat32 = <func>
nat8ToInt8 = <func>
nat8ToNat = <func>
nat8ToNat16 = <func>
natToNat16 = <func>
natToNat32 = <func>
natToNat64 = <func>
natToNat8 = <func>
performanceCounter = <func>
popcntInt16 = <func>
popcntInt32 = <func>
popcntInt64 = <func>
popcntInt8 = <func>
popcntNat16 = <func>
popcntNat32 = <func>
popcntNat64 = <func>
popcntNat8 = <func>
principalOfActor = <func>
principalOfBlob = <func>
regionGrow = <func>
regionId = <func>
regionLoadBlob = <func>
regionLoadFloat = <func>
regionLoadInt16 = <func>
regionLoadInt32 = <func>
regionLoadInt64 = <func>
regionLoadInt8 = <func>
regionLoadNat16 = <func>
regionLoadNat32 = <func>
regionLoadNat64 = <func>
regionLoadNat8 = <func>
regionNew = <func>
regionSize = <func>
regionStoreBlob = <func>
regionStoreFloat = <func>
regionStoreInt16 = <func>
regionStoreInt32 = <func>
regionStoreInt64 = <func>
regionStoreInt8 = <func>
regionStoreNat16 = <func>
regionStoreNat32 = <func>
regionStoreNat64 = <func>
regionStoreNat8 = <func>
rts_callback_table_count = <func>
rts_callback_table_size = <func>
rts_collector_instructions = <func>
rts_heap_size = <func>
rts_logical_stable_memory_size = <func>
rts_max_live_size = <func>
rts_max_stack_size = <func>
rts_memory_size = <func>
rts_mutator_instructions = <func>
rts_reclaimed = <func>
rts_stable_memory_size = <func>
rts_total_allocation = <func>
rts_upgrade_instructions = <func>
rts_version = <func>
setCandidLimits = <func>
setCertifiedData = <func>
setTimer = <func>
shiftLeft = <func>
shiftRight = <func>
sin = <func>
stableMemoryGrow = <func>
stableMemoryLoadBlob = <func>
stableMemoryLoadFloat = <func>
stableMemoryLoadInt16 = <func>
stableMemoryLoadInt32 = <func>
stableMemoryLoadInt64 = <func>
stableMemoryLoadInt8 = <func>
stableMemoryLoadNat16 = <func>
stableMemoryLoadNat32 = <func>
stableMemoryLoadNat64 = <func>
stableMemoryLoadNat8 = <func>
stableMemorySize = <func>
stableMemoryStoreBlob = <func>
stableMemoryStoreFloat = <func>
stableMemoryStoreInt16 = <func>
stableMemoryStoreInt32 = <func>
stableMemoryStoreInt64 = <func>
stableMemoryStoreInt8 = <func>
stableMemoryStoreNat16 = <func>
stableMemoryStoreNat32 = <func>
stableMemoryStoreNat64 = <func>
stableMemoryStoreNat8 = <func>
stableVarQuery = <func>
tan = <func>
textCompare = <func>
textLowercase = <func>
textUppercase = <func>
time = <func>
trap = <func>
x = null

Raised at Stdlib.failwith in file "stdlib.ml", line 29, characters 17-33
Called from Mo_values__Prim.prim.(fun) in file "mo_values/prim.ml", line 281, characters 27-52
Called from Mo_interpreter__Interpret.Scheduler.yield in file "mo_interpreter/interpret.ml", line 140, characters 8-23
Called from Mo_interpreter__Interpret.Scheduler.run in file "mo_interpreter/interpret.ml", line 143, characters 36-44
Called from Mo_interpreter__Interpret.interpret_prog in file "mo_interpreter/interpret.ml", line 1067, characters 4-20

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions