Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in `siege': free(): invalid pointer #109

Open
hdezela opened this issue Aug 22, 2017 · 14 comments
Open

Error in `siege': free(): invalid pointer #109

hdezela opened this issue Aug 22, 2017 · 14 comments

Comments

@hdezela
Copy link

hdezela commented Aug 22, 2017

Getting this error in Arch Linux with build 4.0.2

*** Error in `siege': free(): invalid pointer: 0x00007fd0cd26fb28 ***
======= Backtrace: =========
/usr/lib/libc.so.6(+0x72bdd)[0x7fd0ccf41bdd]
/usr/lib/libc.so.6(+0x792ec)[0x7fd0ccf482ec]
/usr/lib/libc.so.6(+0x7a6d1)[0x7fd0ccf496d1]
/usr/lib/libcrypto.so.1.1(OPENSSL_sk_free+0x1f)[0x7fd0cd63912f]
/usr/lib/libssl.so.1.1(+0x2aa9a)[0x7fd0cd936a9a]
/usr/lib/libcrypto.so.1.1(OPENSSL_cleanup+0x52)[0x7fd0cd5e2742]
/usr/lib/libc.so.6(+0x36538)[0x7fd0ccf05538]
/usr/lib/libc.so.6(+0x3658a)[0x7fd0ccf0558a]
siege[0x403e52]
/usr/lib/libc.so.6(__libc_start_main+0xea)[0x7fd0cceef4ca]
siege[0x40412a]
======= Memory map: ========
00400000-00425000 r-xp 00000000 08:02 1073766822                         /usr/bin/siege
00624000-00625000 r--p 00024000 08:02 1073766822                         /usr/bin/siege
00625000-00626000 rw-p 00025000 08:02 1073766822                         /usr/bin/siege
00626000-00627000 rw-p 00000000 00:00 0
01cea000-01f08000 rw-p 00000000 00:00 0                                  [heap]
7fce9c000000-7fce9c110000 rw-p 00000000 00:00 0
7fce9c110000-7fcea0000000 ---p 00000000 00:00 0
7fcea4000000-7fcea417c000 rw-p 00000000 00:00 0
7fcea417c000-7fcea8000000 ---p 00000000 00:00 0
7fceac000000-7fceac0d4000 rw-p 00000000 00:00 0
7fceac0d4000-7fceb0000000 ---p 00000000 00:00 0
7fceb4000000-7fceb4110000 rw-p 00000000 00:00 0
7fceb4110000-7fceb8000000 ---p 00000000 00:00 0
7fcebc000000-7fcebc110000 rw-p 00000000 00:00 0
7fcebc110000-7fcec0000000 ---p 00000000 00:00 0
7fcec4000000-7fcec4112000 rw-p 00000000 00:00 0
7fcec4112000-7fcec8000000 ---p 00000000 00:00 0
7fcecc000000-7fcecc17f000 rw-p 00000000 00:00 0
7fcecc17f000-7fced0000000 ---p 00000000 00:00 0
7fced4000000-7fced41f8000 rw-p 00000000 00:00 0
7fced41f8000-7fced8000000 ---p 00000000 00:00 0
7fcedc000000-7fcedc110000 rw-p 00000000 00:00 0
7fcedc110000-7fcee0000000 ---p 00000000 00:00 0
7fcee4000000-7fcee4106000 rw-p 00000000 00:00 0
7fcee4106000-7fcee8000000 ---p 00000000 00:00 0
7fceec000000-7fceec0fe000 rw-p 00000000 00:00 0
7fceec0fe000-7fcef0000000 ---p 00000000 00:00 0
7fcef4000000-7fcef4097000 rw-p 00000000 00:00 0
7fcef4097000-7fcef8000000 ---p 00000000 00:00 0
7fcefc000000-7fcefc363000 rw-p 00000000 00:00 0
7fcefc363000-7fcf00000000 ---p 00000000 00:00 0
7fcf04000000-7fcf04110000 rw-p 00000000 00:00 0
7fcf04110000-7fcf08000000 ---p 00000000 00:00 0
7fcf0c000000-7fcf0c0fe000 rw-p 00000000 00:00 0
7fcf0c0fe000-7fcf10000000 ---p 00000000 00:00 0
7fcf14000000-7fcf14110000 rw-p 00000000 00:00 0
7fcf14110000-7fcf18000000 ---p 00000000 00:00 0
7fcf1c000000-7fcf1c0c7000 rw-p 00000000 00:00 0
7fcf1c0c7000-7fcf20000000 ---p 00000000 00:00 0
7fcf24000000-7fcf24110000 rw-p 00000000 00:00 0
7fcf24110000-7fcf28000000 ---p 00000000 00:00 0
7fcf2c000000-7fcf2c110000 rw-p 00000000 00:00 0
7fcf2c110000-7fcf30000000 ---p 00000000 00:00 0
7fcf34000000-7fcf340ca000 rw-p 00000000 00:00 0
7fcf340ca000-7fcf38000000 ---p 00000000 00:00 0
7fcf3c000000-7fcf3c110000 rw-p 00000000 00:00 0
7fcf3c110000-7fcf40000000 ---p 00000000 00:00 0
7fcf44000000-7fcf440d3000 rw-p 00000000 00:00 0
7fcf440d3000-7fcf48000000 ---p 00000000 00:00 0
7fcf4c000000-7fcf4c106000 rw-p 00000000 00:00 0
7fcf4c106000-7fcf50000000 ---p 00000000 00:00 0
7fcf54000000-7fcf54161000 rw-p 00000000 00:00 0
7fcf54161000-7fcf58000000 ---p 00000000 00:00 0
7fcf5c000000-7fcf5c273000 rw-p 00000000 00:00 0
7fcf5c273000-7fcf60000000 ---p 00000000 00:00 0
7fcf64000000-7fcf64110000 rw-p 00000000 00:00 0
7fcf64110000-7fcf68000000 ---p 00000000 00:00 0
7fcf6c000000-7fcf6c110000 rw-p 00000000 00:00 0
7fcf6c110000-7fcf70000000 ---p 00000000 00:00 0
7fcf74000000-7fcf74110000 rw-p 00000000 00:00 0
7fcf74110000-7fcf78000000 ---p 00000000 00:00 0
7fcf7c000000-7fcf7c142000 rw-p 00000000 00:00 0
7fcf7c142000-7fcf80000000 ---p 00000000 00:00 0
7fcf84000000-7fcf84110000 rw-p 00000000 00:00 0
7fcf84110000-7fcf88000000 ---p 00000000 00:00 0
7fcf8c000000-7fcf8c110000 rw-p 00000000 00:00 0
7fcf8c110000-7fcf90000000 ---p 00000000 00:00 0
7fcf94000000-7fcf94115000 rw-p 00000000 00:00 0
7fcf94115000-7fcf98000000 ---p 00000000 00:00 0
7fcf9c000000-7fcf9c0d3000 rw-p 00000000 00:00 0
7fcf9c0d3000-7fcfa0000000 ---p 00000000 00:00 0
7fcfa4000000-7fcfa4117000 rw-p 00000000 00:00 0
7fcfa4117000-7fcfa8000000 ---p 00000000 00:00 0
7fcfac000000-7fcfac110000 rw-p 00000000 00:00 0
7fcfac110000-7fcfb0000000 ---p 00000000 00:00 0
7fcfb4000000-7fcfb408d000 rw-p 00000000 00:00 0
7fcfb408d000-7fcfb8000000 ---p 00000000 00:00 0
7fcfbc000000-7fcfbc08b000 rw-p 00000000 00:00 0
7fcfbc08b000-7fcfc0000000 ---p 00000000 00:00 0
7fcfc4000000-7fcfc40d1000 rw-p 00000000 00:00 0
7fcfc40d1000-7fcfc8000000 ---p 00000000 00:00 0
7fcfc8128000-7fcfc813e000 r-xp 00000000 08:02 371213                     /usr/lib/libgcc_s.so.1
7fcfc813e000-7fcfc833d000 ---p 00016000 08:02 371213                     /usr/lib/libgcc_s.so.1
7fcfc833d000-7fcfc833e000 r--p 00015000 08:02 371213                     /usr/lib/libgcc_s.so.1
7fcfc833e000-7fcfc833f000 rw-p 00016000 08:02 371213                     /usr/lib/libgcc_s.so.1
7fcfc833f000-7fcfcc000000 rw-p 00000000 00:00 0
7fcfcc000000-7fcfcc124000 rw-p 00000000 00:00 0
7fcfcc124000-7fcfd0000000 ---p 00000000 00:00 0
7fcfd0009000-7fcfd05ab000 rw-p 00000000 00:00 0
7fcfd060c000-7fcfd0673000 rw-p 00000000 00:00 0
7fcfd06d4000-7fcfd0809000 rw-p 00000000 00:00 0
7fcfd086a000-7fcfd08d1000 rw-p 00000000 00:00 0
7fcfd0932000-7fcfd0999000 rw-p 00000000 00:00 0
7fcfd09fa000-7fcfd0a61000 rw-p 00000000 00:00 0
7fcfd0ac2000-7fcfd0b29000 rw-p 00000000 00:00 0
7fcfd0b8a000-7fcfd0bf1000 rw-p 00000000 00:00 0
7fcfd0c52000-7fcfd0cb9000 rw-p 00000000 00:00 0
7fcfd0d1a000-7fcfd0d81000 rw-p 00000000 00:00 0
7fcfd0de2000-7fcfd0e49000 rw-p 00000000 00:00 0
7fcfd0eaa000-7fcfd0f11000 rw-p 00000000 00:00 0
7fcfd0f72000-7fcfd0fd9000 rw-p 00000000 00:00 0
7fcfd103a000-7fcfd10a1000 rw-p 00000000 00:00 0
7fcfd1102000-7fcfd1169000 rw-p 00000000 00:00 0
7fcfd11ca000-7fcfd1231000 rw-p 00000000 00:00 0
7fcfd1292000-7fcfd12f9000 rw-p 00000000 00:00 0
7fcfd135a000-7fcfd13c1000 rw-p 00000000 00:00 0
7fcfd1422000-7fcfd1489000 rw-p 00000000 00:00 0
7fcfd14ea000-7fcfd1551000 rw-p 00000000 00:00 0
7fcfd15b2000-7fcfd1619000 rw-p 00000000 00:00 0
7fcfd167a000-7fcfd16e1000 rw-p 00000000 00:00 0
7fcfd1742000-7fcfd17a9000 rw-p 00000000 00:00 0
7fcfd180a000-7fcfd1871000 rw-p 00000000 00:00 0
7fcfd18d2000-7fcfd1939000 rw-p 00000000 00:00 0
7fcfd199a000-7fcfd1a01000 rw-p 00000000 00:00 0
7fcfd1a62000-7fcfd1ac9000 rw-p 00000000 00:00 0
7fcfd1b2a000-7fcfd1b91000 rw-p 00000000 00:00 0
7fcfd1bf2000-7fcfd1c59000 rw-p 00000000 00:00 0
7fcfd1cba000-7fcfd1d21000 rw-p 00000000 00:00 0
7fcfd1d82000-7fcfd1de9000 rw-p 00000000 00:00 0
7fcfd1e4a000-7fcfd1eb1000 rw-p 00000000 00:00 0
7fcfd1f12000-7fcfd2047000 rw-p 00000000 00:00 0
7fcfd20a8000-7fcfd2176000 rw-p 00000000 00:00 0
7fcfd21d7000-7fcfd223e000 rw-p 00000000 00:00 0
7fcfd229f000-7fcfd2306000 rw-p 00000000 00:00 0
7fcfd2367000-7fcfd23ce000 rw-p 00000000 00:00 0
7fcfd242f000-7fcfd2496000 rw-p 00000000 00:00 0
7fcfd24f7000-7fcfd255e000 rw-p 00000000 00:00 0
7fcfd25bf000-7fcfd2626000 rw-p 00000000 00:00 0
7fcfd2687000-7fcfd26ee000 rw-p 00000000 00:00 0
7fcfd274f000-7fcfd27b6000 rw-p 00000000 00:00 0
7fcfd2817000-7fcfd287e000 rw-p 00000000 00:00 0
7fcfd28df000-7fcfd29ad000 rw-p 00000000 00:00 0
7fcfd2a0e000-7fcfd2a75000 rw-p 00000000 00:00 0
7fcfd2ad6000-7fcfd2ba4000 rw-p 00000000 00:00 0
7fcfd2c05000-7fcfd2c6c000 rw-p 00000000 00:00 0
7fcfd2ccd000-7fcfd2d34000 rw-p 00000000 00:00 0
7fcfd2d95000-7fcfd2dfc000 rw-p 00000000 00:00 0
7fcfd2e5d000-7fcfd2ec4000 rw-p 00000000 00:00 0
7fcfd2f25000-7fcfd2ff3000 rw-p 00000000 00:00 0
7fcfd3054000-7fcfd30bb000 rw-p 00000000 00:00 0
7fcfd311c000-7fcfd3183000 rw-p 00000000 00:00 0
7fcfd31e4000-7fcfd324b000 rw-p 00000000 00:00 0
7fcfd32ac000-7fcfd3313000 rw-p 00000000 00:00 0
7fcfd3374000-7fcfd33db000 rw-p 00000000 00:00 0
7fcfd343c000-7fcfd34a3000 rw-p 00000000 00:00 0
7fcfd3504000-7fcfd356b000 rw-p 00000000 00:00 0
7fcfd35cc000-7fcfd3633000 rw-p 00000000 00:00 0
7fcfd3694000-7fcfd36fb000 rw-p 00000000 00:00 0
7fcfd375c000-7fcfd37c3000 rw-p 00000000 00:00 0
7fcfd3824000-7fcfd38f2000 rw-p 00000000 00:00 0
7fcfd3953000-7fcfd3aef000 rw-p 00000000 00:00 0
7fcfd3b50000-7fcfd3bb7000 rw-p 00000000 00:00 0
7fcfd3c18000-7fcfd3c7f000 rw-p 00000000 00:00 0
7fcfd3ce0000-7fcfd3d47000 rw-p 00000000 00:00 0
7fcfd3da8000-7fcfd3e0f000 rw-p 00000000 00:00 0
7fcfd3e70000-7fcfd3ed7000 rw-p 00000000 00:00 0
7fcfd3f38000-7fcfd3f9f000 rw-p 00000000 00:00 0
7fcfd4000000-7fcfd410e000 rw-p 00000000 00:00 0
7fcfd410e000-7fcfd8000000 ---p 00000000 00:00 0
7fcfd8000000-7fcfd810a000 rw-p 00000000 00:00 0
7fcfd810a000-7fcfdc000000 ---p 00000000 00:00 0
7fcfdc000000-7fcfdc110000 rw-p 00000000 00:00 0
7fcfdc110000-7fcfe0000000 ---p 00000000 00:00 0
7fcfe0000000-7fcfe01cd000 rw-p 00000000 00:00 0
7fcfe01cd000-7fcfe4000000 ---p 00000000 00:00 0
7fcfe4000000-7fcfe4106000 rw-p 00000000 00:00 0
7fcfe4106000-7fcfe8000000 ---p 00000000 00:00 0
7fcfe8000000-7fcfe8110000 rw-p 00000000 00:00 0
7fcfe8110000-7fcfec000000 ---p 00000000 00:00 0
7fcfec000000-7fcfec110000 rw-p 00000000 00:00 0
7fcfec110000-7fcff0000000 ---p 00000000 00:00 0
7fcff0000000-7fcff0110000 rw-p 00000000 00:00 0
7fcff0110000-7fcff4000000 ---p 00000000 00:00 0
7fcff4000000-7fcff4106000 rw-p 00000000 00:00 0
7fcff4106000-7fcff8000000 ---p 00000000 00:00 0
7fcff8000000-7fcff80fe000 rw-p 00000000 00:00 0
7fcff80fe000-7fcffc000000 ---p 00000000 00:00 0
7fcffc000000-7fcffc491000 rw-p 00000000 00:00 0
7fcffc491000-7fd000000000 ---p 00000000 00:00 0
7fd000000000-7fd000189000 rw-p 00000000 00:00 0
7fd000189000-7fd004000000 ---p 00000000 00:00 0
7fd004000000-7fd004145000 rw-p 00000000 00:00 0
7fd004145000-7fd008000000 ---p 00000000 00:00 0
7fd008000000-7fd0080fe000 rw-p 00000000 00:00 0
7fd0080fe000-7fd00c000000 ---p 00000000 00:00 0
7fd00c000000-7fd00c0c9000 rw-p 00000000 00:00 0
7fd00c0c9000-7fd010000000 ---p 00000000 00:00 0
7fd010000000-7fd010110000 rw-p 00000000 00:00 0
7fd010110000-7fd014000000 ---p 00000000 00:00 0
7fd014000000-7fd014111000 rw-p 00000000 00:00 0
7fd014111000-7fd018000000 ---p 00000000 00:00 0
7fd018000000-7fd018143000 rw-p 00000000 00:00 0
7fd018143000-7fd01c000000 ---p 00000000 00:00 0
7fd01c000000-7fd01c14c000 rw-p 00000000 00:00 0
7fd01c14c000-7fd020000000 ---p 00000000 00:00 0
7fd020000000-7fd020109000 rw-p 00000000 00:00 0
7fd020109000-7fd024000000 ---p 00000000 00:00 0
7fd024000000-7fd02426d000 rw-p 00000000 00:00 0
7fd02426d000-7fd028000000 ---p 00000000 00:00 0
7fd028000000-7fd02814c000 rw-p 00000000 00:00 0
7fd02814c000-7fd02c000000 ---p 00000000 00:00 0
7fd02c000000-7fd02c103000 rw-p 00000000 00:00 0
7fd02c103000-7fd030000000 ---p 00000000 00:00 0
7fd030000000-7fd030110000 rw-p 00000000 00:00 0
7fd030110000-7fd034000000 ---p 00000000 00:00 0
7fd034040000-7fd0340a7000 rw-p 00000000 00:00 0
7fd034108000-7fd03416f000 rw-p 00000000 00:00 0
7fd0341d0000-7fd03443a000 rw-p 00000000 00:00 0
7fd03449b000-7fd03476c000 rw-p 00000000 00:00 0
7fd0347cd000-7fd034834000 rw-p 00000000 00:00 0
7fd034895000-7fd0348fc000 rw-p 00000000 00:00 0
7fd03495d000-7fd0349c4000 rw-p 00000000 00:00 0
7fd034a25000-7fd034a8c000 rw-p 00000000 00:00 0
7fd034aed000-7fd034b54000 rw-p 00000000 00:00 0
7fd034bb5000-7fd0355c4000 rw-p 00000000 00:00 0
7fd035625000-7fd03568c000 rw-p 00000000 00:00 0
7fd0356ed000-7fd035754000 rw-p 00000000 00:00 0
7fd0357b5000-7fd03581c000 rw-p 00000000 00:00 0
7fd03587d000-7fd0358e4000 rw-p 00000000 00:00 0
7fd035945000-7fd0359ac000 rw-p 00000000 00:00 0
7fd035a0d000-7fd035a74000 rw-p 00000000 00:00 0
7fd035ad5000-7fd035b3c000 rw-p 00000000 00:00 0
7fd035b9d000-7fd035b9e000 ---p 00000000 00:00 0
7fd035b9e000-7fd03639e000 rw-p 00000000 00:00 0
7fd03639e000-7fd03639f000 ---p 00000000 00:00 0
7fd03639f000-7fd036b9f000 rw-p 00000000 00:00 0
7fd036b9f000-7fd036ba0000 ---p 00000000 00:00 0
7fd036ba0000-7fd0373a0000 rw-p 00000000 00:00 0
7fd0373a0000-7fd0373a1000 ---p 00000000 00:00 0
7fd0373a1000-7fd037ba1000 rw-p 00000000 00:00 0
7fd037ba1000-7fd037ba2000 ---p 00000000 00:00 0
7fd037ba2000-7fd0383a2000 rw-p 00000000 00:00 0
7fd0383a2000-7fd0383a3000 ---p 00000000 00:00 0
7fd0383a3000-7fd038ba3000 rw-p 00000000 00:00 0
7fd0ccccb000-7fd0cccce000 r-xp 00000000 08:02 371097                     /usr/lib/libdl-2.25.so
7fd0cccce000-7fd0ccecd000 ---p 00003000 08:02 371097                     /usr/lib/libdl-2.25.so
7fd0ccecd000-7fd0ccece000 r--p 00002000 08:02 371097                     /usr/lib/libdl-2.25.so
7fd0ccece000-7fd0ccecf000 rw-p 00003000 08:02 371097                     /usr/lib/libdl-2.25.so
7fd0ccecf000-7fd0cd06c000 r-xp 00000000 08:02 371063                     /usr/lib/libc-2.25.so
7fd0cd06c000-7fd0cd26b000 ---p 0019d000 08:02 371063                     /usr/lib/libc-2.25.so
7fd0cd26b000-7fd0cd26f000 r--p 0019c000 08:02 371063                     /usr/lib/libc-2.25.so
7fd0cd26f000-7fd0cd271000 rw-p 001a0000 08:02 371063                     /usr/lib/libc-2.25.so
7fd0cd271000-7fd0cd275000 rw-p 00000000 00:00 0
7fd0cd275000-7fd0cd28b000 r-xp 00000000 08:02 393873                     /usr/lib/libz.so.1.2.11
7fd0cd28b000-7fd0cd48a000 ---p 00016000 08:02 393873                     /usr/lib/libz.so.1.2.11
7fd0cd48a000-7fd0cd48b000 r--p 00015000 08:02 393873                     /usr/lib/libz.so.1.2.11
7fd0cd48b000-7fd0cd48c000 rw-p 00016000 08:02 393873                     /usr/lib/libz.so.1.2.11
7fd0cd48c000-7fd0cd6e2000 r-xp 00000000 08:02 393363                     /usr/lib/libcrypto.so.1.1
7fd0cd6e2000-7fd0cd8e1000 ---p 00256000 08:02 393363                     /usr/lib/libcrypto.so.1.1
7fd0cd8e1000-7fd0cd8ff000 r--p 00255000 08:02 393363                     /usr/lib/libcrypto.so.1.1
7fd0cd8ff000-7fd0cd909000 rw-p 00273000 08:02 393363                     /usr/lib/libcrypto.so.1.1
7fd0cd909000-7fd0cd90c000 rw-p 00000000 00:00 0
7fd0cd90c000-7fd0cd96d000 r-xp 00000000 08:02 393364                     /usr/lib/libssl.so.1.1
7fd0cd96d000-7fd0cdb6c000 ---p 00061000 08:02 393364                     /usr/lib/libssl.so.1.1
7fd0cdb6c000-7fd0cdb71000 r--p 00060000 08:02 393364                     /usr/lib/libssl.so.1.1
7fd0cdb71000-7fd0cdb76000 rw-p 00065000 08:02 393364                     /usr/lib/libssl.so.1.1
7fd0cdb76000-7fd0cdb8f000 r-xp 00000000 08:02 371035                     /usr/lib/libpthread-2.25.so
7fd0cdb8f000-7fd0cdd8e000 ---p 00019000 08:02 371035                     /usr/lib/libpthread-2.25.so
7fd0cdd8e000-7fd0cdd8f000 r--p 00018000 08:02 371035                     /usr/lib/libpthread-2.25.so
7fd0cdd8f000-7fd0cdd90000 rw-p 00019000 08:02 371035                     /usr/lib/libpthread-2.25.so
7fd0cdd90000-7fd0cdd94000 rw-p 00000000 00:00 0
7fd0cdd94000-7fd0cddb7000 r-xp 00000000 08:02 371053                     /usr/lib/ld-2.25.so
7fd0cddea000-7fd0cde51000 rw-p 00000000 00:00 0
7fd0cdeb2000-7fd0cdf80000 rw-p 00000000 00:00 0
7fd0cdfa1000-7fd0cdfa8000 rw-p 00000000 00:00 0
7fd0cdfb6000-7fd0cdfb7000 rw-p 00000000 00:00 0
7fd0cdfb7000-7fd0cdfb8000 r--p 00023000 08:02 371053                     /usr/lib/ld-2.25.so
7fd0cdfb8000-7fd0cdfb9000 rw-p 00024000 08:02 371053                     /usr/lib/ld-2.25.so
7fd0cdfb9000-7fd0cdfba000 rw-p 00000000 00:00 0
7fffe535d000-7fffe537e000 rw-p 00000000 00:00 0                          [stack]
7fffe53fa000-7fffe53fd000 r--p 00000000 00:00 0                          [vvar]
7fffe53fd000-7fffe53ff000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
Aborted (core dumped)
@wvffle
Copy link

wvffle commented Aug 25, 2017

+1

1 similar comment
@huiser
Copy link

huiser commented Aug 30, 2017

+1

@JoeDog
Copy link
Owner

JoeDog commented Sep 5, 2017

What version of openssl are you using?

@hdezela
Copy link
Author

hdezela commented Sep 5, 2017

OpenSSL 1.1.0f 25 May 2017

@belkinai
Copy link

+1 same versions

@jpptinsley
Copy link

+1, Debian stretch, 1.1.0j-1~deb9u1
OpenSSL 1.1.0j
Appears to be firing after successful completion, of a run

@JoeDog
Copy link
Owner

JoeDog commented May 13, 2019 via email

@dpkirchner
Copy link

I downloaded the source of the Debian package (apt-get source siege), got version 4.0.2, and then ran the build package command to get this configure output. The error occurs when siege completes or when you ^C an active run. The stack trace I get is pretty much the same as hdezela's except the locations of the symbols.

dpk@server:~/foo/siege-4.0.2$ dpkg-buildpackage -us -uc
dpkg-buildpackage: info: source package siege
dpkg-buildpackage: info: source version 4.0.2-1.1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Mattia Rizzolo <mattia@debian.org>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build siege-4.0.2
 fakeroot debian/rules clean
dh clean --with autotools_dev
   dh_testdir
   dh_auto_clean
   dh_autotools-dev_restoreconfig
   dh_clean
 dpkg-source -b siege-4.0.2
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building siege using existing ./siege_4.0.2.orig.tar.gz
dpkg-source: info: building siege in siege_4.0.2-1.1.debian.tar.xz
dpkg-source: info: building siege in siege_4.0.2-1.1.dsc
 debian/rules build
dh build --with autotools_dev
   dh_testdir
   dh_update_autotools_config
   dh_autotools-dev_updateconfig
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/home/dpk/foo/siege-4.0.2'
dh_auto_configure -- --sysconfdir=/etc/siege --localstatedir=/var/log
	./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --sysconfdir=/etc/siege --localstatedir=/var/log
configure: WARNING: unrecognized options: --disable-silent-rules, --disable-maintainer-mode
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... none
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) none
checking for a sed that does not truncate output... /bin/sed
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for xlf95... no
checking for f95... no
checking for fort... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgfortran... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking for perl... /usr/bin/perl
checking for a POSIX-compliant shell... /bin/sh
checking whether make sets $(MAKE)... (cached) yes
checking for buggy pthread mutex initializers... no
checking for dlopen() in -ldld... no
checking for dlopen() in -ldl... yes
checking for random device... yes
checking for ssl support... yes
checking /include/openssl/opensslv.h usability... no
checking /include/openssl/opensslv.h presence... no
checking for /include/openssl/opensslv.h... no
checking /usr/include/openssl/opensslv.h usability... yes
checking /usr/include/openssl/opensslv.h presence... yes
checking for /usr/include/openssl/opensslv.h... yes
checking for OpenSSL version... >= 0.9.8 (appropriate flag set)
checking for zlib support... yes
checking /include/zlib.h usability... no
checking /include/zlib.h presence... no
checking for /include/zlib.h... no
checking /usr/include/zlib.h usability... no
checking /usr/include/zlib.h presence... no
checking for /usr/include/zlib.h... no
checking /usr/local/include/zlib.h usability... no
checking /usr/local/include/zlib.h presence... no
checking for /usr/local/include/zlib.h... no
checking /usr/local/ssl/include/zlib.h usability... no
checking /usr/local/ssl/include/zlib.h presence... no
checking for /usr/local/ssl/include/zlib.h... no
checking /usr/pkg/include/zlib.h usability... no
checking /usr/pkg/include/zlib.h presence... no
checking for /usr/pkg/include/zlib.h... no
checking /usr/lib/zlib/include/zlib.h usability... no
checking /usr/lib/zlib/include/zlib.h presence... no
checking for /usr/lib/zlib/include/zlib.h... no
checking /usr/include/zlib/include/zlib.h usability... no
checking /usr/include/zlib/include/zlib.h presence... no
checking for /usr/include/zlib/include/zlib.h... no
checking /usr/include/include/zlib.h usability... no
checking /usr/include/include/zlib.h presence... no
checking for /usr/include/include/zlib.h... no
checking for inline... inline
checking for int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for u_int32_t... yes
checking for ssize_t... yes
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for unistd.h... (cached) yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/types.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking openssl/e_os.h usability... no
checking openssl/e_os.h presence... no
checking for openssl/e_os.h... no
checking openssl/e_os2.h usability... yes
checking openssl/e_os2.h presence... yes
checking for openssl/e_os2.h... yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking return type of signal handlers... void
checking for working alloca.h... yes
checking for alloca... yes
checking for strchr... yes
checking for memcpy... yes
checking for strncpy... yes
checking for strstr... yes
checking for strlen... yes
checking for strncasecmp... yes
checking for strncmp... yes
checking for socket... yes
checking for gethostbyname... yes
checking for snprintf... yes
checking for strdup... yes
checking for rand_r... yes
checking for localtime_r... yes
checking for gmtime_r... yes
checking for getipnodebyname... no
checking for freehostent... no
checking for getopt_long... yes
checking for poll... yes
checking for socket in -lsocket... no
checking for pthread_attr_init in -lpthread... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating html/Makefile
config.status: creating include/Makefile
config.status: creating include/joedog/Makefile
config.status: creating utils/Makefile
config.status: creating include/config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: executing default-2 commands
config.status: executing default-3 commands
config.status: executing default-4 commands
config.status: executing default-5 commands
config.status: executing default-6 commands
configure: WARNING: unrecognized options: --disable-silent-rules, --disable-maintainer-mode

--------------------------------------------------------
Configuration is complete

Run the following commands to complete the installation:
  make
  make install

For complete documentation:        http://www.joedog.org
--------------------------------------------------------
make[1]: Leaving directory '/home/dpk/foo/siege-4.0.2'

I'm on Debian Stretch 9.8 and have openssl 1.1.0j-1~deb9u1 installed.

@dpkirchner
Copy link

gdb backtrace:

(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff6f4842a in __GI_abort () at abort.c:89
#2  0x00007ffff6f84c00 in __libc_message (do_abort=do_abort@entry=2,
    fmt=fmt@entry=0x7ffff7079fd0 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff6f8afc6 in malloc_printerr (action=3, str=0x7ffff7076b58 "free(): invalid size",
    ptr=<optimized out>, ar_ptr=<optimized out>) at malloc.c:5049
#4  0x00007ffff6f8b80e in _int_free (av=0x7ffff72adb00 <main_arena>, p=0x55555577ff10, have_lock=0)
    at malloc.c:3905
#5  0x00007ffff7474a1e in OPENSSL_sk_free () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
#6  0x00007ffff7778df9 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.1
#7  0x00007ffff741e95a in OPENSSL_cleanup () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
#8  0x00007ffff6f49940 in __run_exit_handlers (status=0, listp=0x7ffff72ad5d8 <__exit_funcs>,
    run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:83
#9  0x00007ffff6f4999a in __GI_exit (status=<optimized out>) at exit.c:105
#10 0x000055555555a51f in main (argc=<optimized out>, argv=<optimized out>) at main.c:555

I did some digging and found a patch for some other program that faced this double-free issue:

https://people.freedesktop.org/~teuf/0001-Avoid-double-free-with-OpenSSL-1.1.0.patch

I tested this in siege's src/ssl.c and it resolved the core dump. However, SSL_COMP_free_compression_methods is marked as deprecated in 1.1.0, so I'm not sure why it's still used there.

Also, unrelated, in ssl.c, CRYPTO_cleanup_all_ex_data is being called twice, ERR_remove_state is being called for Openssl < 1.1.0 but was deprecated in 1.0.0, and ERR_remove_thread_state is deprecated as of 1.1.0, per man ERR_remove_state. This is what I changed in ssl.c, after lock_count is freed:

  ERR_free_strings();
  EVP_cleanup();
  CRYPTO_cleanup_all_ex_data();
#if (OPENSSL_VERSION_NUMBER < 0x10000000L) || defined(OPENSSL_USE_DEPRECATED)
   ERR_remove_state(0);
#endif
#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(OPENSSL_USE_DEPRECATED)
   ERR_remove_thread_state(NULL);
#endif
  SSL_COMP_free_compression_methods();

I think SSL_COMP_free_compression_methods may need to be inside that last conditional, but at least its presence doesn't trigger a crash.

@JoeDog
Copy link
Owner

JoeDog commented Jun 19, 2019 via email

@dpkirchner
Copy link

dpkirchner commented Jun 19, 2019

diff -cr siege-4.0.2.orig/src/ssl.c siege-4.0.2.new/src/ssl.c
*** siege-4.0.2.orig/src/ssl.c	2016-05-20 11:41:06.000000000 +0000
--- siege-4.0.2.new/src/ssl.c	2019-06-19 14:56:05.173852294 +0000
***************
*** 221,236 ****
      OPENSSL_free(lock_count);
      lock_count=(long *)NULL;
    }
-   sk_SSL_COMP_free(SSL_COMP_get_compression_methods());
-   CRYPTO_cleanup_all_ex_data();
-   ERR_remove_state(0);
    ERR_free_strings();
    EVP_cleanup();
    CRYPTO_cleanup_all_ex_data();
! #if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(OPENSSL_USE_DEPRECATED)
     ERR_remove_state(0);
! #else
     ERR_remove_thread_state(NULL);
  #endif
  }

--- 221,235 ----
      OPENSSL_free(lock_count);
      lock_count=(long *)NULL;
    }
    ERR_free_strings();
    EVP_cleanup();
    CRYPTO_cleanup_all_ex_data();
! #if (OPENSSL_VERSION_NUMBER < 0x10000000L) || defined(OPENSSL_USE_DEPRECATED)
     ERR_remove_state(0);
! #endif
! #if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(OPENSSL_USE_DEPRECATED)
     ERR_remove_thread_state(NULL);
+    SSL_COMP_free_compression_methods();
  #endif
  }

I went ahead and moved the function up. I'm not sure if the old method should still be used pre 1.0, though, so I'm not sure if this is safe to release as-is. FWIW this is based on the tarball that is provided when running apt-get source siege on Debian 9.

@JoeDog
Copy link
Owner

JoeDog commented Jun 19, 2019 via email

@dpkirchner
Copy link

I haven't tested this at all against master but I did try to rebase. It conflicts with 08078ff . Maybe my change isn't required at all for the latest version.

@JoeDog
Copy link
Owner

JoeDog commented Jun 19, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants