Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > VICE binary builds crashing randomly
2024-11-14 10:06
Grue

Registered: Dec 2001
Posts: 162
VICE binary builds crashing randomly

I have had a problem with Modern Vice builds crashing randomly on my computer for years.

I finally decided to build Vice for Windows myself with debugging enabled to see what was happening. To my surprise, Vice no longer crashes with—-enable-debug-gtk3ui —-enable-debug enabled.
Then I tried to build Vice without debug switches, and it crashed like before.

I don't know why it behaved like this on my computer. I know it works okay for some, but it would be nice if it got fixed so I don't have to use a debug build for my development needs.

I do have 5 game controllers connected, which is not common, I can imagine. I also currently have 4 displays active. Maybe this is why?

And no, I'm still unable to get the sf.net account working, so I won't open a ticket about it.
2024-11-14 10:31
Martin Piper

Registered: Nov 2007
Posts: 726
Memory differences between debug and release. Usually initialising variables or accessing freed memory.
Have you tried enabling CRT debug heap checking?
2024-11-14 10:37
Grue

Registered: Dec 2001
Posts: 162
I don't understand what that means, and frankly, I'm not interested in investing more time in this than I have to.
2024-11-14 16:18
chatGPZ

Registered: Dec 2001
Posts: 11390
Quote:
I'm not interested in investing more time in this

That's the main problem here

Someone who is using windows, and is interested in fixing this, needs to step up.
2024-11-14 16:40
Stone

Registered: Oct 2006
Posts: 172
I'm a Windows user and I would be willing to give it a go provided there was some likelyhood that I could reproduce the problem or had some idea in what part of the code the problem was.

>I do have 5 game controllers connected, which is not common, I can imagine. I also currently have 4 displays active. Maybe this is why?

Have you tried different permutations of this setup?

Can you run it under a debugger and produce backtraces in some form, of the running threads?
2024-11-14 16:56
Martin Piper

Registered: Nov 2007
Posts: 726
Quote: I don't understand what that means, and frankly, I'm not interested in investing more time in this than I have to.

If you're using MSVC to compile, it can catch memory block issues quickly, often showing what block has a problem and where it was allocated/freed/accessed.

Look for: _CRTDBG_CHECK_ALWAYS_DF

https://learn.microsoft.com/en-us/cpp/c-runtime-library/referen..
2024-11-14 16:59
Grue

Registered: Dec 2001
Posts: 162
I'm sorry but I dont have an idea what causes this, its been bugging on me for years. Naturally I have been iterating on this, it works on on my laptop but on this desktop. Thats all I can say for sure.

Currently build with msys2 takes an hour, ~25mins for the configure script to finish and rest of the time for the actual build.
I don't have enough patience to work on that kind of process.

I don't know anything about coding on modern computers or using other debuggers than retrodebugger which also crashes randomly on my computer as it uses old build of vice for the commodore 64 magic.

I got kicked out of #vice-dev some time ago so, I guess someone with access to sf.net can help you :)
2024-11-14 16:59
chatGPZ

Registered: Dec 2001
Posts: 11390
There is no MSVC involved here, we dropped that ages ago
2024-11-14 17:10
Martin Piper

Registered: Nov 2007
Posts: 726
Quote: I'm sorry but I dont have an idea what causes this, its been bugging on me for years. Naturally I have been iterating on this, it works on on my laptop but on this desktop. Thats all I can say for sure.

Currently build with msys2 takes an hour, ~25mins for the configure script to finish and rest of the time for the actual build.
I don't have enough patience to work on that kind of process.

I don't know anything about coding on modern computers or using other debuggers than retrodebugger which also crashes randomly on my computer as it uses old build of vice for the commodore 64 magic.

I got kicked out of #vice-dev some time ago so, I guess someone with access to sf.net can help you :)


When I build Vice or its associated tools, I tend to convert the build to MSVC. It doesn't take long to do that, it uses a much better compiler, and it adds a whole bunch of debugging support which helps find problems exactly like this. To be honest the Vice team did a very wrong decision when moving to another compiler on Windows.
2024-11-14 17:25
chatGPZ

Registered: Dec 2001
Posts: 11390
MSVC being a better C compiler is a funny idea :) I very much doubt any recent version of the source still builds with MSVC either - since we removed all the MSVC specific hacks/ifdefs that were needed to make this possible (because of the superior compiler) many years ago.

In any case, this babble doesn't help. Whoever steps up to look at this surely doesn't need someone to tell him how to debug.
2024-11-14 19:58
Danzig

Registered: Jun 2002
Posts: 440
First and for all we need Grue to remove the 5 controllers and use just 1 display - to check if that is of any cause or not.

just that desktop, plain mouse, keyboard, 1 display and run vice. still wrecking? yes/no.

I have seen proprietary c/cpp compilers even creating "working" release builds that should not even start :-D

once an apprentice in our company had a task from school: build a tic-tac-toe printing to the console. it worked with the companies bought famous compiler - but he had to use gcc - it was not even starting. 5 colleagues standing around not understanding why - cursing gcc :-D

when I saw the little crowd I asked them what's the matter. They showed me. I showed them the missing memory initialisation, still puzzled to this day how that expensive bs-compiler could generate a running program for that.
and it was NOT MSVC :-D the apprentice fixed it and it worked correctly on gcc.
2024-11-14 20:02
Danzig

Registered: Jun 2002
Posts: 440
Quote: First and for all we need Grue to remove the 5 controllers and use just 1 display - to check if that is of any cause or not.

just that desktop, plain mouse, keyboard, 1 display and run vice. still wrecking? yes/no.

I have seen proprietary c/cpp compilers even creating "working" release builds that should not even start :-D

