Original bug ID: 7369 Reporter:@johnwhitington Assigned to:@damiendoligez Status: resolved (set by @xavierleroy on 2016-12-04T15:34:48Z) Resolution: fixed Priority: normal Severity: major Version: 4.03.0 Target version: 4.05.0 +dev/beta1/beta2/beta3/rc1 Fixed in version: 4.05.0 +dev/beta1/beta2/beta3/rc1 Category: otherlibs Monitored by:@gasche
Bug description
#load "str.cma";;
let x = "if\( \|\t\|\n\|\f\|\t\|\).\( \|\t\|\n\|\f\|\t\|\)=\( \|\t\|\n\|\f\|\t\|\).*";;
val x : string =
"if\( \|\t\|\n\|\f\|\t\|\).\( \|\t\|\n\|\f\|\t\|\)=\( \|\t\|\n\|\f\|\t\|\).*"
Str.regexp x;;
Exception: Invalid_argument "index out of bounds".
Additional information
The backtrace is not very useful, just pointing to recursive invocations of emit_code:
Raised by primitive operation at file "str.ml", line 254, characters 4-49
Called from file "str.ml", line 385, characters 6-17
Called from file "str.ml", line 344, characters 6-17
Called from file "str.ml", line 413, characters 6-17
Called from file "str.ml", line 422, characters 2-14
The text was updated successfully, but these errors were encountered:
I missed the top line. The error is in patch_instr at l254
(* Fill a reserved instruction slot with a GOTO or PUSHBACK instruction *)
let patch_instr pos opc dest =
(!prog).(pos) <- (instr opc (displ dest pos)) in
from a Group (n, r) call to emit_code at l385
from a Star r match at l344
Here are the input values to patch_instr for the whole run:
Original bug ID: 7369
Reporter: @johnwhitington
Assigned to: @damiendoligez
Status: resolved (set by @xavierleroy on 2016-12-04T15:34:48Z)
Resolution: fixed
Priority: normal
Severity: major
Version: 4.03.0
Target version: 4.05.0 +dev/beta1/beta2/beta3/rc1
Fixed in version: 4.05.0 +dev/beta1/beta2/beta3/rc1
Category: otherlibs
Monitored by: @gasche
Bug description
#load "str.cma";;
let x = "if\( \|\t\|\n\|\f\|\t\|\).\( \|\t\|\n\|\f\|\t\|\)=\( \|\t\|\n\|\f\|\t\|\).*";;
val x : string =
"if\( \|\t\|\n\|\f\|\t\|\).\( \|\t\|\n\|\f\|\t\|\)=\( \|\t\|\n\|\f\|\t\|\).*"
Str.regexp x;;
Exception: Invalid_argument "index out of bounds".
Additional information
The backtrace is not very useful, just pointing to recursive invocations of emit_code:
Raised by primitive operation at file "str.ml", line 254, characters 4-49
Called from file "str.ml", line 385, characters 6-17
Called from file "str.ml", line 344, characters 6-17
Called from file "str.ml", line 413, characters 6-17
Called from file "str.ml", line 422, characters 2-14
The text was updated successfully, but these errors were encountered: