Code Monkey home page Code Monkey logo

Comments (9)

rofl0r avatar rofl0r commented on September 4, 2024 1

thanks, the output was helpful. the issue was caused because your toolchain seems to default to create position-independent-executables (PIE). i was able to reproduce it and develop a fix.

from arnold.

Chouzinho avatar Chouzinho commented on September 4, 2024

The same happens to me in Lubuntu 20.04. It works for cpc classic, but when I start the 6128 plus emulation, it crashes and gives a "segmentation fault"

from arnold.

rofl0r avatar rofl0r commented on September 4, 2024

thanks for the report. i suspect it is due to some undefined behavior exploited by newer gcc versions. you could try with an older gcc (for example if the binary is called gcc-6.4.0 run configure like CC=gcc-6.4.0 ./configure).
also it would be interesting to see the warnings emitted by the gcc you use (run make >/dev/null 2>log.txt to get a file called log.txt containing all the warnings) so we can fix that.

from arnold.

cpcbegin avatar cpcbegin commented on September 4, 2024

I change configure as you want and I get the same error.
Now I'm trying with Ubuntu 20.04.

from arnold.

rofl0r avatar rofl0r commented on September 4, 2024

and, are there any warnings ? also each segfault report should be accompanied by a backtrace, produced by running the executable (optimally built with debug info) with gdb and typing bt when the segfault happens.

from arnold.

rofl0r avatar rofl0r commented on September 4, 2024

i just fixed the only crash that happened for me, but cpc+ setting seems to work fine.

from arnold.

cpcbegin avatar cpcbegin commented on September 4, 2024

No, the emulator stop working as you can see in this short video.
arnold-stop-working-2020-11-25_00-06-14

from arnold.

rofl0r avatar rofl0r commented on September 4, 2024

ok, could you run gdb --args ./arnold instead, then hit "r" enter, wait for the crash, then type "bt" enter and show me the backtrace ?

from arnold.

cpcbegin avatar cpcbegin commented on September 4, 2024
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./arnold...
(gdb) r
Starting program: /opt/linuxemus/arnoldrofl0r/src/arnold 
[Depuración de hilo usando libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Arnold Emulator (c) Kevin Thacker
Linux Port maintained by Andreas Micklei
----------------------------------------------------------
Compiled in ROMS:
  Amsdos    : 5559d010 to 555a1010, 1431666688 (0x55558000) bytes
  464   OS   : 555a1010 to 555a5010, 1431666688 (0x55558000) bytes
  464   Basic: 555a5010 to 555a9010, 1431666688 (0x55558000) bytes
  664   OS   : 555a9010 to 555ad010, 1431666688 (0x55558000) bytes
  664   Basic: 555ad010 to 555b1010, 1431666688 (0x55558000) bytes
  6128  OS   : 555b1010 to 555b5010, 1431666688 (0x55558000) bytes
  6128  Basic: 555b5010 to 555b9010, 1431666688 (0x55558000) bytes
  6128s OS   : 555b9010 to 555bd010, 1431666688 (0x55558000) bytes
  6128s Basic: 555bd010 to 555c1010, 1431666688 (0x55558000) bytes
  plus  Cart : 555c1010 to 555e1064, 1431781460 (0x55574054) bytes
  kcc   OS   : 555e1064 to 555e5064, 1431666688 (0x55558000) bytes
  kcc   Basic: 555e5064 to 555e9064, 1431666688 (0x55558000) bytes
----------------------------------------------------------
Opening /home/bobu/.arnold
Parsing /home/bobu/.arnold
tape: (null)
kbdtype: -1
[Nuevo Thread 0x7ffff19cd700 (LWP 5352)]
set_hwparams
Unable to set periods 2 for playback: Invalid argument
Setting of hwparams failed: Invalid argument
alsa_AudioPlaybackPossible(void): 0
/dev/dsp: No such file or directory
oss_AudioPlaybackPossible(void): 0
soundplugin: 0 (NONE)
Initializing SDL
[Nuevo Thread 0x7ffff11cc700 (LWP 5353)]
[Nuevo Thread 0x7fffdbfff700 (LWP 5354)]
[Thread 0x7fffdbfff700 (LWP 5354) terminado]
sdl_InitialiseKeyboardMapping(0)
Found 0 Joysticks
Initializing GTK+
[Nuevo Thread 0x7fffdbfff700 (LWP 5355)]
[Nuevo Thread 0x7fffdff36700 (LWP 5356)]
[Nuevo Thread 0x7fffdf735700 (LWP 5357)]
[Nuevo Thread 0x7fffdeee6700 (LWP 5358)]
Audio: 1
Joysticks: 1
Could not open /dev/console: Permiso denegado
Keyboard LED flashing will be disabled.
Opening window with resolution 384*272*0
BPP: 32
Red: M: 00ff0000 B: 8 S: 16
Green: M: 0000ff00 B: 8 S: 8
Blue: M: 000000ff B: 8 S: 0
Initialised CPC Emulation Core...
Initialised Audio...
Choose cpctype CPC 6128+ (5)

Thread 1 "arnold" received signal SIGSEGV, Segmentation fault.
0x0000555555578b43 in Z80_RD_OPCODE_BYTE (Offset=<optimized out>)
    at cpc/z80/z80.c:9782
9782	switch (Opcode)
(gdb) bt
#0  0x0000555555578b43 in Z80_RD_OPCODE_BYTE (Offset=<optimized out>)
    at cpc/z80/z80.c:9782
#1  Z80_ExecuteInstruction () at cpc/z80/z80.c:9780
#2  0x000055555556ae55 in Debugger_Execute () at cpc/debugger/gdebug.c:152
#3  0x0000555555559c05 in CPCEmulation_Run () at cpc/arnold.c:344
#4  0x0000555555586f51 in idlerun (data=<optimized out>) at unix/gtkui.c:820
#5  0x00007ffff7a0fe8e in g_main_context_dispatch ()
    at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007ffff7a10240 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff7a10533 in g_main_loop_run ()
    at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007ffff7c82092 in gtk_main ()
    at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#9  0x000055555558865b in gtkui_run () at unix/gtkui.c:859
#10 0x0000555555584d95 in init_main (argc=1, argv=0x7fffffffdff8)
    at unix/main.c:461
#11 0x0000555555559980 in main (argc=1, argv=0x7fffffffdff8) at unix/main.c:169
(gdb) 

from arnold.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.