You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Kapil Thangavelu (JIRA)" <ji...@apache.org> on 2010/05/06 18:07:48 UTC

[jira] Created: (ZOOKEEPER-768) zkpython segfault (assertion error in io thread)

zkpython segfault (assertion error in io thread)
------------------------------------------------

                 Key: ZOOKEEPER-768
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-768
             Project: Zookeeper
          Issue Type: Bug
          Components: contrib-bindings
    Affects Versions: 3.4.0
         Environment: ubuntu lucid (10.04), zookeeper trunk (java/c/zkpython)
            Reporter: Kapil Thangavelu
         Attachments: zkpython-segfault-stack-traces.txt, zkpython-segfault.py

While trying to create a test case showing slow average add_auth, i stumbled upon a test case that reliably segfaults for me, albeit with variable amount of iterations (anwhere from 2 to 20). fwiw, I've got about 220 processes in my test environment (ubuntu lucid 10.04). The test case opens a connection, adds authentication to it, and closes the connection, in a loop. I'm including the sample program and the gdb stack traces from the core file. I can upload the core file if thats helpful.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ZOOKEEPER-768) zkpython segfault on close (assertion error in io thread)

Posted by "Kapil Thangavelu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ZOOKEEPER-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kapil Thangavelu updated ZOOKEEPER-768:
---------------------------------------

        Summary: zkpython segfault on close (assertion error in io thread)  (was: zkpython segfault (assertion error in io thread))
    Description: While trying to create a test case showing slow average add_auth, i stumbled upon a test case that reliably segfaults for me, albeit with variable amount of iterations (anwhere from 0 to 20 typically). fwiw, I've got about 220 processes in my test environment (ubuntu lucid 10.04). The test case opens a connection, adds authentication to it, and closes the connection, in a loop. I'm including the sample program and the gdb stack traces from the core file. I can upload the core file if thats helpful.  (was: While trying to create a test case showing slow average add_auth, i stumbled upon a test case that reliably segfaults for me, albeit with variable amount of iterations (anwhere from 2 to 20). fwiw, I've got about 220 processes in my test environment (ubuntu lucid 10.04). The test case opens a connection, adds authentication to it, and closes the connection, in a loop. I'm including the sample program and the gdb stack traces from the core file. I can upload the core file if thats helpful.)

> zkpython segfault on close (assertion error in io thread)
> ---------------------------------------------------------
>
>                 Key: ZOOKEEPER-768
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-768
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bindings
>    Affects Versions: 3.4.0
>         Environment: ubuntu lucid (10.04), zookeeper trunk (java/c/zkpython)
>            Reporter: Kapil Thangavelu
>         Attachments: zkpython-segfault-client-log.txt, zkpython-segfault-stack-traces.txt, zkpython-segfault.py
>
>
> While trying to create a test case showing slow average add_auth, i stumbled upon a test case that reliably segfaults for me, albeit with variable amount of iterations (anwhere from 0 to 20 typically). fwiw, I've got about 220 processes in my test environment (ubuntu lucid 10.04). The test case opens a connection, adds authentication to it, and closes the connection, in a loop. I'm including the sample program and the gdb stack traces from the core file. I can upload the core file if thats helpful.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ZOOKEEPER-768) zkpython segfault on close (assertion error in io thread)

Posted by "Henry Robinson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ZOOKEEPER-768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12864849#action_12864849 ] 

Henry Robinson commented on ZOOKEEPER-768:
------------------------------------------

Thanks Kapil - I'll take a look. From the stack trace it looks as though a pending completion callback is null and therefore something weird is going on with a completion dispatcher being freed before it is finished being used. As per usual I can't reproduce on my machine, but this is enough information to dig into it. 

> zkpython segfault on close (assertion error in io thread)
> ---------------------------------------------------------
>
>                 Key: ZOOKEEPER-768
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-768
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bindings
>    Affects Versions: 3.4.0
>         Environment: ubuntu lucid (10.04), zookeeper trunk (java/c/zkpython)
>            Reporter: Kapil Thangavelu
>         Attachments: zkpython-segfault-client-log.txt, zkpython-segfault-stack-traces.txt, zkpython-segfault.py
>
>
> While trying to create a test case showing slow average add_auth, i stumbled upon a test case that reliably segfaults for me, albeit with variable amount of iterations (anwhere from 0 to 20 typically). fwiw, I've got about 220 processes in my test environment (ubuntu lucid 10.04). The test case opens a connection, adds authentication to it, and closes the connection, in a loop. I'm including the sample program and the gdb stack traces from the core file. I can upload the core file if thats helpful.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ZOOKEEPER-768) zkpython segfault on close (assertion error in io thread)

Posted by "Kapil Thangavelu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ZOOKEEPER-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kapil Thangavelu updated ZOOKEEPER-768:
---------------------------------------

    Attachment: zkpython-segfault-on-close-core.bz2

 Compressed the core file is small enough to just attach to the ticket. 

> zkpython segfault on close (assertion error in io thread)
> ---------------------------------------------------------
>
>                 Key: ZOOKEEPER-768
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-768
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bindings
>    Affects Versions: 3.4.0
>         Environment: ubuntu lucid (10.04), zookeeper trunk (java/c/zkpython)
>            Reporter: Kapil Thangavelu
>         Attachments: zkpython-segfault-client-log.txt, zkpython-segfault-on-close-core.bz2, zkpython-segfault-stack-traces.txt, zkpython-segfault.py
>
>
> While trying to create a test case showing slow average add_auth, i stumbled upon a test case that reliably segfaults for me, albeit with variable amount of iterations (anwhere from 0 to 20 typically). fwiw, I've got about 220 processes in my test environment (ubuntu lucid 10.04). The test case opens a connection, adds authentication to it, and closes the connection, in a loop. I'm including the sample program and the gdb stack traces from the core file. I can upload the core file if thats helpful.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ZOOKEEPER-768) zkpython segfault (assertion error in io thread)

