matzman666 / PyPipboyApp

A platform independent and extensible unofficial Fallout 4 Pipboy Companion App
GNU General Public License v3.0
83 stars 20 forks source link

Crash: Segmentation fault: 11 #51

Closed luckydonald closed 8 years ago

luckydonald commented 8 years ago

I reconnected. It crashed.

System: Mac OS 10.9.5 Python 3.5 (via brew) Using virtual env (sip and PyQt5 from brew too).

F1 2016-02-12 23:45:57,701 INFO Connection State Changed: True - 0 -
Traceback (most recent call last):
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 317, in _dispatchMessageLoop
    self._fireMessageEvent(msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 233, in _fireMessageEvent
    listener[1](msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 479, in _onMessageReceived
    parser.parse(msg.payload, self._onRecordParsed)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/dataparser.py", line 127, in parse
    callback(DataUpdateRecord(nodeID, valuetype, value))
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 502, in _onRecordParsed
    raise RuntimeError('Tangling reference ' + str(r[1]))
RuntimeError: Tangling reference 10405
Exception in thread Thread-11:
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 317, in _dispatchMessageLoop
    self._fireMessageEvent(msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 233, in _fireMessageEvent
    listener[1](msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 479, in _onMessageReceived
    parser.parse(msg.payload, self._onRecordParsed)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/dataparser.py", line 127, in parse
    callback(DataUpdateRecord(nodeID, valuetype, value))
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 502, in _onRecordParsed
    raise RuntimeError('Tangling reference ' + str(r[1]))
RuntimeError: Tangling reference 10405

F1 2016-02-12 23:46:04,965 INFO Connection State Changed: False - 0 - None
F1 2016-02-12 23:46:09,906 INFO Connecting to host 192.168.178.42:27000 Retry=True
F1 2016-02-12 23:46:09,955 INFO Successfully connected to 192.168.178.42:27000.
F1 2016-02-12 23:46:09,955 INFO Host Version: 1.1.30.0.
F1 2016-02-12 23:46:09,955 INFO Host Language: de.
F1 2016-02-12 23:46:09,955 INFO Connection State Changed: True - 0 -
Traceback (most recent call last):
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 317, in _dispatchMessageLoop
    self._fireMessageEvent(msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 233, in _fireMessageEvent
    listener[1](msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 479, in _onMessageReceived
    parser.parse(msg.payload, self._onRecordParsed)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/dataparser.py", line 127, in parse
    callback(DataUpdateRecord(nodeID, valuetype, value))
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 526, in _onRecordParsed
    self._onRootObjectKnown()
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 561, in _onRootObjectKnown
    self._fireRootObjectEvent(self.rootObject)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 567, in _fireRootObjectEvent
    listener(rootObject)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/widgets/shared/characterdatamanager.py", line 41, in _onPipRootObjectEvent
    self.pipInvCatBooks = self.pipInventoryInfo.child('30')
AttributeError: 'NoneType' object has no attribute 'child'
Exception in thread Thread-13:
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 317, in _dispatchMessageLoop
    self._fireMessageEvent(msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 233, in _fireMessageEvent
    listener[1](msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 479, in _onMessageReceived
    parser.parse(msg.payload, self._onRecordParsed)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/dataparser.py", line 127, in parse
    callback(DataUpdateRecord(nodeID, valuetype, value))
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 526, in _onRecordParsed
    self._onRootObjectKnown()
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 561, in _onRootObjectKnown
    self._fireRootObjectEvent(self.rootObject)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 567, in _fireRootObjectEvent
    listener(rootObject)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/widgets/shared/characterdatamanager.py", line 41, in _onPipRootObjectEvent
    self.pipInvCatBooks = self.pipInventoryInfo.child('30')
AttributeError: 'NoneType' object has no attribute 'child'

F1 2016-02-12 23:46:42,806 INFO Connection State Changed: False - -2 - Host terminated connection. (<class 'Exception'>)
F1 2016-02-12 23:47:39,878 INFO Connecting to host 192.168.178.42:27000 Retry=False
F1 2016-02-12 23:47:39,910 INFO Successfully connected to 192.168.178.42:27000.
F1 2016-02-12 23:47:39,913 INFO Host Version: 1.1.30.0.
F1 2016-02-12 23:47:39,916 INFO Host Language: de.
F1 2016-02-12 23:47:39,916 INFO Connection State Changed: True - 0 -
Traceback (most recent call last):
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 317, in _dispatchMessageLoop
    self._fireMessageEvent(msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 233, in _fireMessageEvent
    listener[1](msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 479, in _onMessageReceived
    parser.parse(msg.payload, self._onRecordParsed)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/dataparser.py", line 127, in parse
    callback(DataUpdateRecord(nodeID, valuetype, value))
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 502, in _onRecordParsed
    raise RuntimeError('Tangling reference ' + str(r[1]))
RuntimeError: Tangling reference 10405
Exception in thread Thread-16:
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 317, in _dispatchMessageLoop
    self._fireMessageEvent(msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 233, in _fireMessageEvent
    listener[1](msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 479, in _onMessageReceived
    parser.parse(msg.payload, self._onRecordParsed)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/dataparser.py", line 127, in parse
    callback(DataUpdateRecord(nodeID, valuetype, value))
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 502, in _onRecordParsed
    raise RuntimeError('Tangling reference ' + str(r[1]))
RuntimeError: Tangling reference 10405

F1 2016-02-12 23:48:34,477 INFO Connection State Changed: False - 0 - None
F1 2016-02-12 23:49:35,657 INFO Connecting to host 192.168.178.42:27000 Retry=False
2016-02-12 23:49:37.294 python[79259:507] modalSession has been exited prematurely - check for a reentrant call to endModalSession:
F1 2016-02-12 23:49:41,657 INFO Connecting to host 192.168.178.42:27000 Retry=True
F1 2016-02-12 23:49:41,683 INFO Successfully connected to 192.168.178.42:27000.
F1 2016-02-12 23:49:41,684 INFO Host Version: 1.1.30.0.
F1 2016-02-12 23:49:41,684 INFO Host Language: de.
F1 2016-02-12 23:49:41,684 INFO Connection State Changed: True - 0 -
Traceback (most recent call last):
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 317, in _dispatchMessageLoop
    self._fireMessageEvent(msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 233, in _fireMessageEvent
    listener[1](msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 479, in _onMessageReceived
    parser.parse(msg.payload, self._onRecordParsed)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/dataparser.py", line 127, in parse
    callback(DataUpdateRecord(nodeID, valuetype, value))
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 502, in _onRecordParsed
    raise RuntimeError('Tangling reference ' + str(r[1]))
RuntimeError: Tangling reference 10405
Exception in thread Thread-19:
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 317, in _dispatchMessageLoop
    self._fireMessageEvent(msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 233, in _fireMessageEvent
    listener[1](msg)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 479, in _onMessageReceived
    parser.parse(msg.payload, self._onRecordParsed)
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/dataparser.py", line 127, in parse
    callback(DataUpdateRecord(nodeID, valuetype, value))
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/datamanager.py", line 502, in _onRecordParsed
    raise RuntimeError('Tangling reference ' + str(r[1]))
RuntimeError: Tangling reference 10405

F1 2016-02-12 23:50:10,819 INFO Connection State Changed: False - 0 - None
F1 2016-02-12 23:50:12,178 INFO Found host 192.168.178.18
F1 2016-02-12 23:50:22,486 INFO Connecting to host 192.168.178.18:27000 Retry=False
2016-02-12 23:50:22.503 python[79259:507] -[NSApplication runModalSession:]: Use of freed session detected. Do not call runModalSession: after calling endModalSesion:.
F1 2016-02-12 23:50:22,507 INFO Successfully connected to 192.168.178.18:27000.
F1 2016-02-12 23:50:22,507 INFO Host Version: 1.3.47.0.
F1 2016-02-12 23:50:22,507 INFO Host Language: de.
F1 2016-02-12 23:50:22,507 INFO Connection State Changed: True - 0 -
Fatal Python error: Segmentation fault

Thread 0x000000011ad8a000 (most recent call first):
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 293 in wait
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/queue.py", line 164 in get
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 310 in _dispatchMessageLoop
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 862 in run
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 914 in _bootstrap_inner
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 882 in _bootstrap

Thread 0x000000011a2c7000 (most recent call first):
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 265 in _receiveMessageLoop
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 862 in run
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 914 in _bootstrap_inner
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 882 in _bootstrap

Thread 0x000000011900f000 (most recent call first):
  File "/Users/luckydonald__/git/PyPipboyApp-scriptsOnly/pypipboy/network.py", line 248 in _receiveMessageLoop
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 862 in run
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 914 in _bootstrap_inner
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 882 in _bootstrap

Current thread 0x00007fff76d05310 (most recent call first):
  File "pypipboyapp.py", line 235 in run
  File "pypipboyapp.py", line 817 in <module>
Segmentation fault: 11
matzman666 commented 8 years ago

Your Fallout 4 reports a very old version number (1.1.30.0). On what system do you run Fallout 4? Did you install any updates?

Tangling reference means that some data send by Fallout 4 references some other data that hasn't been send yet. You're the first one I know of that encountered that error, so I have no experience how to solve that problem. Could you update to the newest version and try again?

luckydonald commented 8 years ago

Okey, then that is probably a fault on my end, as I try to implement my own server (the game side). luckydonald/JavaPipBoyServer, a work in progress. At least I now know why the Android app doesn't display anything.

Sorry for the trouble.

luckydonald commented 8 years ago

On that matter, do you have documentation about the protocol?

matzman666 commented 8 years ago

The data needs to be send in order to avoid tangling references. So before sending over an array or object you need to ensure that the data referenced by the array or object has already been send.

Also, just sending data is not enough for the official Android app. My application implements a relay mode that sends received data to another instance. I didn't get this working with the official app, it connects but then it just seems to wait for something that never happens. There must be an additional step that tells the app that all data has been transferred and it can start to display it. I haven't found it yet.

luckydonald commented 8 years ago

I noticed the App sending Command 14 when the tab is changed, or after a long time the display is touched.

matzman666 commented 8 years ago

Command 14 is named "ClearIdle" in the sources of the official app.

luckydonald commented 8 years ago

Will something special happen on the server side? Maybe that part is missing to be accepted by the official app?