Chris-plus-alphanumericgibberish / dNAO

Merge of dnethack onto the nethack.alt.org sources.
Other
22 stars 29 forks source link

Light sources are broken in a variety of ways #251

Closed demogorgon22 closed 4 years ago

demogorgon22 commented 5 years ago

0 0x000055555572713a in panic (str=0x555555ccf32a "%s") at src/end.c:519

1 0x0000555555a0d9ce in impossible (s=0x555555caab60 "relink_light_sources: cant find %c_id %d") at src/pline.c:350

2 0x000055555577b70f in relink_light_sources (ghostly=0 '\000') at src/light.c:510

3 0x0000555555a7d947 in getlev (fd=7, pid=26651, lev=4, ghostly=0 '\000') at src/restore.c:964

4 0x0000555555692914 in goto_level (newlevel=0x7fffffffd87c, at_stairs=0 '\000', falling=0 '\000', portal=0 '\000') at src/do.c:1225

5 0x0000555555694605 in deferred_goto () at src/do.c:1655

6 0x0000555555b47a14 in level_tele () at src/teleport.c:1107

7 0x0000555555631135 in wiz_level_tele () at src/cmd.c:1352

8 0x0000555555652ebf in rhack (cmd=0x555555fc42a0 "\026") at src/cmd.c:5446

9 0x00005555555b2ad7 in moveloop () at src/allmain.c:2205

10 0x0000555555c58832 in main (argc=4, argv=0x7fffffffe3c8) at sys/unix/unixmain.c:296

(gdb) print *ls $3 = {next = 0x0, x = 0 '\000', y = 0 '\000', range = 1, flags = 2, type = 1, id = 0x0} Honestly I have no idea. There is also another issues here. impossible relink_light_sources: cant find m_id 991833 impossible maybe_write_ls: no id! [range=0] impossible save_light_sources: no id! [range=0] This can also an issue where lightsources end up off screen.

0 0x0000555555be913c in clear_path (col1=49, row1=23, col2=48, row2=20) at src/vision.c:1612

1612 q2_path(row1,col1,row2,col2,cleardone); (gdb) bt

0 0x0000555555be913c in clear_path (col1=49, row1=23, col2=48, row2=20) at src/vision.c:1612

1 0x000055555577b2a3 in do_light_sources (cs_rows=0x555555fdb700 ) at src/light.c:383

2 0x0000555555be62cd in vision_recalc (control=0) at src/vision.c:691

3 0x000055555591b4c5 in movemon () at src/mon.c:2057

4 0x000055555559f598 in moveloop () at src/allmain.c:824

5 0x0000555555c58851 in main (argc=4, argv=0x7fffffffe3e8) at sys/unix/unixmain.c:296

And another where

0 0x0000555555c37bfe in get_mon_location (mon=0xfaa7, xp=0x55555606aba8 "D\t\001", yp=0x55555606aba9 "\t\001", locflags=0) at src/zap.c:562

562 } else if (mon && !DEADMONSTER(mon) && mon->mx > 0 && (!mon->mburied || locflags)) { (gdb) bt

0 0x0000555555c37bfe in get_mon_location (mon=0xfaa7, xp=0x55555606aba8 "D\t\001", yp=0x55555606aba9 "\t\001", locflags=0) at src/zap.c:562

1 0x000055555577a4f8 in do_light_sources (cs_rows=0x555555fdb700 ) at src/light.c:152

2 0x0000555555be62cd in vision_recalc (control=0) at src/vision.c:691

3 0x0000555555a0cb83 in vpline (line=0x7fffffffbd30 "relink_light_sources: cant find m_id 63779", the_args=0x7fffffffc160) at src/pline.c:153

4 0x0000555555a0c9f4 in pline (line=0x555555ccf34a "%s") at src/pline.c:104

5 0x0000555555a0d9fa in impossible (s=0x555555caab80 "relink_light_sources: cant find %c_id %d") at src/pline.c:351

6 0x000055555577b731 in relink_light_sources (ghostly=0 '\000') at src/light.c:510

7 0x0000555555a7d966 in getlev (fd=6, pid=30749, lev=4, ghostly=0 '\000') at src/restore.c:964

8 0x0000555555692936 in goto_level (newlevel=0x7fffffffd89c, at_stairs=0 '\000', falling=0 '\000', portal=0 '\000') at src/do.c:1225

9 0x0000555555694627 in deferred_goto () at src/do.c:1655

10 0x0000555555b47a33 in level_tele () at src/teleport.c:1107

11 0x0000555555631157 in wiz_level_tele () at src/cmd.c:1353

12 0x0000555555652ee1 in rhack (cmd=0x555555fc42a0 "\026") at src/cmd.c:5447

13 0x00005555555b2ad7 in moveloop () at src/allmain.c:2205

14 0x0000555555c58851 in main (argc=4, argv=0x7fffffffe3e8) at sys/unix/unixmain.c:296

I dunno it crashes when you change levels and lightsources are the problem.

NeroOneTrueKing commented 4 years ago

We've made a lot of fixes to lightsource code since this bug report was made, and I am currently unable to reproduce the bugs. Please make a new issue if you still encounter any lightsource bugs on devel-3.19.0!