Re: [hatari-devel] logging segfault (was: another one I have since a long time)

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi Laurent,

With your config I'm able to reproduce the segfault. My patch did not have impact on it. Will look into it now.


	- Eero

On 23.9.2023 19.26, Eero Tamminen wrote:
Hi Laurent,

Thanks for the config!  I didn't have time to try it yet, but from reading the code, I noticed potential for stale FP usage in message repeat handling during Hatari startup.

Attached patch should fix that.  Does it get rid of the crash?


     - Eero

On 23.9.2023 19.10, Laurent Sallafranque wrote:
Hi Eero,

Yes, I can still reproduce the bug.
Here are my files, attached to this mail.

I run hatari just by doing ./hatari   (no extra commands)
I wait until hatari reach the Falcon desktop.

Then, I open the GUI and I change :
In System, I change:
    - Machine type :  ST
    - Video timing : no change
    - Falcon DSP : None
    - Blitter, Patch timer-D and boot faster are left unchanged (and not checked)

In CPU, I change:
    - CPU type : 68000
    - CPU Clock : 8 Mhz
    - FPU : None
    in CPU emulation parameters, I only uncheck MMU emulation, I leave the other parameters checked

In ROM, I select the TOS 1.04 fr
In memory, I just change the memory setup to 512 kb

And that's all. I don't save the changes, I just click on Reset Machine and I get the "Core dump"

If I do the same (ie start from falcon mode, apply all the changes, but save the conf to hatari.cfg and then click to reset, I get the core dump, but when I restart hatari (./hatari), it starts well in ST mode.

The core dumps appears only when I want to switch from falcon to ST mode "on the fly".

To be noticed: if I start in STf mode and try to switch to falcon mode on the fly, it runs well.


I've attached my hatari.conf file and my French 1.04 TOS (in case of).


Don't hesitate to ask for more tests or file if needed.

Regards
Laurent








Le 23/09/2023 à 17:22, Eero Tamminen a écrit :
Hi Laurent,

On 23.9.2023 1.08, Laurent Sallafranque wrote:
Hi again ,)

Another bug I encounter since ages. I don't remember if I already told you about it.


It's about running hatari in falcon mode and reconfigure it to run in ST mode.

I go to the GUI, set computer=ST, memory 520ko, CPU=68000, no FPU, TOS=1.04, ....

I get core dump.

I'm not able to reproduce this, either when Falcon mode is set in Hatari config, or from command line.  Switching to ST mode at run time works fine for me in both cases. Address Sanitizer does not report anything either.

Can you still reproduce it with latest Hatari Git version?   If yes, could you send your Hatari config (hatari.cfg), and built config (CMakeCache.txt) files to me?


    - Eero

Here is the trace I get if this can help.

Regards

Laurent


Reading symbols from hatari...
(gdb) r
Starting program: /home/laurent/Atari/hatari/build/src/hatari
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". INFO : Hatari v2.5.0-devel (Sep 22 2023), compiled on:  Sep 22 2023, 23:34:49

[New Thread 0x7ffff5f1f640 (LWP 16925)]
[New Thread 0x7fffe2c59640 (LWP 16926)]
INFO : GEMDOS HDD emulation, C: <-> /media/Toshiba/Data_Laurent/Jeux/Atari/DiskDur.FAL.
[New Thread 0x7fffe1449640 (LWP 16927)]

Thread 1 "hatari" received signal SIGSEGV, Segmentation fault.
__GI__IO_fputs (str=str@entry=0x55555695aff0 <MsgState+16> '\201' <repeats 200 times>..., fp=fp@entry=0x8181818181818181) at ./libio/iofputs.c:36
36    ./libio/iofputs.c: Aucun fichier ou dossier de ce type.
(gdb)
(gdb) bt
#0  __GI__IO_fputs (str=str@entry=0x55555695aff0 <MsgState+16> '\201' <repeats 200 times>...,
     fp=fp@entry=0x8181818181818181) at ./libio/iofputs.c:36
#1  0x0000555556082070 in printPendingMsgRepeat (fp=fp@entry=0x8181818181818181)
     at /home/laurent/Atari/hatari/src/debug/log.c:276
#2  0x0000555556082365 in addMsgRepeat (fp=0x8181818181818181,
     line=line@entry=0x7ffffffbb4e0 "DEBUG: Loaded TOS version 1.04, starting at $fc0000, country code = 2, PAL\n") at /home/laurent/Atari/hatari/src/debug/log.c:302
#3  0x00005555560826fa in Log_Printf (nType=nType@entry=LOG_DEBUG,
     psFormat=psFormat@entry=0x5555560ae4f0 "Loaded TOS version %i.%c%c, starting at $%x, country code = %i, %s\n") at /home/laurent/Atari/hatari/src/debug/log.c:398 #4  0x000055555574acf8 in TOS_InitImage () at /home/laurent/Atari/hatari/src/tos.c:1145 #5  0x000055555573c416 in Reset_ST (bCold=bCold@entry=true) at /home/laurent/Atari/hatari/src/reset.c:61 #6  0x000055555573c59a in Reset_Cold () at /home/laurent/Atari/hatari/src/reset.c:139 #7  0x000055555570d903 in Change_CopyChangedParamsToConfiguration (current=current@entry=0x7ffffffbb7a0,      changed=<optimized out>, bForceReset=<optimized out>) at /home/laurent/Atari/hatari/src/change.c:504 #8  0x000055555570fa96 in Dialog_DoProperty () at /home/laurent/Atari/hatari/src/dialog.c:70 #9  0x0000555555745d88 in ShortCut_ActKey () at /home/laurent/Atari/hatari/src/shortcut.c:297 #10 0x0000555555751aab in Video_InterruptHandler_VBL () at /home/laurent/Atari/hatari/src/video.c:4630 #11 0x000055555570f72b in CycInt_CallActiveHandler (Clock=<optimized out>)
     at /home/laurent/Atari/hatari/src/cycInt.c:799
#12 0x000055555578aa7f in CycInt_Process_stop (stop_cond=0)
     at /home/laurent/Atari/hatari/src/includes/cycInt.h:141
#13 m68k_run_mmu030 () at /home/laurent/Atari/hatari/src/cpu/newcpu.c:6594
#14 0x000055555578c407 in m68k_go (may_quit=may_quit@entry=1)
     at /home/laurent/Atari/hatari/src/cpu/newcpu.c:7796
#15 0x0000555555730461 in M68000_Start () at /home/laurent/Atari/hatari/src/m68000.c:307 #16 0x0000555555731df0 in main (argc=<optimized out>, argv=<optimized out>)
     at /home/laurent/Atari/hatari/src/main.c:983
(gdb)









Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/