Fan Jiang <fanjiang@thoughtworks.com> writes:
> [ text/plain ]
> 2016年4月22日 上午4:54,"George Kadianakis" <desnacked@riseup.net>写道:
>>
>> Fan Jiang <fanjiang@thoughtworks.com> writes:
>>
>> > [ text/plain ]
>> > On Thu, Apr 21, 2016 at 4:32 AM, George Kadianakis <desnacked@riseup.net
>>
>> > wrote:
>> >
>> > <snip>
>
> It seems like we come to a point that most of prop259 can be stable for a
> while, we are going to do some cleanup in this implementation and spec. I
> think next week we can ask more people to review, does that sounds OK?
>
Sounds good!
> BTW, About your segmentfault I couldn't reproduce, maybe related with your
> torrc/state file?
I think it's some sort of dangling pointer error. e->chosen_by_version seems to
be referring to a corrupted memory address.
Not sure if it's caused by my state file, but in general the prop259 branch
should work well with any old state file without crashing.
Here is some gdb output from the segfault:
---
Apr 22 17:08:21.161 [notice] Tor v0.2.8.1-alpha-dev (git-d7ed996b2aba9f10) running on Linux with Libevent 2.0.21-stable, OpenSSL 1.0.1k and Zlib 1.2.8.
Apr 22 17:08:21.161 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Apr 22 17:08:21.161 [notice] This version is not a stable Tor release. Expect more bugs than usual.
Apr 22 17:08:21.161 [notice] Read configuration file "/home/f/Computers/tor/mytor/../confs/prop259".
Apr 22 17:08:21.164 [notice] Opening Socks listener on 127.0.0.1:9999
Program received signal SIGSEGV, Segmentation fault.
__strchr_sse2 () at ../sysdeps/x86_64/multiarch/../strchr.S:32
32 ../sysdeps/x86_64/multiarch/../strchr.S: No such file or directory.
(gdb) up
#1 0x000055555567eb25 in guards_update_state (next=0x5555559c3f40, next@entry=0x5555559c35e8, guards=guards@entry=0x5555559c4620,
config_name=config_name@entry=0x55555570c3be "UsedGuard") at src/or/prop259.c:1155
1155 !strchr(e->chosen_by_version, ' ')) {
(gdb) p/x e
$1 = 0x5555559c42d0
(gdb) p/x e->chosen_by_version
$2 = 0x4137323000000000
(gdb) x/s chosen_by_version
No symbol "chosen_by_version" in current context.
(gdb) x/s e->chosen_by_version
0x4137323000000000: <error: Cannot access memory at address 0x4137323000000000>
---
and here is my state file in case it matters:
---
EntryGuard jaures4 5CF8AFA5E4B0BB88942A44A3F3AAE08C3BDFD60B DirCache
EntryGuardAddedBy 5CF8AFA5E4B0BB88942A44A3F3AAE08C3BDFD60B 0.2.5.12 2016-01-11 02:54:36
EntryGuard SGGSUK4 38F423A4320380FFE32DB60B72E7457CD6E3F096 DirCache
EntryGuardAddedBy 38F423A4320380FFE32DB60B72E7457CD6E3F096 0.2.5.12 2016-01-25 08:20:31
EntryGuard aTomicRelayFR1 25EF027A85BAA044048AD1D635AF8583DB88C08F DirCache
EntryGuardAddedBy 25EF027A85BAA044048AD1D635AF8583DB88C08F 0.2.5.12 2016-02-06 01:04:20
TorVersion Tor 0.2.5.12 (git-3731dd5c3071dcba)
LastWritten 2016-02-07 18:18:11
---