once an apprentice in our company had a task from school: build a tic-tac-toe printing to the console. it worked with the companies bought famous compiler - but he had to use gcc - it was not even starting. 5 colleagues standing around not understanding why - cursing gcc :-D

when I saw the little crowd I asked them what's the matter. They showed me. I showed them the missing memory initialisation, still puzzled to this day how that expensive bs-compiler could generate a running program for that.
and it was NOT MSVC :-D the apprentice fixed it and it worked correctly on gcc.


And NO, not blaming the vice-team for grues problems with that post :-D it was about proprietary compilers and how they can suck.
2024-11-15 05:41
Grue

Registered: Dec 2001
Posts: 162
Quoting Danzig
First and for all we need Grue to remove the 5 controllers and use just 1 display - to check if that is of any cause or not.
just that desktop, plain mouse, keyboard, 1 display and run vice. still wrecking? yes/no.


If it would be that simple, this report would have been quite different. As I said, this has been bugging me for years and I have tried everything I can think of, and, I can think alot, some say too much ;)
2024-11-15 06:56
Grue

Registered: Dec 2001
Posts: 162
I just remembered that I saw -o3 as cflags on build, I cannot remember if there was any other optimizations defined.

~20 years ago when I was a enthuastic gentoo linux user, I remember that using too much compiler optimization wasn't too good idea in the long run.
I guess I can try that much, I mean to compile it without --debugs using -o2 and see what happens.

Compilers have come a long way in 20 years I'm sure, but...
2024-11-15 07:59
Stryyker

Registered: Dec 2001
Posts: 468
https://learn.microsoft.com/en-us/windows/win32/wer/collecting-.. may allow you to create a crash dump then someone else can alayse
2024-11-15 19:02
chatGPZ

Registered: Dec 2001
Posts: 11390
I'm pretty sure this is a race condition somewhere, which is why none of "us" can reproduce it (with our crap PCs =P). Burglar had weird crashes on his monster machine as well in the past - on Linux even.

However if no one steps up to have a look, nor people are willing to spend time on testing - or even properly report bugs... oh well
2024-11-15 19:47
Grue

Registered: Dec 2001
Posts: 162
Quote: I'm pretty sure this is a race condition somewhere, which is why none of "us" can reproduce it (with our crap PCs =P). Burglar had weird crashes on his monster machine as well in the past - on Linux even.

However if no one steps up to have a look, nor people are willing to spend time on testing - or even properly report bugs... oh well


35min+ has passed running on GDB, and it hasn't even managed to open the main window yet.

with tools like msys2 this is pointless.
2024-11-15 20:12
chatGPZ

Registered: Dec 2001
Posts: 11390
Well, process creation and dynamic linking in Windows is hilariously slow - that's the main problem here. (It's also why configure takes forever in msys)

I'd try if the problem exists in the SDL build as well first - since that should start up much faster (because it doesn't link to god knows what)
2024-11-16 00:03
chatGPZ

Registered: Dec 2001
Posts: 11390
i somehow managed to produce this:

(x64sc.exe:9972): GLib-GIO-ERROR **: 23:00:25.168: No GSettings schemas are installed on the sys
tem

Thread 1 received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffe53a0b80b in ?? () from /mingw64/bin/libglib-2.0-0.dll
(gdb) bt
#0  0x00007ffe53a0b80b in ?? () from /mingw64/bin/libglib-2.0-0.dll
#1  0x00007ffe53a0b8e7 in ?? () from /mingw64/bin/libglib-2.0-0.dll
#2  0x00007ffe53a0bc81 in ?? () from /mingw64/bin/libglib-2.0-0.dll
#3  0x00007ffe53a0c048 in ?? () from /mingw64/bin/libglib-2.0-0.dll
#4  0x00007ffe538c0fff in ?? () from /mingw64/bin/libgio-2.0-0.dll
#5  0x00007ffe5864ce0c in ?? () from /mingw64/bin/libgobject-2.0-0.dll
#6  0x00007ffe5864e8d5 in ?? () from /mingw64/bin/libgobject-2.0-0.dll
#7  0x00007ffe58650d5b in ?? () from /mingw64/bin/libgobject-2.0-0.dll
#8  0x00007ffe58651084 in ?? () from /mingw64/bin/libgobject-2.0-0.dll
#9  0x00007ff62e360cf2 in ui_init ()
    at C:/Users/groepaz/Desktop/c64/vice/trunk/vice/src/arch/gtk3/ui.c:2174
#10 0x00007ff62e15f306 in main_program (argc=<optimized out>, argc@entry=3,
    argv=argv@entry=0x622440) at C:/Users/groepaz/Desktop/c64/vice/trunk/vice/src/main.c:409
#11 0x00007ff62e408a04 in main (argc=3, argv=0x622440)
    at C:/Users/groepaz/Desktop/c64/vice/trunk/vice/src/arch/gtk3/gtk3main.c:70


This is after building and running directly from the tree like this:

gdb -args ./src/x64sc -directory ./data

It works fine when i start without gdb though, so this may or may not be the problem you are seeing
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
tlr
Hok/Remember
Nuckhead/Backbone So..
kbs/Pht/Lxt
Twoflower/ΤRIΛD
anonym/padua
codise
/Panor..
Asphodel
Guests online: 128
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.6)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 The Demo Coder  (9.6)
8 Comaland 100%  (9.6)
9 Wonderland XIV  (9.6)
10 What Is The Matrix 2  (9.6)
Top onefile Demos
1 Layers  (9.7)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 Morph  (9.5)
7 Dawnfall V1.1  (9.5)
8 Libertongo  (9.5)
9 Katzen-Video.mp4  (9.5)
10 Onscreen 5k  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Fairlight  (9.3)
5 Triad  (9.3)
Top Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 Veto  (9.6)
4 The Sarge  (9.6)
5 Facet  (9.5)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.077 sec.