larsiusprime / crashdumper Goto Github PK
View Code? Open in Web Editor NEWA cross-platform automated crash report generator/sender for Haxe/OpenFL apps.
License: MIT License
A cross-platform automated crash report generator/sender for Haxe/OpenFL apps.
License: MIT License
Once you have fixed an error, you can mark it as fixed from the top-level view. If you do, then the error will be hidden by default, and further reports of the same error will be ignored unless they originate from a version more recent than your fix version. (Oops! Maybe it wasn't so fixed after all.)
I had this happen just now, but the main listing with New / Reopened / In progress selected shows nothing. If I show "Fixed" it appears, and clicking for further detail, it shows that only the most recent one is from version 0.2.0, whereas the earlier ones (including where it was marked Fixed) were from version 0.1.9. Therefore this one should be showing on the main listing (I think with Reopened selected, that should be doing it?)
This is too bad...maybe one of the handiest features!
(With PR #24 applied, otherwise I get errors)
It comes up as just 'file.PHP'...if it were to download as the original filename, the OS or browser could probably guess the type, that way if you include screenshots you don't need to tell it every time which program to use.
Warning: date(): It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.
I'm not a PHP guy but this 'warning' causes nothing to be displayed in the browser grid. Calling this
date_default_timezone_set('America/Los_Angeles');
at the top of grid.php solved the issue.
This is with PR #24 applied.
I am using openfl 3.3.9, I've opened the log file, but it has no lines number nor stack, I tried to both release and debug build, I've included both of:
<haxedef name="HXCPP_STACK_LINE" />
<haxedef name="HXCPP_STACK_TRACE" />
Thanks for great extension, I think it might need minor fix? I am haxe 3.2.1
On Neko the example works perfectly, but on Windows the example doesn't save anything. I inserted a trace statement in the onErrorEvent, but it isn't executed. I'm guessing that the default windows 7 "Example.exe has stopped working" popup blocks the onErrorEvent callback from executing.
System info:
SystemData.hx:56: SystemData
{
OS : Windows 7 SP1
RAM: 8387768 KB (8 GB)
CPU: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
GPU: ATI Radeon HD 3400 Series, driver v. 8.970.100.1100
}
Hi just used crashdumper and I got this issue while compiling
> Executing task: lime build html5 --connect 6000 <
C:/HaxeToolkit/haxe/lib/lime/7,6,3/src/lime/graphics/opengl/GLBuffer.hx:16: characters 20-40 : You cannot access the js package while in a macro (for js.html.webgl.Buffer)
C:/HaxeToolkit/haxe/lib/lime/7,6,3/src/lime/_internal/backend/native/NativeCFFI.hx:4: characters 8-37 : referenced here
C:/HaxeToolkit/haxe/lib/lime/7,6,3/src/lime/graphics/Image.hx:7: characters 8-48 : referenced here
C:/HaxeToolkit/haxe/lib/lime/7,6,3/src/lime/ui/Window.hx:5: characters 8-27 : referenced here
C:/HaxeToolkit/haxe/lib/lime/7,6,3/src/lime/graphics/RenderContext.hx:4: characters 8-22 : referenced here
C:/HaxeToolkit/haxe/lib/lime/7,6,3/src/lime/app/Application.hx:3: characters 8-35 : referenced here
src/crashdumper/hooks/openfl/HookOpenFL.hx:6: characters 9-29 : referenced here
src/crashdumper/hooks/Util.hx:2: characters 8-43 : referenced here
src/crashdumper/hooks/openfl/HookOpenFL.hx:61: characters 16-53 : referenced here
The terminal process terminated with exit code: 1
haxe libraries:
actuate: [1.8.9]
box2d: [1.2.3]
hxcpp: [4.0.64]
layout: [1.2.1]
lime-samples: [7.0.0]
lime: [7.6.3]
openfl-samples: [8.7.0]
openfl: [8.9.5]
starling: [2.5.1]
IDE: VS Code but same issues with Haxe Develop
Windows 10 64 bit
Thanks!
Since the report directory is hardcoded to ../report
in the api/details.php
call, the details won't ever appear if the report directory differs from the default.
https://github.com/larsiusprime/crashdumper/blob/master/servers/crashdumpbrowser/api/detail.php#L26
Fix :
switch all instances of ../report
in details.php
with REPORT_DIR
defined in
https://github.com/larsiusprime/crashdumper/blob/master/servers/crashdumpbrowser/includes/constants.inc.php#L5
Even with 3 reports in, the table is empty. Turns out the fetched file has errors:
<br />
<b>Warning</b>: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference, value given in <b>.../crashdumpbrowser/includes/db.inc.php</b> on line <b>344</b><br />
{"col1":"<input type=\"checkbox\"\/>","col2":"<select><option value=\"\">Select...<\/option><option value=\"1\">Move to In Progress<\/option><option value=\"2\">Move to Fixed<\/option><option value=\"4\">Move to Won't Fix<\/option><option value=\"3\">Move to Reopened<\/option><option value=\"5\">Mark as Duplicate...<\/option><\/select>","rows":[],"total":0,"page":0,"perPage":50}
Ah, this would actually be caused by my PR #24 but without it, it also crashes on that line due to deprecated usage.
It seems ERROR_PROJECTNAME
in the php server is by default set to game id
which the client never sends
Since strlen($project)
returns 0, the error never gets submitted
What worked in my case was changing the value to "package"
define("ERROR_PROJECTNAME", "package");
Currently to disable writing error log to file you have to manually edit CrashDumper.hx:doErrorStuff
parameters. No api provided to change either writeToFile
, sendToServer
or traceToLog
.
is it supported
I'm getting reports from some users that the .bat files called by SystemData (on windows) are causing applications compiled with CrashDumper to crash on startup.
Ie, somewhere in here:
https://github.com/larsiusprime/crashdumper/blob/master/crashdumper/SystemData.hx#L58
At first I thought it might be b/c the users were on different locales than me (French, Portuguese, etc), but the output seems to be the same, or at least have no effect. I had them copy/paste the batch file output and I entered it myself and could not reproduce.
I'm wondering if it's a more general problem with making sys.io.Process calls -- these are apparently somewhat dangerous commands that can have unexpected results that lead to the program hanging or crashing. Is there any way to wrap them "safely?" Try/catch blocks don't seem to do anything.
Trying to implement this in my own project. It's successfully tracing the crash I have set up, but I get an EOF error afterwards. I'm using HaxeDevelop on windows 10, no other added haxelibs used other than openFL and actuate.
CrashDumper.hx:138: onError(EOF) Called from hxcpp::__hxcpp_main Called from ApplicationMain::main ApplicationMain.hx line 78 Called from ApplicationMain::create ApplicationMain.hx line 110 Called from lime.app.Application::exec lime/app/Application.hx line 218 Called from lime._backend.native.NativeApplication::exec lime/_backend/native/NativeApplication.hx line 145 Called from lime._backend.native.NativeApplication::handleMouseEvent lime/_backend/native/NativeApplication.hx line 389 Called from lime.app._Event_Float_Float_Void::dispatch lime/_macros/EventMacro.hx line 101 Called from openfl.display.Stage::addWindow openfl/display/Stage.hx line 242 Called from openfl.display.Stage::onMouseMove openfl/display/Stage.hx line 531 Called from openfl.display.Stage::__handleError openfl/display/Stage.hx line 1238 Called from openfl.events.EventDispatcher::dispatchEvent openfl/events/EventDispatcher.hx line 97 Called from openfl.events.EventDispatcher::__dispatchEvent openfl/events/EventDispatcher.hx line 218 Called from crashdumper.CrashDumper::onErrorEvent crashdumper/CrashDumper.hx line 192
The readme says "By default will write to your program's own directory", but I found it actually writes to SystemPath.applicationStorageDirectory
. Made me think for a long time it wasn't working!
Versions:
Haxe: 4.1.5
OpenFL: 9.1.0
CrashDumper: git
CPU: Name=Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
GPU: Name=NVIDIA GeForce GTX 1070,DriverVersion=27.21.14.6611
Mem: TotalVisibleMemorySize=16734280
OS: Microsoft Windows [Version 10.0.19042.1165]
Steps to reproduce:
lime build windows -debug
with the above library versions.Expected behavior: The program should crash and a log file should be generated.
Actual behavior: The log folder is not created.
Hi, I made a quick way to e-mail crash reports for windows. I tried coding the e-mail part in Haxe, but I couldn't get it to work so I decided to use an external .exe to send the e-mail. I used mailsend: https://github.com/muquit/mailsend
Mailsend works on Mac, Linux, and Windows, it's just a matter of selecting the right binary. In my version I use Windows, but it could be fixed to work with any OS.
https://gist.github.com/Ohmnivore/30114143c40d60be72fd
my additions can be found if you look for sub, msg, and sendMail
I'm aware this is a bad solution, but until someone figures out how to send e-mail with Haxe that's what I'm gonna use.
Cheers!
CrashDumper needs to be able to send the crash dumps somewhere useful, ie, to the developer.
Requirements:
I figure having the server-side script would be useful to people, too. I suppose we could write this bit in Haxe as well if we can output it to a ubiquitous server-side language like PHP? Then again I'm not picky, if someone just knows how to do this in raw PHP (or whatever the kids are using these days) that's cool with me.
The CrashDumper browser is looking for 'game id' in the zip file being posted by crashdumper. This value never gets set in my setup, therefore crash dumps are never recorded in the db.
I'm trying to lime test mac a project that includes crashdumper and it's giving me this error -
Error: Could not find asset path "/usr/lib/haxe/lib/crashdumper/git/assets/native_apps/mac"
crashdumper is showing up in my haxelib list (crashdumper: git [dev:/usr/lib/haxe/lib/crashdumper/git]). looking at the native_apps folder, I see a linux and windows folder, but nothing for mac.
Any insight into this?
Thanks!
i've tested crashdumper in haxeflixel flash.
it can work, but flashplayer shows more error compared to crashdumper
C:/HaxeToolkit/haxe/lib/crashdumper/git/crashdumper/hooks/Util.hx:71: characters 3-23 : haxe.Http has no field fileTransfer (Suggestion: fileTransfert)
Without hxssl in the project.xml file, everything works fine.
At least, in my opinion. E.g.
openfl._legacy.display.Stage.__pollTimers (openfl/_legacy/display/Stage.hx line 1084)
openfl._legacy.display.Stage.__checkRender (openfl/_legacy/display/Stage.hx line 351)
openfl._legacy.display.Stage.__render (openfl/_legacy/display/Stage.hx line 1103)
openfl._legacy.display.DisplayObjectContainer.__broadcast (openfl/_legacy/display/DisplayObjectContainer.hx line 286)
openfl._legacy.display.DisplayObject.__broadcast (openfl/_legacy/display/DisplayObject.hx line 161)
openfl._legacy.display.DisplayObject.__dispatchEvent (openfl/_legacy/display/DisplayObject.hx line 182)
openfl._legacy.events.EventDispatcher.dispatchEvent (openfl/_legacy/events/EventDispatcher.hx line 98)
flixel.FlxGame.onEnterFrame (flixel/FlxGame.hx line 530)
flixel.FlxGame.step (flixel/FlxGame.hx line 663)
flixel.FlxGame.update (flixel/FlxGame.hx line 750)
flixel.input.mouse.FlxMouseEventManager.update (flixel/input/mouse/FlxMouseEventManager.hx line 404)
minigames.general.NiceButton.clickHandler (minigames/general/NiceButton.hx line 137)
ConfirmExitSubState.yes (ConfirmExitSubState.hx line 49)
Main.crashOnPurpose (Main.hx line 230)
Currently I think it would make sense to display crashOnPurpose
rather than __pollTimers
, since a heck of a lot of stack traces would start with that.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.