Skip to content

z3str3 assertion violation #2693

@wintered

Description

@wintered

Hi,

after a small hibernation z3 smt.string_solver=z3str3 crashes with the following assertion violation.

(declare-fun a () Bool)
(declare-fun mNrhR_new () String)
(declare-fun b () String)
(declare-fun NtxTv_new () String)
(declare-fun c () String)
(declare-fun d () String)
(declare-fun FqOuf_new () String)
(declare-fun HmGbg_new () Bool)
(declare-fun xPjHL_new () Bool)
(declare-fun e () Bool)
(declare-fun KPCTU_new () Bool)
(declare-fun gYUaq_new () Bool)
(declare-fun f () Bool)
(declare-fun r () String)
(declare-fun p () Int)
(declare-fun g () Int)
(declare-fun PCTEMP_LHS_314 () Bool)
(declare-fun PCTEMP_LHS_314_group_1 () String)
(declare-fun PCTEMP_LHS_314_idx_0 () String)
(declare-fun h () Int)
(declare-fun T0_2 () String)
(declare-fun T1_2 () String)
(declare-fun T2_2 () String)
(declare-fun T3_2 () String)
(declare-fun T4_2 () String)
(declare-fun T5_2 () String)
(declare-fun i () Bool)
(declare-fun j () Bool)
(declare-fun k () Bool)
(declare-fun l () Bool)
(declare-fun m () Bool)
(declare-fun n () Bool)
(declare-fun var_0xINPUT_9760 () String)
(declare-fun T_1_shifted () Bool)
(declare-fun o () Bool)
(declare-fun q () Bool)
(declare-fun var_0xINPUT_16789_shifted () String)
(assert (= n (and (= g (- 57 11)))))
(assert
 (ite
  (and (= f q))
  (or
   (= g 0)
   (= var_0xINPUT_9760 (str.++ T0_2 (str.substr NtxTv_new 26 (str.len T1_2))))
   (= p 0)
   (= 20 (str.len T0_2))
   (= (str.substr NtxTv_new 2 (str.len T1_2)) (str.++ (str.substr c 15 (str.len T2_2)) T3_2))
   (= (str.substr c 25 (str.len T2_2)) (str.++ T4_2 (str.substr FqOuf_new 24 (str.len T5_2))))
   (= (str.substr FqOuf_new 12 (str.len T5_2)) "__utmz=169413169.")
   (and
    (str.in.re T4_2
     (re.++
      (str.to.re "_")
      (re.++
       (str.to.re "_")
       (re.++
        (str.to.re "u")
        (re.++
         (str.to.re "t")
         (re.++
          (str.to.re "m")
          (re.++
           (str.to.re "z")
           (re.++
            (str.to.re "=")
            (re.++
             (str.to.re "1")
             (re.++
              (str.to.re "6")
              (re.++
               (str.to.re "9")
               (re.++
                (str.to.re "4")
                (re.++
                 (str.to.re "1")
                 (re.++
                  (str.to.re "3")
                  (re.++
                   (str.to.re "1")
                   (re.++
                    (str.to.re "6")
                    (re.++
                     (str.to.re "9")
                     (str.to.re "."))))))))))))))))))))
  (or
   (= g (* 5 5))
   (= var_0xINPUT_9760 (str.++ T0_2 (str.substr NtxTv_new 8 (str.len T1_2))))
   (= 0 (str.len T0_2))
   (not
    (str.in.re
     (str.substr NtxTv_new 3 (str.len T1_2))
     (re.++
      (str.to.re "_")
      (re.++
       (str.to.re "_")
       (re.++
        (str.to.re "u")
        (re.++
         (str.to.re "t")
         (re.++
          (str.to.re "m")
          (re.++
           (str.to.re "z")
           (re.++
            (str.to.re "=")
            (re.++
             (str.to.re "1")
             (re.++
              (str.to.re "6")
              (re.++
               (str.to.re "9")
               (re.++
                (str.to.re "4")
                (re.++
                 (str.to.re "1")
                 (re.++
                  (str.to.re "3")
                  (re.++
                   (str.to.re "1")
                   (re.++
                    (str.to.re "6")
                    (re.++
                     (str.to.re "9")
                     (str.to.re "."))))))))))))))))))))))
(assert (= i (> (* 9 24) g)))
(assert (= (and (= xPjHL_new T_1_shifted)) i))
(assert j)
(assert (= k (= "" var_0xINPUT_9760)))
(assert (= (not (= KPCTU_new (or (= f n)))) (= e T_1_shifted)))
(assert (not (= KPCTU_new (and (= gYUaq_new m)))))
(assert (= (and (= gYUaq_new q)) (= (str.substr r 2 (str.len var_0xINPUT_9760)) "")))
(assert m)
(assert
 (ite
  PCTEMP_LHS_314
  (and
   (= PCTEMP_LHS_314_group_1 (str.substr mNrhR_new 30 (str.len PCTEMP_LHS_314_idx_0)))
   (str.in.re (str.substr mNrhR_new 29 (str.len PCTEMP_LHS_314_idx_0)) (str.to.re "?"))
   (= h (str.len (str.substr mNrhR_new 7 (str.len PCTEMP_LHS_314_idx_0))))
   )
  true))
(assert
 (=
  (or (= xPjHL_new j))
  (=
   ""
   (str.substr NtxTv_new
    (str.len T1_2)
    (str.len
     (str.substr
      d
      (str.len T4_2)
      (str.len
       (str.substr
        FqOuf_new
        (str.len T5_2)
        (str.len
         (str.substr
          r
          (str.len var_0xINPUT_9760)
          (str.len var_0xINPUT_16789_shifted)))))))))))
(assert (= o (= e k)))
(assert o)
(assert
 (=
  (and (= a PCTEMP_LHS_314))
  (=
   (str.substr
    mNrhR_new
    (str.len PCTEMP_LHS_314_idx_0)
    (str.len
     (str.substr
      b
      (str.len T0_2)
      (str.len
       (str.substr
        FqOuf_new
        (str.len T5_2)
        (str.len var_0xINPUT_16789_shifted))))))
   "")))
(assert (not (= HmGbg_new i)))
(assert (= a (and (= PCTEMP_LHS_314 q))))
(assert (= mNrhR_new (str.++ PCTEMP_LHS_314_idx_0 var_0xINPUT_16789_shifted)))
(assert (= b (str.++ T0_2 var_0xINPUT_16789_shifted)))
(assert (= NtxTv_new (str.++ T1_2 var_0xINPUT_16789_shifted)))
(assert (= c (str.++ T2_2 var_0xINPUT_16789_shifted)))
(assert (= d (str.++ T4_2 var_0xINPUT_16789_shifted)))
(assert (= FqOuf_new (str.++ T5_2 var_0xINPUT_16789_shifted)))
(assert (= HmGbg_new (and (= i q))))
(assert (= xPjHL_new (or (= j T_1_shifted)) e (not (= k T_1_shifted))))
(assert (= KPCTU_new (or (= l q))))
(assert (= gYUaq_new (and (= m q))))
(assert (= f (and (= n q))))
(assert (= r (str.++ var_0xINPUT_9760 var_0xINPUT_16789_shifted)))
(check-sat)
ASSERTION VIOLATION
File: ../src/util/obj_hashtable.h
Line: 177

OS: Ubuntu 18.04
Revision: dd827ca

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions