[DiSL-user] Instrument all classes

Andrea Rosa andrea.rosa at usi.ch
Tue Feb 12 08:26:50 CET 2019


Hi Li,

the error looks related to the bytecode verifier.

Please try disabling it, by adding the “-noverify” flag to the application process.

Cheers,
Andrea

------------
Andrea Rosà
Postdoctoral Researcher
Faculty of Informatics - Office SI-205
Università della Svizzera italiana (USI)
Via G. Buffi 13
CH-6904 Lugano
Switzerland
(e) andrea.rosa at usi.ch<mailto:andrea.rosa at usi.ch>
(p) +41 58 666 4455 ext. 2183
(w) http://www.inf.usi.ch/phd/rosaa/

On 12 Feb 2019, at 03:44, Sui, Li <L.Sui at massey.ac.nz<mailto:L.Sui at massey.ac.nz>> wrote:

Hi Andrea

I added java.lang Object* to the exclusion list. I used the "smoke" example and change to scope="*"



     [exec] dislserver: error communicating with client: unexpected end of streamError occurred during initialization of VM
     [exec]
     [exec] dislreserver: fatal error: java.io.EOFExceptionjava.lang.VerifyError: Bad type on operand stack
     [exec]
     [exec] Exception Details:
     [exec]   Location: at java.io.DataInputStream.readByte(DataInputStream.java:267)
     [exec]
     [exec]     sun/reflect/ReflectionFactory.hasStaticInitializerForSerialization(Ljava/lang/Class;)Z @142: invokespecial
     [exec]   Reason: at ch.usi.dag.dislreserver.DiSLREServer.processRequests(DiSLREServer.java:101)
     [exec]
     [exec]     Type 'java/lang/Object' (current frame, stack[3]) is not assignable to 'java/lang/Throwable' at ch.usi.dag.dislreserver.DiSLREServer.run(DiSLREServer.java:76)
     [exec]   Current Frame:
     [exec]
     [exec]     bci: @142 at ch.usi.dag.dislreserver.DiSLREServer.main(DiSLREServer.java:58)
     [exec]
     [exec]
     [exec]     flags: { }
     [exec]     locals: { 'sun/reflect/ReflectionFactory', 'java/lang/Class', 'java/lang/reflect/Method', 'java/lang/Object' }
     [exec]     stack: { uninitialized 134, uninitialized 134, 'java/lang/String', 'java/lang/Object' }
     [exec]   Bytecode:
     [exec]     0x0000000: b800 249a 008f b800 29b2 002f 1231 b600
     [exec]     0x0000010: 37b8 003a a700 16b2 003d 123f b600 3759
     [exec]     0x0000020: b600 4411 029a b800 48bf b201 8c4d 2cc7
     [exec]     0x0000030: 0042 1301 8e13 0190 04bd 00a6 5903 12a6
     [exec]     0x0000040: 53b6 0157 4d2c 04b6 0164 2cb3 018c a700
     [exec]     0x0000050: 234e bb01 6e59 bb01 9259 b701 9313 0195
     [exec]     0x0000060: b601 9913 018e b601 9cb6 019f 2db7 0173
     [exec]     0x0000070: bf2c 0104 bd00 0459 032b 53b6 01a3 c001
     [exec]     0x0000080: a5b6 01a8 ac4e bb01 6e59 1301 aa2d b701
     [exec]     0x0000090: 73bf b201 8c4d 2cc7 0042 1301 8e13 0190
     [exec]     0x00000a0: 04bd 00a6 5903 12a6 53b6 0157 4d2c 04b6
     [exec]     0x00000b0: 0164 2cb3 018c a700 234e bb01 6e59 bb01
     [exec]     0x00000c0: 9259 b701 9313 0195 b601 9913 018e b601
     [exec]     0x00000d0: 9cb6 019f 2db7 0173 bf2c 0104 bd00 0459
     [exec]     0x00000e0: 032b 53b6 01a3 c001 a5b6 01a8 ac4e bb01
     [exec]     0x00000f0: 6e59 1301 aa2d b701 73bf
     [exec]   Exception Handler Table:
     [exec]     bci [6, 23] => handler: 23
     [exec]     bci [113, 132] => handler: 133
     [exec]     bci [113, 132] => handler: 133
     [exec]     bci [50, 78] => handler: 81
     [exec]     bci [154, 182] => handler: 185
     [exec]     bci [217, 236] => handler: 237
     [exec]     bci [217, 236] => handler: 237
     [exec]   Stackmap Table:
     [exec]     same_locals_1_stack_item_frame(@23,Object[#65])
     [exec]     same_frame(@42)
     [exec]     full_frame(@81,{Object[#2],Object[#166],Object[#109]},{Object[#271]})
     [exec]     same_frame(@113)
     [exec]     same_locals_1_stack_item_frame(@133,Object[#4])
     [exec]     chop_frame(@146,1)
     [exec]     full_frame(@185,{Object[#2],Object[#166],Object[
     [exec] at sun.reflect.ReflectionFactory$GetReflectionFactoryAction.run(ReflectionFactory.java:105)
     [exec] at sun.reflect.ReflectionFactory$GetReflectionFactoryAction.run(ReflectionFactory.java:102)
     [exec] at java.security.AccessController.doPrivileged(Native Method)
     [exec] at java.lang.reflect.AccessibleObject.<clinit>(AccessibleObject.java:173)
     [exec]

Cheers

Li
________________________________
From: Disl-user <disl-user-bounces at d3s.mff.cuni.cz<mailto:disl-user-bounces at d3s.mff.cuni.cz>> on behalf of Andrea Rosa <andrea.rosa at usi.ch<mailto:andrea.rosa at usi.ch>>
Sent: Monday, February 11, 2019 9:14:51 PM
To: disl-user at d3s.mff.cuni.cz<mailto:disl-user at d3s.mff.cuni.cz>
Subject: Re: [DiSL-user] Instrument all classes

Hi Li,

please try to exclude java.lang.Object from instrumentation, by adding “java.lang.Object.*" to the exclusion list.
Does it solve the problem? If not, could you please post a stack trace?

Thanks,
Andrea

------------
Andrea Rosà
Postdoctoral Researcher
Faculty of Informatics - Office SI-205
Università della Svizzera italiana (USI)
Via G. Buffi 13
CH-6904 Lugano
Switzerland
(e) andrea.rosa at usi.ch<mailto:andrea.rosa at usi.ch><mailto:andrea.rosa at usi.ch>
(p) +41 58 666 4455 ext. 2183
(w) http://www.inf.usi.ch/phd/rosaa/

On 10 Feb 2019, at 22:31, Sui, Li <L.Sui at massey.ac.nz<mailto:L.Sui at massey.ac.nz><mailto:L.Sui at massey.ac.nz>> wrote:

Dear Community

Does DiSl allow to instrument all classes? (application+ JRE core)?  I tried scope = "*"  and JVM crashed. I think DiSl has this dynamic bypass mechanismwhich instruments classes in different JVM.
Is it for DiSl instrumentation only? Does it provide access to user-defined instrumentation?

Cheers
Li
_______________________________________________
Disl-user mailing list
Disl-user at d3s.mff.cuni.cz<mailto:Disl-user at d3s.mff.cuni.cz><mailto:Disl-user at d3s.mff.cuni.cz>
https://d3s.mff.cuni.cz/mailman/listinfo/disl-user

_______________________________________________
Disl-user mailing list
Disl-user at d3s.mff.cuni.cz<mailto:Disl-user at d3s.mff.cuni.cz>
https://d3s.mff.cuni.cz/mailman/listinfo/disl-user



More information about the Disl-user mailing list