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

router_optimise freeze #357

Closed
msaf1980 opened this issue Feb 13, 2019 · 4 comments
Closed

router_optimise freeze #357

msaf1980 opened this issue Feb 13, 2019 · 4 comments

Comments

@msaf1980
Copy link
Contributor

msaf1980 commented Feb 13, 2019

carbon-c-relay freeze on load config (tested from master branch commit 0e77501. older versions also affected)

Stacktrace of interrupted program
(gdb) bt
#0 router_optimise (r=0x654200, threshold=50) at router.c:1629
#1 0x0000000000404e4d in main (argc=3, argv=0x7fffffffd588) at relay.c:834

1627 for (bwalk = blocks; bwalk != NULL; bwalk = blast) {
1628 if (bwalk->seqnr != seq) {
1629 seq++;
1630 blast = bwalk;
1631 continue;
1632 }

(gdb) p_v seq ; bwalk
"seq" = (long unsigned int) 247239617
"bwalk" = (block *) <0x7ffff7f8b6e8> { ptr = {
"pattern" = (char *) <0x7ffff7f8b728> { str_len:5 [0:399] = "STSOH" + \0 },
"hash" = (long unsigned int) 401,
"refcnt" = (long unsigned int) 2,
"seqnr" = (long unsigned int) 23,
"firstroute" = (route *) <0x7ffff7f898b0>,
"lastroute" = (route *) <0x7ffff7f89ba0>,
"prev" = (struct _block *) <0x7ffff7f8b690>,
"next" = (struct _block *) <0x7ffff7f8b788>,
} }

Config file
carbon-c-relay.txt

@grobian
Copy link
Owner

grobian commented Feb 13, 2019

thanks, I'll have a look at it

@msaf1980
Copy link
Contributor Author

Cycled link in linked list blocks ?

Breakpoint 3, router_optimise (r=0x654200, threshold=50) at router.c:1628
1628 if (bwalk->seqnr != seq) {
(gdb) p_v seq ; bwalk
"seq" = (long unsigned int) 24
"bwalk" = (block *) <0x7ffff7f8b730> { ptr = {
"pattern" = (char *) <0x7ffff7f8b770> { str_len:19 [0:399] = "emuloVknuhClacisyhp" + \0 },
"hash" = (long unsigned int) 1998,
"refcnt" = (long unsigned int) 1,
"seqnr" = (long unsigned int) 24,
"firstroute" = (route *) <0x7ffff7f89970>,
"lastroute" = (route *) <0x7ffff7f89970>,
"prev" = (struct _block *) <0x7ffff7f8b6e8>,
"next" = (struct _block *) <0x7ffff7f8b6e8>,
} }
(gdb) c
Continuing.

Breakpoint 3, router_optimise (r=0x654200, threshold=50) at router.c:1628
1628 if (bwalk->seqnr != seq) {
(gdb) p_v seq ; bwalk
"seq" = (long unsigned int) 24
"bwalk" = (block *) <0x7ffff7f8b6e8> { ptr = {
"pattern" = (char *) <0x7ffff7f8b728> { str_len:5 [0:399] = "STSOH" + \0 },
"hash" = (long unsigned int) 401,
"refcnt" = (long unsigned int) 2,
"seqnr" = (long unsigned int) 23,
"firstroute" = (route *) <0x7ffff7f898b0>,
"lastroute" = (route *) <0x7ffff7f89ba0>,
"prev" = (struct _block *) <0x7ffff7f8b690>,
"next" = (struct _block *) <0x7ffff7f8b788>,
} }

(gdb) c
Continuing.

Breakpoint 3, router_optimise (r=0x654200, threshold=50) at router.c:1628
1628 if (bwalk->seqnr != seq) {
(gdb) p_v seq ; bwalk
"seq" = (long unsigned int) 25
"bwalk" = (block *) <0x7ffff7f8b6e8> { ptr = {
"pattern" = (char *) <0x7ffff7f8b728> { str_len:5 [0:399] = "STSOH" + \0 },
"hash" = (long unsigned int) 401,
"refcnt" = (long unsigned int) 2,
"seqnr" = (long unsigned int) 23,
"firstroute" = (route *) <0x7ffff7f898b0>,
"lastroute" = (route *) <0x7ffff7f89ba0>,
"prev" = (struct _block *) <0x7ffff7f8b690>,
"next" = (struct _block *) <0x7ffff7f8b788>,
} }

On this step we going to forever loop
seq = 25
bwalk.seqnr = 23

@grobian
Copy link
Owner

grobian commented Feb 13, 2019

yeah, must be an infinite loop

@grobian
Copy link
Owner

grobian commented Feb 13, 2019

(just in case, you can disable the optimisation step using -O -1 should you be blocked by this issue)

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

2 participants