Posted by "Kapil Thangavelu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ZOOKEEPER-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kapil Thangavelu updated ZOOKEEPER-768:
---------------------------------------

    Attachment: zkpython-segfault.py
                zkpython-segfault-stack-traces.txt

sample program and gdb stack traces.

> zkpython segfault (assertion error in io thread)
> ------------------------------------------------
>
>                 Key: ZOOKEEPER-768
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-768
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bindings
>    Affects Versions: 3.4.0
>         Environment: ubuntu lucid (10.04), zookeeper trunk (java/c/zkpython)
>            Reporter: Kapil Thangavelu
>         Attachments: zkpython-segfault-stack-traces.txt, zkpython-segfault.py
>
>
> While trying to create a test case showing slow average add_auth, i stumbled upon a test case that reliably segfaults for me, albeit with variable amount of iterations (anwhere from 2 to 20). fwiw, I've got about 220 processes in my test environment (ubuntu lucid 10.04). The test case opens a connection, adds authentication to it, and closes the connection, in a loop. I'm including the sample program and the gdb stack traces from the core file. I can upload the core file if thats helpful.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ZOOKEEPER-768) zkpython segfault (assertion error in io thread)

Posted by "Kapil Thangavelu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ZOOKEEPER-768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kapil Thangavelu updated ZOOKEEPER-768:
---------------------------------------

    Attachment: zkpython-segfault-client-log.txt

client log with debug logging on.

> zkpython segfault (assertion error in io thread)
> ------------------------------------------------
>
>                 Key: ZOOKEEPER-768
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-768
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bindings
>    Affects Versions: 3.4.0
>         Environment: ubuntu lucid (10.04), zookeeper trunk (java/c/zkpython)
>            Reporter: Kapil Thangavelu
>         Attachments: zkpython-segfault-client-log.txt, zkpython-segfault-stack-traces.txt, zkpython-segfault.py
>
>
> While trying to create a test case showing slow average add_auth, i stumbled upon a test case that reliably segfaults for me, albeit with variable amount of iterations (anwhere from 2 to 20). fwiw, I've got about 220 processes in my test environment (ubuntu lucid 10.04). The test case opens a connection, adds authentication to it, and closes the connection, in a loop. I'm including the sample program and the gdb stack traces from the core file. I can upload the core file if thats helpful.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ZOOKEEPER-768) zkpython segfault on close (assertion error in io thread)

Posted by "Kapil Thangavelu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ZOOKEEPER-768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12864873#action_12864873 ] 

Kapil Thangavelu commented on ZOOKEEPER-768:
--------------------------------------------

i've uploaded the core file here http://kapilt.com/files/zkpython-segfault-on-close-core.bz2

a little more poking around in gdb, shows the packet to be a ping one.

(gdb) print hdr
$8 = {xid = -2, zxid = 181, err = 0}


> zkpython segfault on close (assertion error in io thread)
> ---------------------------------------------------------
>
>                 Key: ZOOKEEPER-768
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-768
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bindings
>    Affects Versions: 3.4.0
>         Environment: ubuntu lucid (10.04), zookeeper trunk (java/c/zkpython)
>            Reporter: Kapil Thangavelu
>         Attachments: zkpython-segfault-client-log.txt, zkpython-segfault-stack-traces.txt, zkpython-segfault.py
>
>
> While trying to create a test case showing slow average add_auth, i stumbled upon a test case that reliably segfaults for me, albeit with variable amount of iterations (anwhere from 0 to 20 typically). fwiw, I've got about 220 processes in my test environment (ubuntu lucid 10.04). The test case opens a connection, adds authentication to it, and closes the connection, in a loop. I'm including the sample program and the gdb stack traces from the core file. I can upload the core file if thats helpful.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ZOOKEEPER-768) zkpython segfault on close (assertion error in io thread)

Posted by "Henry Robinson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ZOOKEEPER-768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12864939#action_12864939 ] 

Henry Robinson commented on ZOOKEEPER-768:
------------------------------------------

Note that this is the same assertion as in ZOOKEEPER-707, which is not related to the python client. 

I need to understand why it's an error for the completion callback to be null when processing a ping, since send_ping explicitly queues a null callback... 

> zkpython segfault on close (assertion error in io thread)
> ---------------------------------------------------------
>
>                 Key: ZOOKEEPER-768
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-768
>             Project: Zookeeper
>          Issue Type: Bug
>          Components: contrib-bindings
>    Affects Versions: 3.4.0
>         Environment: ubuntu lucid (10.04), zookeeper trunk (java/c/zkpython)
>            Reporter: Kapil Thangavelu
>         Attachments: zkpython-segfault-client-log.txt, zkpython-segfault-on-close-core.bz2, zkpython-segfault-stack-traces.txt, zkpython-segfault.py
>
>
> While trying to create a test case showing slow average add_auth, i stumbled upon a test case that reliably segfaults for me, albeit with variable amount of iterations (anwhere from 0 to 20 typically). fwiw, I've got about 220 processes in my test environment (ubuntu lucid 10.04). The test case opens a connection, adds authentication to it, and closes the connection, in a loop. I'm including the sample program and the gdb stack traces from the core file. I can upload the core file if thats helpful.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.