-
Notifications
You must be signed in to change notification settings - Fork 363
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
Is some unexpected lock triggered? #534
Comments
Hi, I setup an OpenLDAP server and tried to reproduce your issue by running your program for 5 minutes straight. None of the threads ended up in a softlock and ran flawlessly until I stopped the program. All new directory objects were successfully created. Can you attach a debgger to your program in the affected environment? |
Forgot to mention my testing environment, sorry about this.
I'm not sure how to
|
Hi @cpuschma Is there anyway I can help you reproduce the issue? Or cooperate to reproduce it? |
@iredmail Can you try and place several debugging statements (e.g. println, fmt.Println) before you
and prepend the current goroutine so we can know at what stage the routine starts to hang? Thank you |
Sure, new code below. Changes:
Result:
Sample output with pause:
Full code (main.go):
|
i cloned go-ldap/ldap and use local git clone by using
|
Above result was tested without running
|
By the way, |
Hi @cpuschma, could you help take a look? Thanks. :) |
Dear all,
I experienced some weird issue recently, it looks like some kind of locking inside ldap library but i'm not sure.
i prepared a code snippet to reproduce the issue, what it does is:
Expected result
The log messages on console are rolling without pause. It may be slightly slow if hardware spec is not that good, but it won't pause for X seconds (up to 60 seconds in my tests).
The real result
The log messages are rolling immediately right after launching the program, but it stops rolling shortly (and randomly) for X seconds, then it continues rolling. The pause may happens again and again randomly, and the pause interval is not always same (it could be 30 seconds, or 60 seconds, or X seconds).
How to use this code snippet
go mod init xxx
main.go
main.go
, updateuri
,bindDN
,bindPassword
,parentDN
with correct values for your testing LDAP server.go run .
The text was updated successfully, but these errors were encountered: