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

panic: pthread_mutex_lock: Resource deadlock avoided #26

Closed
alvin1221 opened this issue Mar 14, 2022 · 1 comment
Closed

panic: pthread_mutex_lock: Resource deadlock avoided #26

alvin1221 opened this issue Mar 14, 2022 · 1 comment
Labels
bug Something isn't working invalid This doesn't seem right

Comments

@alvin1221
Copy link
Contributor

alvin1221 commented Mar 14, 2022

Describe the bug
Resource deadlock avoided.

Expected behavior

Actual Behavior

To Reproduce
start nanomq

nanomq broker start  --bridge ./nanomq_bridge.conf -n 128 -S 1024

emqtt_bench

emqtt_bench pub -h "192.168.23.105" -p 1883  -t "topic1/2" -s 2 -i 10 -I 10 -c 300 -q 2 -V 4 -L 500000

** Environment Details **

  • NNG version
  • Operating system and version
  • Compiler and language used
  • Shared or static library

Additional context

  • crash log:
panic: pthread_mutex_lock: Resource deadlock avoided
This message is indicative of a BUG.
Report this at https://github.com/nanomq/nanomq
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(nni_show_backtrace+0xb8) [0x55555561cefb]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(nni_panic+0x1ca) [0x55555561d209]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0xde270) [0x555555632270]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(nni_plat_mtx_unlock+0x1c) [0x55555563240a]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(nni_mtx_unlock+0x1c) [0x555555629fbd]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0xe2780) [0x555555636780]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0xd4fa0) [0x555555628fa0]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0xd620d) [0x55555562a20d]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0xde9f3) [0x5555556329f3]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x9590) [0x7ffff75c4590]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7ffff74ba223]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(nni_show_backtrace+0xb8) [0x55555561cefb]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(nni_panic+0x1ca) [0x55555561d209]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0xde22a) [0x55555563222a]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(nni_plat_mtx_lock+0x1c) [0x5555556323eb]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(nni_mtx_lock+0x1c) [0x555555629f9e]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0x12bf3f) [0x55555567ff3f]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0x12d9f0) [0x5555556819f0]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0xd4fa0) [0x555555628fa0]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0xd620d) [0x55555562a20d]
/home/alvin/projects/emqx/nanomq/build/nanomq/nanomq(+0xde9f3) [0x5555556329f3]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x9590) [0x7ffff75c4590]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7ffff74ba223]
  • nanomq_bridge.conf:
##====================================================================
## Configuration for MQTT Broker Bridge
##====================================================================

## Bridge address: host:port .
##
## Value: String
## Example: mqtt-tcp://127.0.0.1:1883
bridge.mqtt.address=mqtt-tcp://192.168.23.105:1885

## Protocol version of the bridge.
##
## Value: Enum
## - 5: mqttv5
## - 4: mqttv4
## - 3: mqttv3
bridge.mqtt.proto_ver=4

## Whether to enable bridge mode for mqtt bridge
##
## This option is prepared for the mqtt broker which does not
## support bridge_mode such as the mqtt-plugin of the rabbitmq
##
## Value: boolean
bridge.mqtt.bridge_mode=true

## The ClientId of a remote bridge.
##
## Placeholders:
##  ${node}: Node name
##
## Value: String
#bridge.mqtt.clientid=bridge_client

## Ping interval of a down bridge.
##
## Value: Duration
## Default: 10 seconds
bridge.mqtt.keepalive=60

## The Clean start flag of a remote bridge.
##
## Value: boolean
## Default: true
##
## NOTE: Some IoT platforms require clean_start
##       must be set to 'true'
bridge.mqtt.clean_start=true

## The username for a remote bridge.
##
## Value: String
bridge.mqtt.username=username

## The password for a remote bridge.
##
## Value: String
bridge.mqtt.password=passwd

## Topics that need to be forward to IoTHUB
##
## Value: String
## Example: topic1/#,topic2/#
bridge.mqtt.forwards=topic1/#,topic2/#

## Need to subscribe to remote broker topics
##
## Value: String
bridge.mqtt.subscription.1.topic=cmd/topic1

## Need to subscribe to remote topics QoS.
##
## Value: Number
bridge.mqtt.subscription.1.qos=1

## Need to subscribe to remote broker topics
##
## Value: String
bridge.mqtt.subscription.2.topic=cmd/topic2

## Need to subscribe to remote topics QoS.
##
## Value: Number
bridge.mqtt.subscription.2.qos=2

## parallel
## Handle a specified maximum number of outstanding requests
##
## Value: 1-infinity
bridge.mqtt.parallel=4
@alvin1221 alvin1221 added the invalid This doesn't seem right label Mar 14, 2022
@JaylinYu JaylinYu added the bug Something isn't working label Mar 15, 2022
@JaylinYu
Copy link
Member

this issue belongs to nanonng

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

2 participants