Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-69037

Exception in net.sf.json.JSONObject._fromJSONTokener

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • core
    • None
    • SLES 15.2
      Java 11.0.13

      Jenkins 2.346.1 reported a crash:

      Excerpt from crash dump

      Stack: [0x00007f6ccc2c5000,0x00007f6ccc3c6000],  sp=0x00007f6ccc3c4290,  free space=1020k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      J 57998 c2 net.sf.json.JSONObject._fromJSONTokener(Lnet/sf/json/util/JSONTokener;Lnet/sf/json/JsonConfig;)Lnet/sf/json/JSONObject; (692 bytes) @ 0x00007f6ef645c991 [0x00007f6ef645ac60+0x0000000000001d31]
      J 56879 c2 net.sf.json.util.JSONTokener.nextValue(Lnet/sf/json/JsonConfig;)Ljava/lang/Object; (422 bytes) @ 0x00007f6ef4b2d078 [0x00007f6ef4b2c940+0x0000000000000738]
      J 57998 c2 net.sf.json.JSONObject._fromJSONTokener(Lnet/sf/json/util/JSONTokener;Lnet/sf/json/JsonConfig;)Lnet/sf/json/JSONObject; (692 bytes) @ 0x00007f6ef645ba30 [0x00007f6ef645ac60+0x0000000000000dd0]
      J 70707 c2 net.sf.json.JSONObject._fromString(Ljava/lang/String;Lnet/sf/json/JsonConfig;)Lnet/sf/json/JSONObject; (43 bytes) @ 0x00007f6ef9d4f3e4 [0x00007f6ef9d4f240+0x00000000000001a4]
      J 53465 c2 net.sf.json.JSONObject.fromObject(Ljava/lang/Object;Lnet/sf/json/JsonConfig;)Lnet/sf/json/JSONObject; (212 bytes) @ 0x00007f6ef7a650d0 [0x00007f6ef7a64ec0+0x0000000000000210]
      J 54639 c1 net.sf.json.JSONObject.fromObject(Ljava/lang/Object;)Lnet/sf/json/JSONObject; (12 bytes) @ 0x00007f6ef05acc4c [0x00007f6ef05acb60+0x00000000000000ec]
      j  hudson.model.UpdateSite.updateData(Ljava/lang/String;Z)Lhudson/util/FormValidation;+8
      j  hudson.model.UpdateSite.updateDirectlyNow(Z)Lhudson/util/FormValidation;+62
      j  hudson.model.UpdateSite.updateDirectlyNow()Lhudson/util/FormValidation;+4
      j  hudson.PluginManager.checkUpdatesServer()Lhudson/util/FormValidation;+33
      j  hudson.PluginManager$$Lambda$1255.call()Ljava/lang/Object;+4
      j  hudson.util.Retrier.start()Ljava/lang/Object;+57
      j  hudson.PluginManager.doCheckUpdatesServer()Lorg/kohsuke/stapler/HttpResponse;+68
      j  jenkins.DailyCheck.execute(Lhudson/model/TaskListener;)V+148
      j  hudson.model.AsyncPeriodicWork.lambda$doRun$1()V+70
      j  hudson.model.AsyncPeriodicWork$$Lambda$524.run()V+4
      J 48435 c2 java.lang.Thread.run()V java.base@11.0.13 (17 bytes) @ 0x00007f6ef76b4a6c [0x00007f6ef76b4a20+0x000000000000004c]
      v  ~StubRoutines::call_stub
      V  [libjvm.so+0x8c329b]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x39b
      V  [libjvm.so+0x8c125d]  JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Thread*)+0x1ed
      V  [libjvm.so+0x970cbc]  thread_entry(JavaThread*, Thread*)+0x6c
      V  [libjvm.so+0xec6bca]  JavaThread::thread_main_inner()+0x1ba
      V  [libjvm.so+0xec37ef]  Thread::call_run()+0x14f
      V  [libjvm.so+0xc61f8e]  thread_native_entry(Thread*)+0xee
      
      
      siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000102274034
      
      Register to memory mapping:
      
      RAX=0x000000000000000d is an unknown value
      RBX=0x0000000000000006 is an unknown value
      RCX=0x000000000000000d is an unknown value
      RDX=0x0000000024fee435 is an unknown value
      RSP=0x00007f6ccc3c4290 is pointing into the stack for thread: 0x00007f6d2044e800
      RBP=0x0 is NULL
      RSI=0x0000000024fec0cb is an unknown value
      RDI=0x00000007ff920330 is an oop: java.util.HashMap 
      {0x00000007ff920330} - klass: 'java/util/HashMap'
      R8 =4289603709 is a compressed pointer to object: [B 
      {0x00000007fd7143e8} - klass: {type array byte}
       - length: 13
      R9 =0x0000000102274028 is an unknown value
      R10=0x00007f6f0e697000 points into unknown readable memory: 0x0000000000000000 | 00 00 00 00 00 00 00 00
      R11=0x000000002044e805 is an unknown value
      R12=0x0 is NULL
      R13=4292555104 is a compressed pointer to object: java.util.HashMap$Node 
      {0x00000007fed98b00} - klass: 'java/util/HashMap$Node'
      R14=0x00000000002ea30d is an unknown value
      R15=0x00007f6d2044e800 is a thread
      
      
      Registers:
      RAX=0x000000000000000d, RBX=0x0000000000000006, RCX=0x000000000000000d, RDX=0x0000000024fee435
      RSP=0x00007f6ccc3c4290, RBP=0x0000000000000000, RSI=0x0000000024fec0cb, RDI=0x00000007ff920330
      R8 =0x00000000ffae287d, R9 =0x0000000102274028, R10=0x00007f6f0e697000, R11=0x000000002044e805
      R12=0x0000000000000000, R13=0x00000000ffdb3160, R14=0x00000000002ea30d, R15=0x00007f6d2044e800
      RIP=0x00007f6ef645c991, EFLAGS=0x0000000000010206, CSGSFS=0x002b000000000033, ERR=0x0000000000000004
        TRAPNO=0x000000000000000e
      
      Top of Stack: (sp=0x00007f6ccc3c4290)
      0x00007f6ccc3c4290:   00007f6e00000000 00000007fd705490
      0x00007f6ccc3c42a0:   00000007ff91fcb8 000000067b0cb940
      0x00007f6ccc3c42b0:   000000067b0cb940 000000067b0cb840
      0x00007f6ccc3c42c0:   00000007fd705b18 00000007fd714a50  

          [JENKINS-69037] Exception in net.sf.json.JSONObject._fromJSONTokener

          Mark Waite added a comment -

          We'll need more details in order to duplicate the problem. A segmentation violation in a Java application usually points to a flaw in the Java virtual machine rather than an application defect. You may want to upgrade to Java 11.0.15 in case it has changed the behavior. It is the most recent Java 11 release (until the July 19, 2022 release of Java 11.0.16)

          Mark Waite added a comment - We'll need more details in order to duplicate the problem. A segmentation violation in a Java application usually points to a flaw in the Java virtual machine rather than an application defect. You may want to upgrade to Java 11.0.15 in case it has changed the behavior. It is the most recent Java 11 release (until the July 19, 2022 release of Java 11.0.16)

          Aaron Curley added a comment - - edited

          I, too, hit a segfault with a very similar stack trace.  (The crash occurred in "Download metadata thread", was a segfault, and happened during JSON parsing of the response from the server.)

          Since that time I've updated Java to the latest so we'll see if it happens again...

          Edit: was running Java 11.0.16 when this crash happened for me.

          Aaron Curley added a comment - - edited I, too, hit a segfault with a very similar stack trace.  (The crash occurred in "Download metadata thread", was a segfault, and happened during JSON parsing of the response from the server.) Since that time I've updated Java to the latest so we'll see if it happens again... Edit: was running Java 11.0.16 when this crash happened for me.

          Basil Crow added a comment -

          Without the fix for JENKINS-67344, JSONObject is effectively a stress test for your server's DRAM and the OS's page faulting subsystem. We'll be patching this to avoid 170 GiB of memory allocations in the span of a few seconds.

          Basil Crow added a comment - Without the fix for JENKINS-67344 , JSONObject is effectively a stress test for your server's DRAM and the OS's page faulting subsystem. We'll be patching this to avoid 170 GiB of memory allocations in the span of a few seconds.

            Unassigned Unassigned
            maial Alexander Mai
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: