Commit 1532fcd955e506d794cde745968e10d41ce1c626
1 parent
a106242e
Exists in
master
and in
2 other branches
no message
Showing
8 changed files
with
762 additions
and
56 deletions
Show diff stats
@@ -0,0 +1,384 @@ | @@ -0,0 +1,384 @@ | ||
1 | +# | ||
2 | +# A fatal error has been detected by the Java Runtime Environment: | ||
3 | +# | ||
4 | +# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000221f643f, pid=22004, tid=0x0000000000000870 | ||
5 | +# | ||
6 | +# JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13) | ||
7 | +# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b13 mixed mode windows-amd64 compressed oops) | ||
8 | +# Problematic frame: | ||
9 | +# C [HCEHomeAlarm.DLL+0x2643f] | ||
10 | +# | ||
11 | +# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows | ||
12 | +# | ||
13 | +# If you would like to submit a bug report, please visit: | ||
14 | +# http://bugreport.java.com/bugreport/crash.jsp | ||
15 | +# | ||
16 | + | ||
17 | +--------------- T H R E A D --------------- | ||
18 | + | ||
19 | +Current thread (0x0000000018199800): VMThread [stack: 0x0000000019e60000,0x0000000019f60000] [id=2160] | ||
20 | + | ||
21 | +siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000000 | ||
22 | + | ||
23 | +Registers: | ||
24 | +RAX=0x0000000000000001, RBX=0x0000000000000000, RCX=0x0000000000000000, RDX=0x0000000000000000 | ||
25 | +RSP=0x0000000019f5f1c0, RBP=0x0000000000000000, RSI=0x0000000000000000, RDI=0x0000000000d8ee10 | ||
26 | +R8 =0x0000000000000001, R9 =0x0000000000000001, R10=0x0000000000008000, R11=0x0000000019f5f250 | ||
27 | +R12=0x0000000000d85a00, R13=0x0000000000000000, R14=0x0000000000000001, R15=0x0000000000d85ab0 | ||
28 | +RIP=0x00000000221f643f, EFLAGS=0x0000000000010206 | ||
29 | + | ||
30 | +Top of Stack: (sp=0x0000000019f5f1c0) | ||
31 | +0x0000000019f5f1c0: 000000002368efb0 00007ffbf9de07cd | ||
32 | +0x0000000019f5f1d0: 0000000000ce5290 0000000c00c90000 | ||
33 | +0x0000000019f5f1e0: 0000000000d8ee10 000000002228cb11 | ||
34 | +0x0000000019f5f1f0: 0000000000000000 0000000000000000 | ||
35 | +0x0000000019f5f200: 0000000000cdb920 0000001ef9ddfba1 | ||
36 | +0x0000000019f5f210: 0000000000d11f60 00000000221f6bf2 | ||
37 | +0x0000000019f5f220: 0000000000000000 0000000000000001 | ||
38 | +0x0000000019f5f230: 0000000000000000 0000000000d85a00 | ||
39 | +0x0000000019f5f240: 0000000000000001 00000000221f6620 | ||
40 | +0x0000000019f5f250: 0000000000000000 0000000000d11f60 | ||
41 | +0x0000000019f5f260: 0000000000d85a00 0000000000000000 | ||
42 | +0x0000000019f5f270: 0000000000d07f50 0000000018025500 | ||
43 | +0x0000000019f5f280: 0000000022b4c280 00000000221f5cc8 | ||
44 | +0x0000000019f5f290: 0000000018025500 0000000000d11f60 | ||
45 | +0x0000000019f5f2a0: 0000000000000000 0000000000000000 | ||
46 | +0x0000000019f5f2b0: 0000000022b4c280 000000002228db04 | ||
47 | + | ||
48 | +Instructions: (pc=0x00000000221f643f) | ||
49 | +0x00000000221f641f: 38 48 8b 74 24 40 48 83 c4 20 5f c3 cc cc cc cc | ||
50 | +0x00000000221f642f: cc 48 89 5c 24 08 48 89 74 24 10 57 48 83 ec 20 | ||
51 | +0x00000000221f643f: 48 8b 01 41 8b f0 8b da 48 8b f9 ff 50 08 85 c0 | ||
52 | +0x00000000221f644f: 75 48 48 8b 05 78 70 17 00 48 83 f8 ff 74 1f ba | ||
53 | + | ||
54 | + | ||
55 | +Register to memory mapping: | ||
56 | + | ||
57 | +RAX=0x0000000000000001 is an unknown value | ||
58 | +RBX=0x0000000000000000 is an unknown value | ||
59 | +RCX=0x0000000000000000 is an unknown value | ||
60 | +RDX=0x0000000000000000 is an unknown value | ||
61 | +RSP=0x0000000019f5f1c0 is an unknown value | ||
62 | +RBP=0x0000000000000000 is an unknown value | ||
63 | +RSI=0x0000000000000000 is an unknown value | ||
64 | +RDI=0x0000000000d8ee10 is an unknown value | ||
65 | +R8 =0x0000000000000001 is an unknown value | ||
66 | +R9 =0x0000000000000001 is an unknown value | ||
67 | +R10=0x0000000000008000 is an unknown value | ||
68 | +R11=0x0000000019f5f250 is an unknown value | ||
69 | +R12=0x0000000000d85a00 is an unknown value | ||
70 | +R13=0x0000000000000000 is an unknown value | ||
71 | +R14=0x0000000000000001 is an unknown value | ||
72 | +R15=0x0000000000d85ab0 is an unknown value | ||
73 | + | ||
74 | + | ||
75 | +Stack: [0x0000000019e60000,0x0000000019f60000], sp=0x0000000019f5f1c0, free space=1020k | ||
76 | +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) | ||
77 | + | ||
78 | +VM_Operation (0x0000000002fdef10): Exit, mode: safepoint, requested by thread 0x0000000002fe7000 | ||
79 | + | ||
80 | + | ||
81 | +--------------- P R O C E S S --------------- | ||
82 | + | ||
83 | +Java Threads: ( => current thread ) | ||
84 | + 0x000000001a1b5000 JavaThread "Service Thread" daemon [_thread_blocked, id=22420, stack(0x000000001ac60000,0x000000001ad60000)] | ||
85 | + 0x000000001a141800 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=9276, stack(0x000000001ab60000,0x000000001ac60000)] | ||
86 | + 0x000000001a136800 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=25160, stack(0x000000001aa60000,0x000000001ab60000)] | ||
87 | + 0x000000001a124800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=1524, stack(0x000000001a960000,0x000000001aa60000)] | ||
88 | + 0x000000001a12b800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=12112, stack(0x000000001a860000,0x000000001a960000)] | ||
89 | + 0x000000001a10f000 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=17780, stack(0x000000001a760000,0x000000001a860000)] | ||
90 | + 0x000000001a0f6000 JavaThread "Attach Listener" daemon [_thread_blocked, id=15920, stack(0x000000001a660000,0x000000001a760000)] | ||
91 | + 0x00000000030de000 JavaThread "Finalizer" daemon [_thread_blocked, id=18620, stack(0x000000001a460000,0x000000001a560000)] | ||
92 | + 0x00000000030dd000 JavaThread "Reference Handler" daemon [_thread_blocked, id=23200, stack(0x0000000019f60000,0x000000001a060000)] | ||
93 | + 0x0000000002fe7000 JavaThread "main" [_thread_blocked, id=18820, stack(0x0000000002ee0000,0x0000000002fe0000)] | ||
94 | + | ||
95 | +Other Threads: | ||
96 | +=>0x0000000018199800 VMThread [stack: 0x0000000019e60000,0x0000000019f60000] [id=2160] | ||
97 | + | ||
98 | +VM state:at safepoint (shutting down) | ||
99 | + | ||
100 | +VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) | ||
101 | +[0x0000000002fe4020] Threads_lock - owner thread: 0x0000000018199800 | ||
102 | + | ||
103 | +Heap: | ||
104 | + PSYoungGen total 175104K, used 147088K [0x00000000d6300000, 0x00000000e4400000, 0x0000000100000000) | ||
105 | + eden space 164864K, 89% used [0x00000000d6300000,0x00000000df2a43e8,0x00000000e0400000) | ||
106 | + from space 10240K, 0% used [0x00000000e1000000,0x00000000e1000000,0x00000000e1a00000) | ||
107 | + to space 12288K, 0% used [0x00000000e0400000,0x00000000e0400000,0x00000000e1000000) | ||
108 | + ParOldGen total 83968K, used 16324K [0x0000000082800000, 0x0000000087a00000, 0x00000000d6300000) | ||
109 | + object space 83968K, 19% used [0x0000000082800000,0x00000000837f1338,0x0000000087a00000) | ||
110 | + Metaspace used 42663K, capacity 44358K, committed 44632K, reserved 1087488K | ||
111 | + class space used 5518K, capacity 5851K, committed 5976K, reserved 1048576K | ||
112 | + | ||
113 | +Card table byte_map: [0x0000000012670000,0x0000000012a60000] byte_map_base: 0x000000001225c000 | ||
114 | + | ||
115 | +Marking Bits: (ParMarkBitMap*) 0x000000006d7b2d00 | ||
116 | + Begin Bits: [0x0000000013500000, 0x0000000015460000) | ||
117 | + End Bits: [0x0000000015460000, 0x00000000173c0000) | ||
118 | + | ||
119 | +Polling page: 0x0000000001180000 | ||
120 | + | ||
121 | +CodeCache: size=245760Kb used=15344Kb max_used=16192Kb free=230415Kb | ||
122 | + bounds [0x00000000032b0000, 0x0000000004290000, 0x00000000122b0000] | ||
123 | + total_blobs=4448 nmethods=3951 adapters=409 | ||
124 | + compilation: enabled | ||
125 | + | ||
126 | +Compilation events (10 events): | ||
127 | +Event: 13.293 Thread 0x000000001a141800 4259 3 java.lang.StringBuilder::append (6 bytes) | ||
128 | +Event: 13.294 Thread 0x000000001a141800 nmethod 4259 0x0000000003659bd0 code [0x0000000003659d40, 0x0000000003659fa8] | ||
129 | +Event: 13.294 Thread 0x000000001a141800 4261 3 java.lang.invoke.MethodHandles$Lookup::getDirectMethodForConstant (70 bytes) | ||
130 | +Event: 13.296 Thread 0x000000001a141800 nmethod 4261 0x0000000004277ed0 code [0x0000000004278140, 0x0000000004279048] | ||
131 | +Event: 13.296 Thread 0x000000001a141800 4263 1 java.util.concurrent.ConcurrentHashMap$MapEntry::getValue (5 bytes) | ||
132 | +Event: 13.297 Thread 0x000000001a141800 nmethod 4263 0x00000000035d5f50 code [0x00000000035d60a0, 0x00000000035d61b0] | ||
133 | +Event: 13.298 Thread 0x000000001a141800 4264 ! 3 java.util.concurrent.ConcurrentHashMap::clear (176 bytes) | ||
134 | +Event: 13.300 Thread 0x000000001a141800 nmethod 4264 0x00000000033dc210 code [0x00000000033dc400, 0x00000000033dd0d8] | ||
135 | +Event: 13.300 Thread 0x000000001a141800 4265 3 java.io.OutputStream::flush (1 bytes) | ||
136 | +Event: 13.301 Thread 0x000000001a141800 nmethod 4265 0x00000000034d7110 code [0x00000000034d7260, 0x00000000034d73b0] | ||
137 | + | ||
138 | +GC Heap History (10 events): | ||
139 | +Event: 2.529 GC heap before | ||
140 | +{Heap before GC invocations=6 (full 1): | ||
141 | + PSYoungGen total 70656K, used 5113K [0x00000000d6300000, 0x00000000df200000, 0x0000000100000000) | ||
142 | + eden space 65536K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000da300000) | ||
143 | + from space 5120K, 99% used [0x00000000da300000,0x00000000da7fe520,0x00000000da800000) | ||
144 | + to space 7680K, 0% used [0x00000000dea80000,0x00000000dea80000,0x00000000df200000) | ||
145 | + ParOldGen total 86016K, used 5366K [0x0000000082800000, 0x0000000087c00000, 0x00000000d6300000) | ||
146 | + object space 86016K, 6% used [0x0000000082800000,0x0000000082d3db10,0x0000000087c00000) | ||
147 | + Metaspace used 20622K, capacity 21174K, committed 21248K, reserved 1067008K | ||
148 | + class space used 2662K, capacity 2801K, committed 2816K, reserved 1048576K | ||
149 | +Event: 2.565 GC heap after | ||
150 | +Heap after GC invocations=6 (full 1): | ||
151 | + PSYoungGen total 70656K, used 0K [0x00000000d6300000, 0x00000000df200000, 0x0000000100000000) | ||
152 | + eden space 65536K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000da300000) | ||
153 | + from space 5120K, 0% used [0x00000000da300000,0x00000000da300000,0x00000000da800000) | ||
154 | + to space 7680K, 0% used [0x00000000dea80000,0x00000000dea80000,0x00000000df200000) | ||
155 | + ParOldGen total 53248K, used 6211K [0x0000000082800000, 0x0000000085c00000, 0x00000000d6300000) | ||
156 | + object space 53248K, 11% used [0x0000000082800000,0x0000000082e10c38,0x0000000085c00000) | ||
157 | + Metaspace used 20622K, capacity 21174K, committed 21248K, reserved 1067008K | ||
158 | + class space used 2662K, capacity 2801K, committed 2816K, reserved 1048576K | ||
159 | +} | ||
160 | +Event: 3.166 GC heap before | ||
161 | +{Heap before GC invocations=7 (full 1): | ||
162 | + PSYoungGen total 70656K, used 65536K [0x00000000d6300000, 0x00000000df200000, 0x0000000100000000) | ||
163 | + eden space 65536K, 100% used [0x00000000d6300000,0x00000000da300000,0x00000000da300000) | ||
164 | + from space 5120K, 0% used [0x00000000da300000,0x00000000da300000,0x00000000da800000) | ||
165 | + to space 7680K, 0% used [0x00000000dea80000,0x00000000dea80000,0x00000000df200000) | ||
166 | + ParOldGen total 53248K, used 6211K [0x0000000082800000, 0x0000000085c00000, 0x00000000d6300000) | ||
167 | + object space 53248K, 11% used [0x0000000082800000,0x0000000082e10c38,0x0000000085c00000) | ||
168 | + Metaspace used 25556K, capacity 26402K, committed 26624K, reserved 1073152K | ||
169 | + class space used 3295K, capacity 3515K, committed 3584K, reserved 1048576K | ||
170 | +Event: 3.176 GC heap after | ||
171 | +Heap after GC invocations=7 (full 1): | ||
172 | + PSYoungGen total 113664K, used 6723K [0x00000000d6300000, 0x00000000df180000, 0x0000000100000000) | ||
173 | + eden space 106496K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000dcb00000) | ||
174 | + from space 7168K, 93% used [0x00000000dea80000,0x00000000df110cb8,0x00000000df180000) | ||
175 | + to space 8192K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000de980000) | ||
176 | + ParOldGen total 53248K, used 6283K [0x0000000082800000, 0x0000000085c00000, 0x00000000d6300000) | ||
177 | + object space 53248K, 11% used [0x0000000082800000,0x0000000082e22c48,0x0000000085c00000) | ||
178 | + Metaspace used 25556K, capacity 26402K, committed 26624K, reserved 1073152K | ||
179 | + class space used 3295K, capacity 3515K, committed 3584K, reserved 1048576K | ||
180 | +} | ||
181 | +Event: 7.676 GC heap before | ||
182 | +{Heap before GC invocations=8 (full 1): | ||
183 | + PSYoungGen total 113664K, used 113219K [0x00000000d6300000, 0x00000000df180000, 0x0000000100000000) | ||
184 | + eden space 106496K, 100% used [0x00000000d6300000,0x00000000dcb00000,0x00000000dcb00000) | ||
185 | + from space 7168K, 93% used [0x00000000dea80000,0x00000000df110cb8,0x00000000df180000) | ||
186 | + to space 8192K, 0% used [0x00000000de180000,0x00000000de180000,0x00000000de980000) | ||
187 | + ParOldGen total 53248K, used 6283K [0x0000000082800000, 0x0000000085c00000, 0x00000000d6300000) | ||
188 | + object space 53248K, 11% used [0x0000000082800000,0x0000000082e22c48,0x0000000085c00000) | ||
189 | + Metaspace used 32645K, capacity 33996K, committed 34176K, reserved 1079296K | ||
190 | + class space used 4200K, capacity 4474K, committed 4480K, reserved 1048576K | ||
191 | +Event: 7.689 GC heap after | ||
192 | +Heap after GC invocations=8 (full 1): | ||
193 | + PSYoungGen total 137728K, used 8176K [0x00000000d6300000, 0x00000000e1a00000, 0x0000000100000000) | ||
194 | + eden space 129536K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000de180000) | ||
195 | + from space 8192K, 99% used [0x00000000de180000,0x00000000de97c030,0x00000000de980000) | ||
196 | + to space 10240K, 0% used [0x00000000e1000000,0x00000000e1000000,0x00000000e1a00000) | ||
197 | + ParOldGen total 53248K, used 9624K [0x0000000082800000, 0x0000000085c00000, 0x00000000d6300000) | ||
198 | + object space 53248K, 18% used [0x0000000082800000,0x00000000831661c8,0x0000000085c00000) | ||
199 | + Metaspace used 32645K, capacity 33996K, committed 34176K, reserved 1079296K | ||
200 | + class space used 4200K, capacity 4474K, committed 4480K, reserved 1048576K | ||
201 | +} | ||
202 | +Event: 8.166 GC heap before | ||
203 | +{Heap before GC invocations=9 (full 1): | ||
204 | + PSYoungGen total 137728K, used 74794K [0x00000000d6300000, 0x00000000e1a00000, 0x0000000100000000) | ||
205 | + eden space 129536K, 51% used [0x00000000d6300000,0x00000000da40e808,0x00000000de180000) | ||
206 | + from space 8192K, 99% used [0x00000000de180000,0x00000000de97c030,0x00000000de980000) | ||
207 | + to space 10240K, 0% used [0x00000000e1000000,0x00000000e1000000,0x00000000e1a00000) | ||
208 | + ParOldGen total 53248K, used 9624K [0x0000000082800000, 0x0000000085c00000, 0x00000000d6300000) | ||
209 | + object space 53248K, 18% used [0x0000000082800000,0x00000000831661c8,0x0000000085c00000) | ||
210 | + Metaspace used 33921K, capacity 35352K, committed 35416K, reserved 1079296K | ||
211 | + class space used 4360K, capacity 4640K, committed 4696K, reserved 1048576K | ||
212 | +Event: 8.180 GC heap after | ||
213 | +Heap after GC invocations=9 (full 1): | ||
214 | + PSYoungGen total 175104K, used 10212K [0x00000000d6300000, 0x00000000e4400000, 0x0000000100000000) | ||
215 | + eden space 164864K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000e0400000) | ||
216 | + from space 10240K, 99% used [0x00000000e1000000,0x00000000e19f9040,0x00000000e1a00000) | ||
217 | + to space 12288K, 0% used [0x00000000e0400000,0x00000000e0400000,0x00000000e1000000) | ||
218 | + ParOldGen total 53248K, used 11027K [0x0000000082800000, 0x0000000085c00000, 0x00000000d6300000) | ||
219 | + object space 53248K, 20% used [0x0000000082800000,0x00000000832c4ca8,0x0000000085c00000) | ||
220 | + Metaspace used 33921K, capacity 35352K, committed 35416K, reserved 1079296K | ||
221 | + class space used 4360K, capacity 4640K, committed 4696K, reserved 1048576K | ||
222 | +} | ||
223 | +Event: 8.180 GC heap before | ||
224 | +{Heap before GC invocations=10 (full 2): | ||
225 | + PSYoungGen total 175104K, used 10212K [0x00000000d6300000, 0x00000000e4400000, 0x0000000100000000) | ||
226 | + eden space 164864K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000e0400000) | ||
227 | + from space 10240K, 99% used [0x00000000e1000000,0x00000000e19f9040,0x00000000e1a00000) | ||
228 | + to space 12288K, 0% used [0x00000000e0400000,0x00000000e0400000,0x00000000e1000000) | ||
229 | + ParOldGen total 53248K, used 11027K [0x0000000082800000, 0x0000000085c00000, 0x00000000d6300000) | ||
230 | + object space 53248K, 20% used [0x0000000082800000,0x00000000832c4ca8,0x0000000085c00000) | ||
231 | + Metaspace used 33921K, capacity 35352K, committed 35416K, reserved 1079296K | ||
232 | + class space used 4360K, capacity 4640K, committed 4696K, reserved 1048576K | ||
233 | +Event: 8.271 GC heap after | ||
234 | +Heap after GC invocations=10 (full 2): | ||
235 | + PSYoungGen total 175104K, used 0K [0x00000000d6300000, 0x00000000e4400000, 0x0000000100000000) | ||
236 | + eden space 164864K, 0% used [0x00000000d6300000,0x00000000d6300000,0x00000000e0400000) | ||
237 | + from space 10240K, 0% used [0x00000000e1000000,0x00000000e1000000,0x00000000e1a00000) | ||
238 | + to space 12288K, 0% used [0x00000000e0400000,0x00000000e0400000,0x00000000e1000000) | ||
239 | + ParOldGen total 83968K, used 16324K [0x0000000082800000, 0x0000000087a00000, 0x00000000d6300000) | ||
240 | + object space 83968K, 19% used [0x0000000082800000,0x00000000837f1338,0x0000000087a00000) | ||
241 | + Metaspace used 33921K, capacity 35352K, committed 35416K, reserved 1079296K | ||
242 | + class space used 4360K, capacity 4640K, committed 4696K, reserved 1048576K | ||
243 | +} | ||
244 | + | ||
245 | +Deoptimization events (10 events): | ||
246 | +Event: 12.831 Thread 0x0000000002fe7000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000003eaf94c method=java.util.jar.JarFile.maybeInstantiateVerifier()V @ 79 | ||
247 | +Event: 12.834 Thread 0x0000000002fe7000 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x0000000003833a2c method=java.net.URL.<init>(Ljava/net/URL;Ljava/lang/String;Ljava/net/URLStreamHandler;)V @ 504 | ||
248 | +Event: 12.838 Thread 0x0000000002fe7000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003833d90 method=sun.net.www.protocol.jar.Handler.parseURL(Ljava/net/URL;Ljava/lang/String;II)V @ 94 | ||
249 | +Event: 12.847 Thread 0x0000000002fe7000 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x00000000038bfd10 method=java.util.Properties$LineReader.readLine()I @ 410 | ||
250 | +Event: 13.071 Thread 0x0000000002fe7000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000423a388 method=java.lang.StringCoding$StringDecoder.decode([BII)[C @ 33 | ||
251 | +Event: 13.102 Thread 0x0000000002fe7000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003dd5388 method=java.util.HashMap.putVal(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object; @ 162 | ||
252 | +Event: 13.103 Thread 0x0000000002fe7000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x00000000036c7c74 method=java.util.HashMap.resize()[Ljava/util/HashMap$Node; @ 206 | ||
253 | +Event: 13.130 Thread 0x0000000002fe7000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004243760 method=java.lang.StringCoding$StringDecoder.decode([BII)[C @ 33 | ||
254 | +Event: 13.130 Thread 0x0000000002fe7000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000423711c method=java.lang.StringCoding$StringDecoder.decode([BII)[C @ 33 | ||
255 | +Event: 13.234 Thread 0x0000000002fe7000 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000004175ae4 method=java.util.regex.Pattern$Curly.match(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z @ 45 | ||
256 | + | ||
257 | +Classes redefined (0 events): | ||
258 | +No events | ||
259 | + | ||
260 | +Internal exceptions (10 events): | ||
261 | +Event: 9.075 Thread 0x0000000002fe7000 Exception <a 'java/lang/ClassNotFoundException': org/springframework/beans/factory/InitializingBeanCustomizer> (0x00000000db6488d0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\classfile\systemDictionary.cp | ||
262 | +Event: 9.075 Thread 0x0000000002fe7000 Exception <a 'java/lang/ClassNotFoundException': org/springframework/beans/factory/DisposableBeanCustomizer> (0x00000000db65fae0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\classfile\systemDictionary.cpp, | ||
263 | +Event: 9.084 Thread 0x0000000002fe7000 Exception <a 'java/lang/ClassNotFoundException': java/lang/ObjectCustomizer> (0x00000000db6fd4b8) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\classfile\systemDictionary.cpp, line 210] | ||
264 | +Event: 9.085 Thread 0x0000000002fe7000 Exception <a 'java/lang/ClassNotFoundException': org/springframework/web/multipart/support/StandardServletMultipartResolverCustomizer> (0x00000000db71ec60) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\class | ||
265 | +Event: 9.086 Thread 0x0000000002fe7000 Exception <a 'java/lang/ClassNotFoundException': org/springframework/web/multipart/MultipartResolverCustomizer> (0x00000000db73bb38) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\classfile\systemDictionary.c | ||
266 | +Event: 12.217 Thread 0x0000000002fe7000 Exception <a 'java/lang/ClassNotFoundException': java/lang/ObjectCustomizer> (0x00000000dbb020a0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\classfile\systemDictionary.cpp, line 210] | ||
267 | +Event: 12.217 Thread 0x0000000002fe7000 Exception <a 'java/lang/ClassNotFoundException': com/sincere/haikang/HaikangApplicationTestsCustomizer> (0x00000000dbb1b720) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\classfile\systemDictionary.cpp, line | ||
268 | +Event: 12.489 Thread 0x0000000002fe7000 Exception <a 'java/lang/ClassNotFoundException': java/lang/ObjectCustomizer> (0x00000000dccf4fe0) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\classfile\systemDictionary.cpp, line 210] | ||
269 | +Event: 12.490 Thread 0x0000000002fe7000 Exception <a 'java/lang/ClassNotFoundException': com/sincere/haikang/bean/AttendanceBeanCustomizer> (0x00000000dcd0d128) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\classfile\systemDictionary.cpp, line 210 | ||
270 | +Event: 13.150 Thread 0x000000001a1c2800 Exception <a 'java/lang/InterruptedException': sleep interrupted> (0x00000000de471178) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u181\11358\hotspot\src\share\vm\prims\jvm.cpp, line 3273] | ||
271 | + | ||
272 | +Events (10 events): | ||
273 | +Event: 13.303 Executing VM operation: RevokeBias | ||
274 | +Event: 13.303 Executing VM operation: RevokeBias done | ||
275 | +Event: 13.304 Executing VM operation: BulkRevokeBias | ||
276 | +Event: 13.304 Executing VM operation: BulkRevokeBias done | ||
277 | +Event: 13.305 Thread 0x000000001a1c7000 Thread exited: 0x000000001a1c7000 | ||
278 | +Event: 13.309 loading class java/lang/ProcessImpl$2 | ||
279 | +Event: 13.309 loading class java/lang/ProcessImpl$2 done | ||
280 | +Event: 13.309 Thread 0x000000001a1c5800 Thread exited: 0x000000001a1c5800 | ||
281 | +Event: 13.310 Thread 0x000000001a0f4000 Thread exited: 0x000000001a0f4000 | ||
282 | +Event: 13.310 Executing VM operation: Exit | ||
283 | + | ||
284 | + | ||
285 | +Dynamic libraries: | ||
286 | +0x00007ff619d90000 - 0x00007ff619dc7000 C:\Program Files\Java\jdk1.8.0_181\bin\java.exe | ||
287 | +0x00007ffbf9da0000 - 0x00007ffbf9f90000 C:\WINDOWS\SYSTEM32\ntdll.dll | ||
288 | +0x00007ffbf9210000 - 0x00007ffbf92c2000 C:\WINDOWS\System32\KERNEL32.DLL | ||
289 | +0x00007ffbf7750000 - 0x00007ffbf79f3000 C:\WINDOWS\System32\KERNELBASE.dll | ||
290 | +0x00007ffbf9c30000 - 0x00007ffbf9cd3000 C:\WINDOWS\System32\ADVAPI32.dll | ||
291 | +0x00007ffbf9330000 - 0x00007ffbf93ce000 C:\WINDOWS\System32\msvcrt.dll | ||
292 | +0x00007ffbf9ae0000 - 0x00007ffbf9b77000 C:\WINDOWS\System32\sechost.dll | ||
293 | +0x00007ffbf8050000 - 0x00007ffbf8170000 C:\WINDOWS\System32\RPCRT4.dll | ||
294 | +0x00007ffbf8170000 - 0x00007ffbf8303000 C:\WINDOWS\System32\USER32.dll | ||
295 | +0x00007ffbf74b0000 - 0x00007ffbf74d1000 C:\WINDOWS\System32\win32u.dll | ||
296 | +0x00007ffbf85d0000 - 0x00007ffbf85f6000 C:\WINDOWS\System32\GDI32.dll | ||
297 | +0x00007ffbf7a00000 - 0x00007ffbf7b94000 C:\WINDOWS\System32\gdi32full.dll | ||
298 | +0x00007ffbf76b0000 - 0x00007ffbf774e000 C:\WINDOWS\System32\msvcp_win.dll | ||
299 | +0x00007ffbf75b0000 - 0x00007ffbf76aa000 C:\WINDOWS\System32\ucrtbase.dll | ||
300 | +0x00007ffbddc80000 - 0x00007ffbddf05000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.18362.295_none_e6c3acbd13101292\COMCTL32.dll | ||
301 | +0x00007ffbf96f0000 - 0x00007ffbf9a26000 C:\WINDOWS\System32\combase.dll | ||
302 | +0x00007ffbf7510000 - 0x00007ffbf7590000 C:\WINDOWS\System32\bcryptPrimitives.dll | ||
303 | +0x00007ffbf93d0000 - 0x00007ffbf93fe000 C:\WINDOWS\System32\IMM32.DLL | ||
304 | +0x000000006d840000 - 0x000000006d912000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\msvcr100.dll | ||
305 | +0x000000006cf90000 - 0x000000006d832000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\server\jvm.dll | ||
306 | +0x00007ffbf83e0000 - 0x00007ffbf83e8000 C:\WINDOWS\System32\PSAPI.DLL | ||
307 | +0x00007ffbf1c20000 - 0x00007ffbf1c44000 C:\WINDOWS\SYSTEM32\WINMM.dll | ||
308 | +0x00007ffbe28a0000 - 0x00007ffbe28a9000 C:\WINDOWS\SYSTEM32\WSOCK32.dll | ||
309 | +0x00007ffbf9400000 - 0x00007ffbf946f000 C:\WINDOWS\System32\WS2_32.dll | ||
310 | +0x00007ffbee7a0000 - 0x00007ffbee7aa000 C:\WINDOWS\SYSTEM32\VERSION.dll | ||
311 | +0x00007ffbf1b60000 - 0x00007ffbf1b8d000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll | ||
312 | +0x00007ffbf7ba0000 - 0x00007ffbf7bea000 C:\WINDOWS\System32\cfgmgr32.dll | ||
313 | +0x000000006cf80000 - 0x000000006cf8f000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\verify.dll | ||
314 | +0x000000006cf50000 - 0x000000006cf79000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\java.dll | ||
315 | +0x000000006af80000 - 0x000000006afa3000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\instrument.dll | ||
316 | +0x000000006cf30000 - 0x000000006cf46000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\zip.dll | ||
317 | +0x00007ffbf8600000 - 0x00007ffbf8ce2000 C:\WINDOWS\System32\SHELL32.dll | ||
318 | +0x00007ffbf8cf0000 - 0x00007ffbf8d99000 C:\WINDOWS\System32\shcore.dll | ||
319 | +0x00007ffbf6d30000 - 0x00007ffbf74ac000 C:\WINDOWS\System32\windows.storage.dll | ||
320 | +0x00007ffbf6c80000 - 0x00007ffbf6c9f000 C:\WINDOWS\System32\profapi.dll | ||
321 | +0x00007ffbf6ce0000 - 0x00007ffbf6d2a000 C:\WINDOWS\System32\powrprof.dll | ||
322 | +0x00007ffbf6c70000 - 0x00007ffbf6c80000 C:\WINDOWS\System32\UMPDC.dll | ||
323 | +0x00007ffbf7ff0000 - 0x00007ffbf8042000 C:\WINDOWS\System32\shlwapi.dll | ||
324 | +0x00007ffbf6ca0000 - 0x00007ffbf6cb1000 C:\WINDOWS\System32\kernel.appcore.dll | ||
325 | +0x00007ffbf7590000 - 0x00007ffbf75a7000 C:\WINDOWS\System32\cryptsp.dll | ||
326 | +0x000000006ce60000 - 0x000000006ce7a000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\net.dll | ||
327 | +0x00007ffbf64e0000 - 0x00007ffbf6547000 C:\WINDOWS\system32\mswsock.dll | ||
328 | +0x000000006ce30000 - 0x000000006ce41000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\nio.dll | ||
329 | +0x000000006ce50000 - 0x000000006ce5d000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\management.dll | ||
330 | +0x00007ffbccb40000 - 0x00007ffbccb56000 C:\WINDOWS\system32\napinsp.dll | ||
331 | +0x00007ffbccb00000 - 0x00007ffbccb1a000 C:\WINDOWS\system32\pnrpnsp.dll | ||
332 | +0x00007ffbf6230000 - 0x00007ffbf62fa000 C:\WINDOWS\SYSTEM32\DNSAPI.dll | ||
333 | +0x00007ffbf9c20000 - 0x00007ffbf9c28000 C:\WINDOWS\System32\NSI.dll | ||
334 | +0x00007ffbf61f0000 - 0x00007ffbf622a000 C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL | ||
335 | +0x00007ffbccaf0000 - 0x00007ffbccafe000 C:\WINDOWS\System32\winrnr.dll | ||
336 | +0x00007ffbf4030000 - 0x00007ffbf404c000 C:\WINDOWS\system32\NLAapi.dll | ||
337 | +0x00007ffbccab0000 - 0x00007ffbccac5000 C:\WINDOWS\system32\wshbth.dll | ||
338 | +0x00007ffbe6680000 - 0x00007ffbe668a000 C:\Windows\System32\rasadhlp.dll | ||
339 | +0x00007ffbeecb0000 - 0x00007ffbeed27000 C:\WINDOWS\System32\fwpuclnt.dll | ||
340 | +0x00007ffbf74e0000 - 0x00007ffbf7506000 C:\WINDOWS\System32\bcrypt.dll | ||
341 | +0x00007ffbf6050000 - 0x00007ffbf6083000 C:\WINDOWS\system32\rsaenh.dll | ||
342 | +0x00007ffbf6b90000 - 0x00007ffbf6bb5000 C:\WINDOWS\SYSTEM32\USERENV.dll | ||
343 | +0x00007ffbf66b0000 - 0x00007ffbf66bc000 C:\WINDOWS\SYSTEM32\CRYPTBASE.dll | ||
344 | +0x00007ffbef950000 - 0x00007ffbef966000 C:\WINDOWS\SYSTEM32\dhcpcsvc6.DLL | ||
345 | +0x00007ffbf0aa0000 - 0x00007ffbf0abc000 C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL | ||
346 | +0x0000000180000000 - 0x0000000180031000 C:\Users\taohandong\AppData\Local\Temp\jna4968776932763510600.tmp | ||
347 | +0x0000000020c50000 - 0x000000002101b000 C:\lib\HCEHomeCMS.DLL | ||
348 | +0x00000000221d0000 - 0x000000002255f000 C:\lib\HCEHomeAlarm.DLL | ||
349 | +0x0000000022560000 - 0x0000000022750000 C:\TaoHandong\Java_Code\apache-tomcat-8.5.34\bin\tcnative-1.dll | ||
350 | +0x00007ffbc00e0000 - 0x00007ffbc0112000 C:\Program Files\Intel\WiFi\bin\zlib1.dll | ||
351 | +0x000000006c800000 - 0x000000006c824000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\sunec.dll | ||
352 | +0x000000006c380000 - 0x000000006c38b000 C:\Program Files\Java\jdk1.8.0_181\jre\bin\sunmscapi.dll | ||
353 | +0x00007ffbf7d00000 - 0x00007ffbf7e49000 C:\WINDOWS\System32\CRYPT32.dll | ||
354 | +0x00007ffbf6cc0000 - 0x00007ffbf6cd2000 C:\WINDOWS\System32\MSASN1.dll | ||
355 | +0x00007ffbf4bc0000 - 0x00007ffbf4db4000 C:\WINDOWS\SYSTEM32\dbghelp.dll | ||
356 | + | ||
357 | +VM Arguments: | ||
358 | +jvm_args: -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:C:\TaoHandong\工具类软件\IntelliJ IDEA 2018.3\lib\idea_rt.jar=60274:C:\TaoHandong\工具类软件\IntelliJ IDEA 2018.3\bin -Dfile.encoding=UTF-8 | ||
359 | +java_command: com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.sincere.haikang.HaikangApplicationTests,contextLoads | ||
360 | +java_class_path (initial): C:\TaoHandong\工具类软件\IntelliJ IDEA 2018.3\lib\idea_rt.jar;C:\TaoHandong\工具类软件\IntelliJ IDEA 2018.3\plugins\junit\lib\junit-rt.jar;C:\TaoHandong\工具类软件\IntelliJ IDEA 2018.3\plugins\junit\lib\junit5-rt.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_181\jre\lib\rt.jar;C:\TaoHandong\Java_Code\mycloud\cloud\haikang\target\test-classes;C:\TaoHandong\Java_Code\mycloud\cloud\haikang\target\classes;C:\Users\taohandong\.m2\repository\org\springframework\boot\spring-boot-starter\2.1.7.RELEASE\spring-boot-starter-2.1.7.RELEASE.jar;C:\Users\taohandong\.m2\repository\org\springframework\boot\spring-boot\2.1.7.RELEASE\spring-boot-2.1.7.RELEASE.jar;C:\Users\taohandong\.m2\repository\org\springframework\sp | ||
361 | +Launcher Type: SUN_STANDARD | ||
362 | + | ||
363 | +Environment Variables: | ||
364 | +JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181 | ||
365 | +CLASSPATH=.;C:\Program Files\Java\jdk1.8.0_181\lib;C:\Program Files\Java\jdk1.8.0_181\lib\tools.jar; | ||
366 | +USERNAME=taohandong | ||
367 | +OS=Windows_NT | ||
368 | +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 10, GenuineIntel | ||
369 | + | ||
370 | + | ||
371 | + | ||
372 | +--------------- S Y S T E M --------------- | ||
373 | + | ||
374 | +OS: Windows 10.0 , 64 bit Build 18362 (10.0.18362.86) | ||
375 | + | ||
376 | +CPU:total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 142 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx | ||
377 | + | ||
378 | +Memory: 4k page, physical 8218728k(475884k free), swap 17090008k(2497472k free) | ||
379 | + | ||
380 | +vm_info: Java HotSpot(TM) 64-Bit Server VM (25.181-b13) for windows-amd64 JRE (1.8.0_181-b13), built on Jul 7 2018 04:01:33 by "java_re" with MS VC++ 10.0 (VS2010) | ||
381 | + | ||
382 | +time: Fri Aug 23 11:03:44 2019 | ||
383 | +elapsed time: 13 seconds (0d 0h 0m 13s) | ||
384 | + |
cloud/haikang/src/main/java/com/sincere/haikang/CMSServer.java
1 | package com.sincere.haikang; | 1 | package com.sincere.haikang; |
2 | 2 | ||
3 | -import com.sincere.haikang.bean.AttendanceBean; | ||
4 | -import com.sincere.haikang.dao.DeviceDao; | ||
5 | import com.sincere.haikang.libutils.HCEHomeAlarm; | 3 | import com.sincere.haikang.libutils.HCEHomeAlarm; |
6 | import com.sincere.haikang.libutils.HCEHomeCMS; | 4 | import com.sincere.haikang.libutils.HCEHomeCMS; |
7 | -import com.sincere.haikang.libutils.HCEHomeSS; | ||
8 | -import com.sincere.haikang.libutils.HCEHomeStream; | ||
9 | import com.sincere.haikang.server.AttendanceService; | 5 | import com.sincere.haikang.server.AttendanceService; |
10 | -import com.sun.jna.Memory; | ||
11 | import com.sun.jna.NativeLong; | 6 | import com.sun.jna.NativeLong; |
12 | import com.sun.jna.Pointer; | 7 | import com.sun.jna.Pointer; |
13 | import org.springframework.beans.factory.annotation.Autowired; | 8 | import org.springframework.beans.factory.annotation.Autowired; |
14 | import org.springframework.boot.ApplicationArguments; | 9 | import org.springframework.boot.ApplicationArguments; |
15 | import org.springframework.boot.ApplicationRunner; | 10 | import org.springframework.boot.ApplicationRunner; |
16 | -import org.springframework.jdbc.core.JdbcTemplate; | ||
17 | import org.springframework.stereotype.Component; | 11 | import org.springframework.stereotype.Component; |
18 | 12 | ||
19 | import java.io.*; | 13 | import java.io.*; |
20 | -import java.math.BigInteger; | ||
21 | -import java.nio.ByteBuffer; | ||
22 | import java.text.SimpleDateFormat; | 14 | import java.text.SimpleDateFormat; |
23 | import java.util.Date; | 15 | import java.util.Date; |
24 | 16 | ||
@@ -40,7 +32,7 @@ public class CMSServer implements ApplicationRunner { | @@ -40,7 +32,7 @@ public class CMSServer implements ApplicationRunner { | ||
40 | static HCEHomeCMS.NET_EHOME_CMS_LISTEN_PARAM struCMSListenPara = new HCEHomeCMS.NET_EHOME_CMS_LISTEN_PARAM(); | 32 | static HCEHomeCMS.NET_EHOME_CMS_LISTEN_PARAM struCMSListenPara = new HCEHomeCMS.NET_EHOME_CMS_LISTEN_PARAM(); |
41 | 33 | ||
42 | // private String ip = "121.40.109.21"; | 34 | // private String ip = "121.40.109.21"; |
43 | - private String ip = "172.16.2.145"; | 35 | + private String ip = "192.168.66.54"; |
44 | 36 | ||
45 | 37 | ||
46 | @Override | 38 | @Override |
@@ -97,11 +89,11 @@ public class CMSServer implements ApplicationRunner { | @@ -97,11 +89,11 @@ public class CMSServer implements ApplicationRunner { | ||
97 | try { | 89 | try { |
98 | //+" "+ new String(strDevRegInfo.sDeviceSerial, "utf-8") | 90 | //+" "+ new String(strDevRegInfo.sDeviceSerial, "utf-8") |
99 | System.out.println("注册设备信息:" + new String(strDevRegInfo.byDeviceID, "utf-8") + " lUserID:" + lUserID); | 91 | System.out.println("注册设备信息:" + new String(strDevRegInfo.byDeviceID, "utf-8") + " lUserID:" + lUserID); |
100 | - String deviceId = new String(strDevRegInfo.byDeviceID, "utf-8"); | ||
101 | - String zIp = new String(strDevRegInfo.struDevAdd.szIP, "utf-8"); | 92 | + String deviceId = new String(strDevRegInfo.byDeviceID, "utf-8").trim(); |
93 | + String zIp = new String(strDevRegInfo.struDevAdd.szIP, "utf-8").trim(); | ||
102 | int port = strDevRegInfo.struDevAdd.wPort; | 94 | int port = strDevRegInfo.struDevAdd.wPort; |
103 | String time = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()); | 95 | String time = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()); |
104 | -// attendanceService.insert(deviceId,"23", "1", 0 + "", "", "0", "1"); | 96 | + attendanceService.insert(deviceId, "23", zIp, port + "", time, "0", "1"); |
105 | } catch (UnsupportedEncodingException e) { | 97 | } catch (UnsupportedEncodingException e) { |
106 | e.printStackTrace(); | 98 | e.printStackTrace(); |
107 | } | 99 | } |
@@ -197,51 +189,63 @@ public class CMSServer implements ApplicationRunner { | @@ -197,51 +189,63 @@ public class CMSServer implements ApplicationRunner { | ||
197 | 189 | ||
198 | private void sendCards(NativeLong lUserID) { | 190 | private void sendCards(NativeLong lUserID) { |
199 | 191 | ||
200 | - HCEHomeCMS.NET_EHOME_XML_CFG net_ehome_xml_cfg = new HCEHomeCMS.NET_EHOME_XML_CFG(); | ||
201 | - | ||
202 | - String configCmd = "SetFingerPrintCfg"; | ||
203 | - | ||
204 | - net_ehome_xml_cfg.pCmdBuf = new Memory(configCmd.length()); | ||
205 | - net_ehome_xml_cfg.pCmdBuf.write(0,configCmd.getBytes(),0,configCmd.length()); | ||
206 | - net_ehome_xml_cfg.dwCmdLen = configCmd.length(); | ||
207 | - | ||
208 | - byte[] configByte = configCmd.getBytes(); | ||
209 | - | ||
210 | - String strInputXParam = "<Params>" + | ||
211 | - "<ConfigCmd>SetFingerPrintCfg</ConfigCmd>" + | ||
212 | - "<ConfigParam1>" + "88888888888888" + "</ConfigParam1>" + | ||
213 | - "<ConfigParam2>1</ConfigParam2>" + | 192 | + HCEHomeCMS.NET_EHOME_XML_CFG struXMLCard = new HCEHomeCMS.NET_EHOME_XML_CFG(); |
193 | + | ||
194 | + HCEHomeCMS.NET_DVR_STRING_POINTER stringRequestCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); | ||
195 | + stringRequestCard.read(); | ||
196 | + String strRequestCard = "SetFingerPrintCfg"; | ||
197 | + stringRequestCard.byString = strRequestCard.getBytes(); | ||
198 | + stringRequestCard.write(); | ||
199 | + | ||
200 | + struXMLCard.pCmdBuf = stringRequestCard.getPointer(); | ||
201 | + struXMLCard.dwCmdLen = stringRequestCard.byString.length; | ||
202 | + struXMLCard.write(); | ||
203 | + | ||
204 | + HCEHomeCMS.NET_DVR_STRING_POINTER struConfigXMLCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); | ||
205 | + struConfigXMLCard.read(); | ||
206 | + String strConfigXMLCard = "<Params>\r\n" + | ||
207 | + "<ConfigCmd>SetFingerPrintCfg</ConfigCmd>\r\n" + | ||
208 | + "<ConfigParam1>111111</ConfigParam1>\r\n" + | ||
209 | + "<ConfigParam2>1</ConfigParam2>\r\n" + | ||
210 | + "<ConfigXML>\r\n" + | ||
211 | + "<FingerPrintCfg>\r\n" + | ||
212 | + "<readerNo>1</readerNo>\r\n" + | ||
213 | + "<fingerType></fingerType>\r\n" + | ||
214 | + "<fingerData></fingerData>\r\n" + | ||
215 | + "</FingerPrintCfg>\r\n" + | ||
216 | + "</ConfigXML>\r\n" + | ||
214 | "</Params>"; | 217 | "</Params>"; |
215 | - | ||
216 | - byte[] paramByte = strInputXParam.getBytes(); | ||
217 | - | ||
218 | - int pInLength = configByte.length+paramByte.length; | ||
219 | - | ||
220 | - byte[] byInput = new byte[pInLength]; | ||
221 | - | ||
222 | - System.out.println("configByte:"+configByte.length+" paramByte:"+paramByte.length+" byInput:"+byInput.length); | ||
223 | - | ||
224 | - //复制配置信息 | ||
225 | - System.arraycopy(configByte,0,byInput,0,configByte.length); | ||
226 | - | ||
227 | - //复制配置信息 | ||
228 | - System.arraycopy(paramByte,0,byInput,configByte.length,paramByte.length); | ||
229 | - | ||
230 | - //输入缓冲区 | ||
231 | - net_ehome_xml_cfg.pInBuf = new Memory(pInLength); | ||
232 | - net_ehome_xml_cfg.pInBuf.write(0,byInput,0,byInput.length); | ||
233 | - net_ehome_xml_cfg.dwInSize = byInput.length; | ||
234 | - | ||
235 | - | ||
236 | - //输出缓冲区 | ||
237 | - net_ehome_xml_cfg.pOutBuf = new Memory(3 * 1024 * 1024); | ||
238 | -// net_ehome_xml_cfg.pOutBuf.write(0,new byte[3 * 1024 * 1024],0,3 * 1024 * 1024); | ||
239 | - net_ehome_xml_cfg.dwOutSize = 3 * 1024 * 1024; | ||
240 | - | ||
241 | - | ||
242 | - | ||
243 | - boolean putXml = hCEhomeCMS.NET_ECMS_XMLConfig(lUserID, net_ehome_xml_cfg,net_ehome_xml_cfg.size()); | ||
244 | - System.out.println("下发卡号:" + putXml+" lUserID:"+lUserID+net_ehome_xml_cfg.toString()+" content:"+new String(byInput)); | 218 | + struConfigXMLCard.byString = strConfigXMLCard.getBytes(); |
219 | + struConfigXMLCard.write(); | ||
220 | + | ||
221 | + struXMLCard.pInBuf = struConfigXMLCard.getPointer(); | ||
222 | + struXMLCard.dwInSize = struConfigXMLCard.byString.length; | ||
223 | + struXMLCard.dwRecvTimeOut = 5000; | ||
224 | + struXMLCard.dwSendTimeOut = 5000; | ||
225 | + struXMLCard.write(); | ||
226 | + | ||
227 | + HCEHomeCMS.NET_DVR_STRING_POINTER stringOutCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); | ||
228 | + stringOutCard.write(); | ||
229 | + struXMLCard.pOutBuf = stringOutCard.getPointer(); | ||
230 | + struXMLCard.dwOutSize = stringOutCard.size(); | ||
231 | + struXMLCard.write(); | ||
232 | + | ||
233 | + HCEHomeCMS.NET_DVR_STRING_POINTER stringStatusCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); | ||
234 | + stringStatusCard.write(); | ||
235 | + struXMLCard.pStatusBuf = stringStatusCard.getPointer(); | ||
236 | + struXMLCard.dwStatusSize = stringStatusCard.size(); | ||
237 | + struXMLCard.write(); | ||
238 | + | ||
239 | + int i = struXMLCard.size(); | ||
240 | + if(!hCEhomeCMS.NET_ECMS_XMLConfig(lUserID, struXMLCard, struXMLCard.size())) | ||
241 | + { | ||
242 | + int iErr = hCEhomeCMS.NET_ECMS_GetLastError(); | ||
243 | + System.out.println("NET_ECMS_XMLConfig失败,错误号:" + iErr); | ||
244 | + } | ||
245 | + else | ||
246 | + { | ||
247 | + System.out.println("下发卡号成功,卡号:12345"); | ||
248 | + } | ||
245 | } | 249 | } |
246 | 250 | ||
247 | /** | 251 | /** |
@@ -323,4 +327,12 @@ public class CMSServer implements ApplicationRunner { | @@ -323,4 +327,12 @@ public class CMSServer implements ApplicationRunner { | ||
323 | 327 | ||
324 | } | 328 | } |
325 | 329 | ||
330 | + /** | ||
331 | + * | ||
332 | + * @param deviceId | ||
333 | + * @param cardNo | ||
334 | + */ | ||
335 | + public void sendUserInfo(String deviceId,String cardNo){ | ||
336 | + System.out.println(deviceId); | ||
337 | + } | ||
326 | } | 338 | } |
cloud/haikang/src/main/java/com/sincere/haikang/SchduleTask.java
0 → 100644
@@ -0,0 +1,70 @@ | @@ -0,0 +1,70 @@ | ||
1 | +package com.sincere.haikang; | ||
2 | + | ||
3 | +import com.sincere.haikang.bean.StudentBean; | ||
4 | +import com.sincere.haikang.dao.UserDao; | ||
5 | +import org.springframework.beans.factory.annotation.Autowired; | ||
6 | +import org.springframework.scheduling.annotation.EnableScheduling; | ||
7 | +import org.springframework.scheduling.annotation.Scheduled; | ||
8 | +import org.springframework.stereotype.Component; | ||
9 | +import org.springframework.util.StringUtils; | ||
10 | + | ||
11 | +import java.io.*; | ||
12 | +import java.util.List; | ||
13 | + | ||
14 | +@Component | ||
15 | +@EnableScheduling | ||
16 | +public class SchduleTask { | ||
17 | + | ||
18 | + CMSServer cmsServer = new CMSServer(); | ||
19 | + | ||
20 | + File saveFile = new File("C:\\save"); | ||
21 | + | ||
22 | + File savePth = new File("C:\\save\\save.txt"); | ||
23 | + | ||
24 | + @Autowired | ||
25 | + UserDao userDao; | ||
26 | + | ||
27 | + /** | ||
28 | + * 定时任务,取更新的学生信息 | ||
29 | + */ | ||
30 | + @Scheduled(fixedRate = 5000) | ||
31 | + public void getUpdateStudentInfo() { | ||
32 | + if (!saveFile.exists()) { | ||
33 | + try { | ||
34 | + saveFile.mkdirs(); | ||
35 | + File saveFile_txt = new File(saveFile,"save.txt"); | ||
36 | + if (!saveFile_txt.exists())saveFile_txt.createNewFile(); | ||
37 | + } catch (IOException e) { | ||
38 | + System.out.println("e:"+e.toString()); | ||
39 | + e.printStackTrace(); | ||
40 | + } | ||
41 | + } | ||
42 | + | ||
43 | + try { | ||
44 | + FileInputStream fileInputStream = new FileInputStream(savePth); | ||
45 | + byte[] readByte = new byte[1024]; | ||
46 | + fileInputStream.read(readByte); | ||
47 | + //存储的数据库下标 | ||
48 | + String index = new String(readByte, 0, readByte.length).trim(); | ||
49 | + System.out.println("index:"+index); | ||
50 | + List<StudentBean> studentBeans = null; | ||
51 | + if (StringUtils.isEmpty(index)) {//没记录,取前十条 | ||
52 | + studentBeans = userDao.getStudents(); | ||
53 | + System.out.println("getStudents:"+studentBeans.toString()); | ||
54 | + } else { | ||
55 | + studentBeans = userDao.getAllStudents(Long.parseLong(index)); | ||
56 | + System.out.println("getAllStudents:"+studentBeans.toString()); | ||
57 | + } | ||
58 | + if (studentBeans.size()>0){ | ||
59 | + FileOutputStream fileOutputStream = null; | ||
60 | + fileOutputStream = new FileOutputStream(savePth); | ||
61 | + fileOutputStream.write((studentBeans.get(0).getID()+"").getBytes()); | ||
62 | + } | ||
63 | + }catch (Exception e){ | ||
64 | + e.printStackTrace(); | ||
65 | + } | ||
66 | + | ||
67 | +//cmsServer.sendUserInfo("1111111111",""); | ||
68 | + } | ||
69 | + | ||
70 | +} |
cloud/haikang/src/main/java/com/sincere/haikang/bean/StudentBean.java
0 → 100644
@@ -0,0 +1,201 @@ | @@ -0,0 +1,201 @@ | ||
1 | +package com.sincere.haikang.bean; | ||
2 | + | ||
3 | +import java.io.Serializable; | ||
4 | +import java.util.Date; | ||
5 | + | ||
6 | +public class StudentBean implements Serializable { | ||
7 | + | ||
8 | + | ||
9 | + private long ID; | ||
10 | + private String UserId; | ||
11 | + | ||
12 | + private String CustomerId; | ||
13 | + | ||
14 | + private int StudentType; | ||
15 | + | ||
16 | + private int UserType; | ||
17 | + | ||
18 | + private String Name; | ||
19 | + | ||
20 | + private int ClassId; | ||
21 | + | ||
22 | + private String ClassName; | ||
23 | + | ||
24 | + private String OldCard; | ||
25 | + | ||
26 | + private String Card; | ||
27 | + | ||
28 | + private int SchoolId; | ||
29 | + | ||
30 | + private int IsNew; | ||
31 | + | ||
32 | + private int UpdateType; | ||
33 | + | ||
34 | + private Date AddTime; | ||
35 | + | ||
36 | + private int Sex; | ||
37 | + | ||
38 | + private String Face; | ||
39 | + | ||
40 | + private String StudentCode; | ||
41 | + | ||
42 | + | ||
43 | + public String getUserId() { | ||
44 | + return UserId; | ||
45 | + } | ||
46 | + | ||
47 | + public void setUserId(String userId) { | ||
48 | + UserId = userId; | ||
49 | + } | ||
50 | + | ||
51 | + public String getCustomerId() { | ||
52 | + return CustomerId; | ||
53 | + } | ||
54 | + | ||
55 | + public void setCustomerId(String customerId) { | ||
56 | + CustomerId = customerId; | ||
57 | + } | ||
58 | + | ||
59 | + public int getStudentType() { | ||
60 | + return StudentType; | ||
61 | + } | ||
62 | + | ||
63 | + public void setStudentType(int studentType) { | ||
64 | + StudentType = studentType; | ||
65 | + } | ||
66 | + | ||
67 | + public int getUserType() { | ||
68 | + return UserType; | ||
69 | + } | ||
70 | + | ||
71 | + public void setUserType(int userType) { | ||
72 | + UserType = userType; | ||
73 | + } | ||
74 | + | ||
75 | + public String getName() { | ||
76 | + return Name; | ||
77 | + } | ||
78 | + | ||
79 | + public void setName(String name) { | ||
80 | + Name = name; | ||
81 | + } | ||
82 | + | ||
83 | + public int getClassId() { | ||
84 | + return ClassId; | ||
85 | + } | ||
86 | + | ||
87 | + public void setClassId(int classId) { | ||
88 | + ClassId = classId; | ||
89 | + } | ||
90 | + | ||
91 | + public String getClassName() { | ||
92 | + return ClassName; | ||
93 | + } | ||
94 | + | ||
95 | + public void setClassName(String className) { | ||
96 | + ClassName = className; | ||
97 | + } | ||
98 | + | ||
99 | + public String getOldCard() { | ||
100 | + return OldCard; | ||
101 | + } | ||
102 | + | ||
103 | + public void setOldCard(String oldCard) { | ||
104 | + OldCard = oldCard; | ||
105 | + } | ||
106 | + | ||
107 | + public String getCard() { | ||
108 | + return Card; | ||
109 | + } | ||
110 | + | ||
111 | + public void setCard(String card) { | ||
112 | + Card = card; | ||
113 | + } | ||
114 | + | ||
115 | + public int getSchoolId() { | ||
116 | + return SchoolId; | ||
117 | + } | ||
118 | + | ||
119 | + public void setSchoolId(int schoolId) { | ||
120 | + SchoolId = schoolId; | ||
121 | + } | ||
122 | + | ||
123 | + public int getIsNew() { | ||
124 | + return IsNew; | ||
125 | + } | ||
126 | + | ||
127 | + public void setIsNew(int isNew) { | ||
128 | + IsNew = isNew; | ||
129 | + } | ||
130 | + | ||
131 | + public int getUpdateType() { | ||
132 | + return UpdateType; | ||
133 | + } | ||
134 | + | ||
135 | + public void setUpdateType(int updateType) { | ||
136 | + UpdateType = updateType; | ||
137 | + } | ||
138 | + | ||
139 | + public Date getAddTime() { | ||
140 | + return AddTime; | ||
141 | + } | ||
142 | + | ||
143 | + public void setAddTime(Date addTime) { | ||
144 | + AddTime = addTime; | ||
145 | + } | ||
146 | + | ||
147 | + public int getSex() { | ||
148 | + return Sex; | ||
149 | + } | ||
150 | + | ||
151 | + public void setSex(int sex) { | ||
152 | + Sex = sex; | ||
153 | + } | ||
154 | + | ||
155 | + public String getFace() { | ||
156 | + return Face; | ||
157 | + } | ||
158 | + | ||
159 | + public void setFace(String face) { | ||
160 | + Face = face; | ||
161 | + } | ||
162 | + | ||
163 | + public String getStudentCode() { | ||
164 | + return StudentCode; | ||
165 | + } | ||
166 | + | ||
167 | + public void setStudentCode(String studentCode) { | ||
168 | + StudentCode = studentCode; | ||
169 | + } | ||
170 | + | ||
171 | + public long getID() { | ||
172 | + return ID; | ||
173 | + } | ||
174 | + | ||
175 | + public void setID(long ID) { | ||
176 | + this.ID = ID; | ||
177 | + } | ||
178 | + | ||
179 | + @Override | ||
180 | + public String toString() { | ||
181 | + return "StudentBean{" + | ||
182 | + "ID=" + ID + | ||
183 | + ", UserId='" + UserId + '\'' + | ||
184 | + ", CustomerId='" + CustomerId + '\'' + | ||
185 | + ", StudentType=" + StudentType + | ||
186 | + ", UserType=" + UserType + | ||
187 | + ", Name='" + Name + '\'' + | ||
188 | + ", ClassId=" + ClassId + | ||
189 | + ", ClassName='" + ClassName + '\'' + | ||
190 | + ", OldCard='" + OldCard + '\'' + | ||
191 | + ", Card='" + Card + '\'' + | ||
192 | + ", SchoolId=" + SchoolId + | ||
193 | + ", IsNew=" + IsNew + | ||
194 | + ", UpdateType=" + UpdateType + | ||
195 | + ", AddTime=" + AddTime + | ||
196 | + ", Sex=" + Sex + | ||
197 | + ", Face='" + Face + '\'' + | ||
198 | + ", StudentCode='" + StudentCode + '\'' + | ||
199 | + '}'; | ||
200 | + } | ||
201 | +} |
cloud/haikang/src/main/java/com/sincere/haikang/dao/DeviceDao.java
@@ -19,4 +19,5 @@ public interface DeviceDao { | @@ -19,4 +19,5 @@ public interface DeviceDao { | ||
19 | @Update("update SZ_Attendance set isConnection = #{isConnection} where ip = #{ip} and port = #{port} and clint_id = #{clint_id}") | 19 | @Update("update SZ_Attendance set isConnection = #{isConnection} where ip = #{ip} and port = #{port} and clint_id = #{clint_id}") |
20 | int updateDeviceStatu(@Param("isConnection")int isConnection,@Param("ip")String ip,@Param("port")int port,@Param("clint_id")String clint_id); | 20 | int updateDeviceStatu(@Param("isConnection")int isConnection,@Param("ip")String ip,@Param("port")int port,@Param("clint_id")String clint_id); |
21 | 21 | ||
22 | + | ||
22 | } | 23 | } |
cloud/haikang/src/main/java/com/sincere/haikang/dao/UserDao.java
0 → 100644
@@ -0,0 +1,28 @@ | @@ -0,0 +1,28 @@ | ||
1 | +package com.sincere.haikang.dao; | ||
2 | + | ||
3 | +import com.sincere.haikang.bean.StudentBean; | ||
4 | +import org.apache.ibatis.annotations.Mapper; | ||
5 | +import org.apache.ibatis.annotations.Param; | ||
6 | +import org.apache.ibatis.annotations.Select; | ||
7 | +import org.springframework.stereotype.Repository; | ||
8 | + | ||
9 | +import java.util.List; | ||
10 | + | ||
11 | +@Mapper | ||
12 | +@Repository | ||
13 | +public interface UserDao { | ||
14 | + | ||
15 | + /** | ||
16 | + * 没有记录取最新十条下发 | ||
17 | + * @return | ||
18 | + */ | ||
19 | + @Select("select top (10) * from HS_StudentUpdateCard order by AddTime desc") | ||
20 | + List<StudentBean> getStudents(); | ||
21 | + | ||
22 | + /** | ||
23 | + * 获取所有的学生 | ||
24 | + * @return | ||
25 | + */ | ||
26 | + @Select("select * from HS_StudentUpdateCard where ID > #{id} order by AddTime desc") | ||
27 | + List<StudentBean> getAllStudents(@Param("id")long id); | ||
28 | +} |
cloud/haikang/src/main/java/com/sincere/haikang/server/AttendanceImp.java
@@ -19,6 +19,7 @@ public class AttendanceImp implements AttendanceService { | @@ -19,6 +19,7 @@ public class AttendanceImp implements AttendanceService { | ||
19 | try { | 19 | try { |
20 | String selectSql = String.format("select * from SZ_Attendance where clint_id =\'%s\'", clint_id); | 20 | String selectSql = String.format("select * from SZ_Attendance where clint_id =\'%s\'", clint_id); |
21 | List<AttendanceBean> attendanceBeans = jdbcTemplate.query(selectSql, new Object[]{}, new BeanPropertyRowMapper<AttendanceBean>(AttendanceBean.class)); | 21 | List<AttendanceBean> attendanceBeans = jdbcTemplate.query(selectSql, new Object[]{}, new BeanPropertyRowMapper<AttendanceBean>(AttendanceBean.class)); |
22 | + System.out.println("attendanceBeans:"+attendanceBeans); | ||
22 | if (attendanceBeans.size() == 0) {//设备不存在 | 23 | if (attendanceBeans.size() == 0) {//设备不存在 |
23 | String insertSql = String.format("insert into SZ_Attendance(clint_id, clint_type, ip, port, intime, school_id, state,isConnection) values ('%s','%s','%s','%s','%s','%s','%s','%s')", clint_id, clint_type, ip, port, intime, school_id, state,1); | 24 | String insertSql = String.format("insert into SZ_Attendance(clint_id, clint_type, ip, port, intime, school_id, state,isConnection) values ('%s','%s','%s','%s','%s','%s','%s','%s')", clint_id, clint_type, ip, port, intime, school_id, state,1); |
24 | return jdbcTemplate.update(insertSql); | 25 | return jdbcTemplate.update(insertSql); |
cloud/haikang/src/test/java/com/sincere/haikang/HaikangApplicationTests.java
1 | package com.sincere.haikang; | 1 | package com.sincere.haikang; |
2 | 2 | ||
3 | +import com.sincere.haikang.server.AttendanceService; | ||
3 | import org.junit.Test; | 4 | import org.junit.Test; |
4 | import org.junit.runner.RunWith; | 5 | import org.junit.runner.RunWith; |
6 | +import org.springframework.beans.factory.annotation.Autowired; | ||
5 | import org.springframework.boot.test.context.SpringBootTest; | 7 | import org.springframework.boot.test.context.SpringBootTest; |
6 | import org.springframework.test.context.junit4.SpringRunner; | 8 | import org.springframework.test.context.junit4.SpringRunner; |
7 | 9 | ||
@@ -9,8 +11,15 @@ import org.springframework.test.context.junit4.SpringRunner; | @@ -9,8 +11,15 @@ import org.springframework.test.context.junit4.SpringRunner; | ||
9 | @SpringBootTest | 11 | @SpringBootTest |
10 | public class HaikangApplicationTests { | 12 | public class HaikangApplicationTests { |
11 | 13 | ||
14 | + @Autowired | ||
15 | + AttendanceService attendanceService; | ||
16 | + | ||
12 | @Test | 17 | @Test |
13 | public void contextLoads() { | 18 | public void contextLoads() { |
19 | + | ||
20 | + | ||
21 | + attendanceService.insert("11111111","23", "1", 0 + "", "", "0", "1"); | ||
22 | + | ||
14 | } | 23 | } |
15 | 24 | ||
16 | } | 25 | } |